Patent ID: 8103910
Filing Date: 2012-01-24
Classification: G06F

Abstract:
1. A computer-implemented method for performing a local rollback in a parallel computing system, the computing system including at least one computing node, the computing node including a processor and a cache memory device, the method comprising: determining a local rollback interval in an individual computing node of the computing system; storing state information of a processor in the individual computing node; running at least one instruction in the local rollback interval in the individual computing node; associating an ID tag with versions of data stored in the cache memory device and using the ID tag to distinguish the versions of data stored in the cache memory device while running the instruction during the local rollback interval, the versions of data stored in the cache memory device during the local rollback interval including: speculative version of data and non-speculative version of data; evaluating whether an unrecoverable condition occurs while running the at least one instruction during the local rollback interval; checking whether an error occurs in the individual computing node during the local rollback interval; upon the occurrence of the error and no occurrence of the unrecoverable condition, restoring the stored state information of the processor in the individual computing node, invalidating the speculative data; and restarting the local rollback interval in the individual computing node in response to determining that the error occurs in the individual computing node and that the unrecoverable condition does not occur in the individual computing node during the local rollback interval, wherein the restarting the local rollback interval in the individual computing node avoids restoring data from a previous checkpoint; evaluating whether a minimum interval length is reached in response to determining that the unrecoverable condition occurs, the minimum interval length referring to a least number of instructions or a least amount of time to run the local rollback interval; continuing a running of the local rollback interval until the minimum interval length is reached in response to determining that the minimum interval length is not reached; and committing one or more changes made before the occurrence of the unrecoverable condition in response to determining that the unrecoverable condition occurs and the minimum interval length is reached.