摘要:
An apparatus and method provides the capability of mirroring storage from a primary system to a mirrored system in a way that uses parallelism in the mirrored system to maximize the efficiency of writing data to the mirrored storage for operations that do not conflict while serializing operations that do conflict. The mirroring of the present invention is “logical mirroring”, which does not require identical disk drives, and which supports mirroring between geographically remote locations to protect against catastrophic site failure. Parallelism is achieved in the mirrored system by dividing the virtual address space into multiple ranges, and by assigning a group of tasks to each range. When an operation is received on the mirrored system, the virtual address range that the operation affects is determined, and the operation is then delegated to the task group that corresponds to the affected virtual address range. By dividing the virtual address space into ranges, tasks in different ranges (i.e., in different task groups) may execute in parallel without any threat of conflict, and even tasks within the same range may execute in parallel if they operate in different portions of the range.
摘要:
A method for partitioning keys onto radix tree logical pages and a parallel index page build algorithm in order to provide radix tree build speedup proportional to the number of processors on the system and controlled efficient page utilization. Also, since keys are intelligently partitioned so that a complete set of keys is inserted into a logical page, there is no page overflow during the tree construction and thus page splitting is eliminated. Since radix index trees are really groups of logical pages in which each logical page contains a small tree, the tree is built (with respect to the logical pages) from the bottom up, while within each individual logical page the tree is constructed from the top down. The space required for a logical page is pre-allocated to allow construction of limbs to begin without waiting for the build of their underlying pages to complete.
摘要:
A method and apparatus for transparently handling recurring correctable errors and uncorrectable errors in a mirrored memory system prevents costly system shutdowns for correctable memory errors or system failures from uncorrectable memory errors. When a high number of correctable errors are detected for a given memory location, a memory relocation mechanism in the hypervisor moves the data associated with the memory location to an alternate physical memory location transparently to the partition such that the partition has no knowledge that the physical memory actualizing the memory location has been changed. When a correctable error occurs, the memory relocation mechanism uses data from a partner mirrored memory block as a data source for the memory block with the uncorrectable error and then relocates the data to a newly allocated memory block to replace the memory block with the uncorrectable error.
摘要:
An apparatus and method retrieves a database record from an in-memory database of a parallel computer system using a non-unique key. The parallel computer system performs a simultaneous search on each node of the computer system using the non-unique key and then utilizes a global combining network to combine the local results from the searches of each node to efficiently and quickly search the entire database.
摘要:
A soft lock mechanism controls access by multiple processes to a shared resource to make simultaneous access an unlikely event, while not necessarily preventing simultaneous access. Preferably, the soft lock contains a next_free_time field, specifying when the soft lock will next be available, and a lock_duration, specifying a sufficiently long interval for most accesses to the resource to complete. The lock is obtained by comparing the current time to next_free_time. If the current time is later than next_free_time, then the lock is obtained immediately, and next_free_time is updated to the current time plus lock_duration. If the current time is before next_free_time, then next_free_time is incremented by lock_duration, and the requesting process waits until the old next_free_time to obtain the lock. No action is required to release the lock.
摘要:
A method and computer program product are provided for implementing highly concurrent record insertion in an ordinal number dependent database. Serialized processing is provided with one concurrent task of multiple concurrent tasks allowed to execute, for allocation of ordinal numbers for record insertion. Concurrent validation processing operations of multiple concurrent tasks are enabled for record insertion in the ordinal number dependent database. A set of counter variables are maintained with the database to enable removal of serialization from the validation phase processing operations for record insertion in the ordinal number dependent database.
摘要:
A soft lock mechanism controls access by multiple processes to a shared resource to make simultaneous access an unlikely event, while not necessarily preventing simultaneous access. Preferably, the soft lock contains a next_free_time field, specifying when the soft lock will next be available, and a lock_duration, specifying a sufficiently long interval for most accesses to the resource to complete. The lock is obtained by comparing the current time to next_free_time. If the current time is later than next_free_time, then the lock is obtained immediately, and next_free_time is updated to the current time plus lock_duration. If the current time is before next_free_time, then next_free_time is incremented by lock_duration, and the requesting process waits until the old next_free_time to obtain the lock. No action is required to release the lock.
摘要:
An apparatus and method retrieves a database record from an in-memory database of a parallel computer system using a non-unique key. The parallel computer system performs a simultaneous search on each node of the computer system using the non-unique key and then utilizes a global combining network to combine the local results from the searches of each node to efficiently and quickly search the entire database.
摘要:
Methods, systems, and articles of manufacture for replacement of a failing processor of a multi-processor system running at least one operating system are provided. In contrast to the prior art, the replacement may be performed by system firmware without intervention by the operating system (i.e., the replacement may be transparent to the operating system). For some embodiments, the multi-processor system may be logically partitioned and the methods may be utilized to replace one or more shared or dedicated processors assigned to a logical partition, transparent to an operating system running on the partition.
摘要:
A relatively long, narrow defect in a digital image is repaired by identifying an elongated area to be repaired, and by automatically calculating pixel color/shade values within the area to be repaired from pixel values in the vicinity of the perimeter of the elongated area. Preferably, a user identifies an elongated rectangular area to be repaired on an interactive display. The computer automatically generates the pixel coordinates of a pair of parallel lines constituting the opposite long sides of the rectangle, and a set of line segments running between the long sides. The interior pixels of the rectangle are then filled by interpolating color values along each line segment. Since this method is not guaranteed to fill all pixels, the system optionally maintains a map of pixels filled and not filled while performing this method, and after completion, performs an additional step of assigning to any unfilled pixels a value based on the average of all adjacent pixels. For long, narrow defects, particularly those introduced by creasing, the automated digital image repair method herein described generally produces images without significant visually noticeable defects, and does so without undue effort on the part of the user.