Abstract:
Administering registered virtual addresses in a hybrid computing environment that includes a host computer, an accelerator, the accelerator architecture optimized, with respect to the host computer architecture, for speed of execution of a particular class of computing functions, the host computer and the accelerator adapted to one another for data communications by a system level message passing module, where administering registered virtual addresses includes maintaining a cache of ranges of currently registered virtual addresses, the cache including entries associating a range of currently registered virtual addresses, a handle representing physical addresses mapped to the range of currently registered virtual addresses, and a counter; determining whether to register ranges of virtual addresses in dependence upon the cache of ranges of currently registered virtual addresses; and determining whether to deregister ranges of virtual addresses in dependence upon the cache of ranges of currently registered virtual addresses.
Abstract:
Exemplary methods, systems, and products are described for executing an overall quantity of data processing within an overall processing period that include executing repeatedly through a series of iterations a portion of the overall quantity of data processing that can be completed in a set processing period, wherein each iteration includes the set processing period and a variable delay period and calculating the variable delay period for an iteration in dependence upon the set processing period, a portion of the overall quantity of data processing performed during the set processing period of the iteration, the overall quantity of data processing, and the overall processing period.
Abstract:
Administering registered virtual addresses in a hybrid computing environment that includes a host computer, an accelerator, the accelerator architecture optimized, with respect to the host computer architecture, for speed of execution of a particular class of computing functions, the host computer and the accelerator adapted to one another for data communications by a system level message passing module, where administering registered virtual addresses includes maintaining a cache of ranges of currently registered virtual addresses, the cache including entries associating a range of currently registered virtual addresses, a handle representing physical addresses mapped to the range of currently registered virtual addresses, and a counter; determining whether to register ranges of virtual addresses in dependence upon the cache of ranges of currently registered virtual addresses; and determining whether to deregister ranges of virtual addresses in dependence upon the cache of ranges of currently registered virtual addresses.
Abstract:
In response to a hypervisor page fault for memory that is not resident in a shared memory pool, an I/O paging request is sent to an external storage paging space. In response to a paging service partition encountering an I/O paging error, a paging failure indication is sent to the hypervisor. A simulated machine check interrupt instruction is sent from the hypervisor to the shared memory partition and a machine check handler obtains control. The machine check handler performs data analysis utilizing an error log in an attempt to isolate the I/O paging error to a process or a set of processes in the shared memory partition. The process or set of processes associated with the I/O paging error, or the shared memory partition itself, may be terminated. Finally, the shared memory partition may clear or initialize the page associated with the I/O paging error.
Abstract:
Replacing a failing physical processor in a computer supporting multiple logical partitions, where the logical partitions include dedicated partitions and shared processor partitions, the dedicated partitions are supported by virtual processors having assigned physical processors, and the shared processor partitions are supported by pools of virtual processors. The pools of virtual processors have assigned physical processors. Embodiments operate generally by assigning priorities to the dedicated partitions and to the pools of virtual processors; detecting a checkstop of a failing physical processor; retrieving the failing physical processor's state; replacing by a hypervisor the failing physical processor with a replacement physical processor assigned to a dedicated partition or pool, which dedicated partition or pool has the lowest priority among the priorities of the dedicated partitions and pools; and assigning the retrieved state of the failing physical processor as the state of the replacement physical processor.
Abstract:
Methods, apparatus, and products are disclosed for parallel execution of operations for a partitioned binary radix tree that include: receiving, in a parallel computer, an operational entry for the PBRT, the PBRT comprising a plurality of logical pages that contain a plurality of entries, each logical page included in a tier and containing one or more subentries corresponding to the tier of the logical page containing the subentry, each entry is composed of a subentry from each logical page on an entry path; processing in parallel, on the parallel computer, each logical page in each tier, including: identifying a portion of the operational entry that corresponds to the tier of the logical page, and performing an operation on the logical page in dependence upon the identified portion of the operational entry for the tier; and selecting operation results from the logical pages on the entry path for the operational entry.
Abstract:
System control over the logging of objects in order to meet the user specified recovery requirements. Under the fixed recovery time environment, the user chooses a length of time to be spent on object recovery, and the system dynamically manages the logging of objects to meet this time. The shorter the time the user chooses, the more objects the system will log, and the more performance degradation there will be as a result of the logging at run-time. The user may partition storage into Auxiliary Storage Pools (ASPs), which are groups of non-volatile storage, and then specify the recovery time on a per ASP basis. Under the minimal impact environment, the system dynamically manages the objects to be logged such that the object logging has a minimal impact on run-time performance.
Abstract:
System control over the logging of objects in order to meet the user specified recovery requirements. Under the fixed recovery time environment, the user chooses a length of time to be spent on object recovery, and the system dynamically manages the logging of objects to meet this time. The shorter the time the user chooses, the more objects the system will log, and the more performance degradation there will be as a result of the logging at run-time. The user may partition storage into Auxiliary Storage Pools (ASPs), which are groups of non-volatile storage, and then specify the recovery time on a per ASP basis. Under the minimal impact environment, the system dynamically manages the objects to be logged such that the object logging has a minimal impact on run-time performance.
Abstract:
An in use table manager in a computer system uses an in use table to track the use of files, or objects. The in use table is used to determine which objects may need recovery in the event of a system failure. Object addresses are hashed by the in use manager to identify a preferred slot in the table. The slots contain information identifying the object, and indicating the extent of use of the object. The in use manager assigns alternate slots, and dynamically changes the size of the in use table to reduce contention for slots. Several atomic operations on the table ensure integrity of the table, while permitting concurrent use. Portions of the table are bundled into single I/O operations to enhance system performance by minimizing I/O.
Abstract:
Optimization I/O buffers are used to write data into or read data from auxiliary storage using a double buffering scheme. When a user wants to send data to auxiliary storage, the first buffer is filled with data and the contents are asynchronously written to auxiliary storage. Without waiting for the asynchronous write to complete, the second buffer is filled with data. When the second buffer is filled, the contents of the second buffer are asynchronously written to auxiliary storage. If the first buffer has not completed its write operation by this point, the buffers are determined to be too small and the size of both buffers is increased. Control switches back and forth between these two buffers until all of the desired data is sent to auxiliary storage. The size of the buffers is increased until the computer system does not have to synchronously wait for one buffer to complete its write operation before it can refill that buffer with new data. Ideally, the first buffer should complete its write operation when the second buffer is filled beyond a predetermined threshold percentage, such as one half. If the first buffer completes its write operation before the second buffer is filled beyond the predetermined threshold percentage, the buffers are determined to be too large and the size of both buffers are decreased. The size of the buffers is dynamically increased and decreased as needed to achieve an optimum size based on the unique and dynamically changing computer environment.