Transparent checkpointing and process migration in a distributed system
5 Assignments
0 Petitions
Accused Products
Abstract
A distributed system for creating a checkpoint for a plurality of processes running on the distributed system. The distributed system includes a plurality of compute nodes with an operating system executing on each compute node. A checkpoint library resides at the user level on each of the compute nodes, and the checkpoint library is transparent to the operating system residing on the same compute node and to the other compute nodes. Each checkpoint library uses a windowed messaging logging protocol for checkpointing of the distributed system. Processes participating in a distributed computation on the distributed system may be migrated from one compute node to another compute node in the distributed system by re-mapping of hardware addresses using the checkpoint library.
-
Citations
109 Claims
-
1-46. -46. (canceled)
-
47. 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, the processor being further configured to record a first set of memory locations modified by the processor during a first checkpoint interval, and create a checkpoint from the contents of the first set of memory locations, while recording a second set of memory locations modified by the processor during a second checkpoint interval. - View Dependent Claims (48, 49, 50, 51, 52, 53, 54, 55, 56, 57)
-
-
58. A compute node capable of operating as part of a distributed system, comprising:
-
memory; and
a processor configured to perform a process in a distributed computation running on the distributed system, the processor being further configured to store in the memory a copy of each message output from the compute node until an acknowledgement is received, the processor being further configured to create a checkpoint, and if a subsequent failure occurs, roll the compute node back to the checkpoint and output each message copied in the memory that does not receive an acknowledgement after the compute node is rolled back to the checkpoint. - View Dependent Claims (59)
-
-
60. A compute node capable of operating as part of a distributed system, comprising:
a processor configured to perform a process in a distributed computation running on the distributed system, the processor being further configured to receive messages, and output an acknowledgement for each message received, the processor being further configured to create a checkpoint, and if a subsequent failure occurs, roll the compute node back to the checkpoint, recognize and discard duplicate messages received by the compute node after the compute node is rolled back to the checkpoint, and for each duplicate message, output an acknowledgement. - View Dependent Claims (61)
-
62. A compute node capable of operating as part of a distributed system, comprising:
a processor configured to perform a process in a distributed computation running on the distributed system, the processor being further configured to create a checkpoint for the process, and in response to a preemptive scheduling request, store the checkpoint to non-volatile memory and halt the process. - View Dependent Claims (63, 64, 65)
-
66. Computer readable media embodying a program of instructions executable by a processor to perform a method of creating a checkpoint for a process in a distributed computation running on a distributed system, the method comprising:
-
recording a first set of memory locations modified by the process during a first checkpoint interval; and
creating a checkpoint from the contents of the first set of memory locations, while recording a second set of memory locations modified by the process during a second checkpoint interval. - View Dependent Claims (67, 68, 69, 70, 71, 72, 73, 74, 75, 76)
-
-
77. Computer readable media embodying a program of instructions executable by a processor to perform a method of creating a checkpoint for a process in a distributed computation running on a distributed system, the process being performed by a compute node, the method comprising:
-
storing in a memory a copy of each message output from the compute node until an acknowledgement is received;
creating a checkpoint for the process;
rolling compute node back to the checkpoint in response to a failure; and
outputting each message copied in the memory that does not receive an acknowledgement after the compute node is rolled back to the checkpoint. - View Dependent Claims (78)
-
-
79. Computer readable media embodying a program of instructions executable by a processor to perform a method of creating a checkpoint for a process in a distributed computation running on a distributed system, the process being performed by a compute node, the method comprising:
-
outputting an acknowledgement for each message received by the compute node;
creating a checkpoint for the process;
rolling the compute node back to the checkpoint in response to a failure; and
recognizing and discarding duplicate messages received by the compute node after the compute node is rolled back to the checkpoint, and for each duplicate message, outputting an acknowledgement. - View Dependent Claims (80)
-
-
81. Computer readable media embodying a program of instructions comprising a checkpoint library executable by a processor having access to an operating system and a distributed application to perform a process in a distributed computation running on a distributed system, the checkpoint library comprising:
instructions to create a checkpoint for the process, the creation of the checkpoint being transparent to the operating system and the distributed application. - View Dependent Claims (82, 83)
-
84. Computer readable media embodying a program of instructions executable by a processor to perform a method of creating a checkpoint for a process in a distributed computation running on a distributed system, the method comprising:
-
creating a checkpoint for the process; and
storing the checkpoint to non-volatile memory and halting the process in response to a preemptive scheduling request. - View Dependent Claims (85, 86, 87)
-
-
88. A method of creating a checkpoint for a process in a distributed computation running on a distributed system, the method comprising:
-
recording a first set of memory locations modified by the process during a first checkpoint interval; and
creating a checkpoint from the contents of the first set of memory locations, while recording a second set of memory locations modified by the process during a second checkpoint interval. - View Dependent Claims (89, 90, 91, 92, 93, 94, 95, 96, 97, 98)
-
-
99. A method of creating a checkpoint for a process in a distributed computation running on a distributed system, the process being performed by a compute node, the method comprising:
-
storing in a memory a copy of each message output from the compute node until an acknowledgement is received;
creating a checkpoint for the process;
rolling compute node back to the checkpoint in response to a failure; and
outputting each message copied in the memory that does not receive an acknowledgement after the compute node is rolled back to the checkpoint. - View Dependent Claims (100)
-
-
101. A method of creating a checkpoint for a process in a distributed computation running on a distributed system, the process being performed by a compute node, the method comprising:
-
outputting an acknowledgement for each message received by the compute node;
creating a checkpoint for the process;
rolling the compute node back to the checkpoint in response to a failure; and
recognizing and discarding duplicate messages received by the compute node after the compute node is rolled back to the checkpoint, and for each duplicate message, outputting an acknowledgement. - View Dependent Claims (102)
-
-
103. A method of creating a checkpoint for a process in a distributed computation running on a distributed system, the method comprising:
-
creating a checkpoint for the process; and
storing the checkpoint to non-volatile memory and halting the process in response to a preemptive scheduling request. - View Dependent Claims (104, 105, 106)
-
-
107. A method of migrating a process in a distributed computation running on a distributed system from a first compute node to a second compute node in the distributed system, each of the first and second compute nodes having an operating system, the method comprising:
-
creating a checkpoint for the process in the first compute node; and
migrating the process to the second compute node by providing the second compute node with the checkpoint without migrating the operating system from the first compute node to the second compute node. - View Dependent Claims (108, 109)
-
Specification