Patent ID: 7536591

Claim:
A compute node capable of operating as part of a distributed system, comprising: memory; and a processor configured to: access the memory to perform a process in a distributed computation running on the distributed system; record a first set of memory locations modified by the processor during a first checkpoint interval; create a checkpoint from the contents of the first set of memory locations by storing the contents of the first set of memory locations in a certain order while recording a second set of memory locations modified by the processor during a second checkpoint interval; write protect the first set of memory locations before modifying the second set of memory locations; store the contents of a memory location from the first set earlier than it would otherwise be stored when the processor needs to modify the memory location during the second checkpoint interval; and remove the write protection for a memory location from the first set when the processor needs to modify the memory location during the second checkpoint interval after the contents of the memory location have been stored.