US2017357552A1PendingUtilityA1

Technologies for data center environment checkpointing

Assignee: INTEL CORPPriority: Jun 24, 2015Filed: Aug 7, 2017Published: Dec 14, 2017
Est. expiryJun 24, 2035(~8.9 yrs left)· nominal 20-yr term from priority
G06F 11/1438G06F 11/1469G06F 11/00G06F 2201/84G06F 11/1451
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Technologies for environment checkpointing include an orchestration node communicatively coupled to one or more working computing nodes. The orchestration node is configured to administer an environment checkpointing event by transmitting a checkpoint initialization signal to each of the one or more working computing nodes that have been registered with the orchestration node. Each working computing node is configured to pause and buffer any presently executing applications, save checkpointing data (an execution state of each of the one or more applications) and transmit the checkpointing data to the orchestration node. Other embodiments are described and claimed.

Claims

exact text as granted — not AI-modified
1 - 25 . (canceled) 
     
     
         26 . A method for performing a checkpointing event, the method comprising:
 receiving, by a hardware event monitor of a computing node, a checkpoint initialization signal from an orchestration node communicatively coupled to the computing node;   pausing, by a processor of the computing node, one or more applications presently executing on the computing node in response to receiving the checkpoint initialization signal;   buffering, by an input/output (I/O) buffering device of the computing node, input/output (I/O) signals of the one or more paused applications;   saving, by a hardware checkpoint support of the computing node, checkpointing data to a memory storage device of the computing node, wherein the checkpointing data includes an execution state of each of the one or more applications; and   transmitting, by the computing node, the checkpointing data to the orchestration node.   
     
     
         27 . The method of  claim 26 , further comprising locking, by the computing node, context of the computing node to block any new data received by the computing node from being processed by the computing node in response to receiving the checkpoint initialization signal. 
     
     
         28 . The method of  claim 27 , further comprising:
 receiving, by the hardware event monitor of a computing node, a checkpoint complete signal from the orchestration node; and   resuming the one or more paused applications in response to receiving the checkpoint complete signal.   
     
     
         29 . The method of  claim 28 , wherein resuming the one or more paused applications comprises (i) unlocking context of the computing node to allow any new data to be received by the computing node and (ii) releasing the input/output (I/O) signals of the one or more applications from the input/output (I/O) buffering device of the computing node. 
     
     
         30 . The method of  claim 26 , further comprising registering, by the computing node, with the orchestration node to provide an indication that the checkpointing event is to be initiated by the orchestration node. 
     
     
         31 . The method of  claim 30 , further comprising:
 receiving, by the computing node, environment checkpointing data from the orchestration node, wherein the environment checkpointing data includes execution state data of other computing nodes communicatively coupled to the orchestration node; and   storing, by the computing node, the environment checkpointing data in a local storage.   
     
     
         32 . The method of  claim 31 , further comprising:
 receiving, by the computing node, a checkpoint restore signal from the orchestration node;   loading, by the hardware checkpoint support, a saved execution state of at least one of the one or more applications into a memory of the computing node; and   resuming, by the computing node, execution of the at least one of the one or more applications from the saved execution stated loaded into the memory.   
     
     
         33 . The method of  claim 32 , wherein loading the saved execution state comprises loading a saved execution state based at least in part on the environment checkpointing data. 
     
     
         34 . The method of  claim 26 , further comprising:
 executing, by the computing node, a distributed application using a main thread initiated by the computing node;   wherein saving the checkpointing data comprises saving an execution state of the distributed application, and wherein the execution state is indicative of a virtual memory state of the distributed application.   
     
     
         35 . The method of  claim 34 , further comprising:
 saving memory pages, stored in a memory of the computing node, corresponding to a first application of the one or more applications in response to a determination that the first application is lagging behind the main thread; and   flushing memory pages, stored in the memory, corresponding to a second application of the one or more applications in response to a determination that the second application is working ahead of the main thread.   
     
     
         36 . The method of  claim 26 , wherein buffering the input/output (I/O) signals of the one or more paused applications comprises buffering memory access events. 
     
     
         37 . The method of  claim 26 , wherein buffering the input/output (I/O) signals of the one or more paused applications comprises buffering disk access events. 
     
     
         38 . The method of  claim 26 , wherein buffering the input/output (I/O) signals of the one or more paused applications comprises buffering network access events. 
     
     
         39 . A method for administering an environment checkpointing event, the method comprising:
 transmitting, by an orchestration node, a checkpoint initialization signal to each of a plurality of working computing nodes communicatively coupled to the orchestration node in response to an environment checkpoint initialization signal indicative of a checkpoint event;   receiving, by the orchestration node, checkpointing data from each working computing node in response to the checkpoint initialization signal, wherein the checkpoint data includes an execution state of at least one application of corresponding working computing node;   storing, by a memory storage device of the orchestration node, the received checkpointing data;   transmitting, by the orchestration node, a checkpoint complete signal to each of the plurality of working computing nodes.   
     
     
         40 . The method of  claim 39 , wherein transmitting the checkpoint complete signal to the plurality of working computing nodes comprises transmitting the checkpoint complete signal to the plurality of working computing nodes in response to a determination that the checkpointing data has been received from each of the plurality of working computing nodes. 
     
     
         41 . The method of  claim 39 , further comprising transmitting, by the orchestration node, the received checkpointing data from each of the plurality of working computing nodes to each of the plurality of working computing nodes communicatively coupled to and registered with the orchestration node. 
     
     
         42 . A computing node comprising:
 one or more processors; and   one or more memory devices having stored therein a plurality of instructions that, when executed by the one or more processors, cause the computing node to:
 pause one or more applications presently executed on the computing node; 
 buffer, by an input/output (I/O) buffering device, input/output (I/O) signals of the one or more paused applications; and 
 transmit checkpointing data indicative of an execution state of each of the one or more applications to a remote node. 
   
     
     
         43 . The computing node of  claim 42 , wherein to pause the one or more applications comprises to pause the one or more applications in response to receipt of a checkpoint initialization signal received from the remote node, and wherein the plurality of instructions, when executed, further cause the computing node to:
 lock context of the computing node to block any new data received by the computing node from being processed by the computing node in response to receipt of the checkpoint initialization signal.   
     
     
         44 . The computing node of  claim 43 , wherein the plurality of instructions, when executed by the one or more processors, further cause the computing node to:
 receive a checkpoint complete signal from the remote node, and   resume the one or more paused applications in response to having received the checkpoint complete signal, wherein to resume the one or more paused applications comprises to (i) unlock context of the computing node to allow any new data to be received by the computing node and (ii) release the input/output (I/O) signals of the one or more applications from the input/output (I/O) buffering device.   
     
     
         45 . The computing node of  claim 42 , wherein the plurality of instructions, when executed by the one or more processors, further cause the computing node to:
 save the checkpointing data to a memory storage device of the computing node, wherein the checkpointing data includes an execution state of each of the one or more applications; and   execute a distributed application using a main thread initiated by the computing node,   wherein to save the checkpointing data comprises to save an execution state of the distributed application, and wherein the execution state is indicative of a virtual memory state of the distributed application.   
     
     
         46 . An orchestration node comprising:
 one or more processors; and   one or more memory devices having stored therein a plurality of instructions that, when executed by the one or more processors, cause the orchestration node to:
 transmit a checkpoint initialization signal to each of a plurality of working computing nodes communicatively coupled to the orchestration node in response to an environment checkpoint initialization signal indicative of a checkpoint event, and 
 transmit a checkpoint complete signal to each of the plurality of working computing nodes in response to a determination that checkpointing data has been received from each corresponding working computing node, wherein the checkpoint data includes an execution state of at least one application of a corresponding working computing node. 
   
     
     
         47 . The orchestration node of  claim 46 , wherein the plurality of instructions, when executed, further cause the orchestration node to:
 receive checkpointing data from each working computing node in response to the checkpoint initialization signal, and   store the received checkpointing data, and   
     
     
         48 . The orchestration node of  claim 46 , wherein the plurality of instructions, when executed, further cause the orchestration node to transmit the received checkpointing data from each of the plurality of working computing nodes to each of the plurality of working computing nodes communicatively coupled to and registered with the orchestration node. 
     
     
         49 . One or more computer-readable storage media comprising a plurality of instructions stored thereon that, when executed by a computing node, cause the computing node to:
 pause one or more applications presently executed on the computing node;   buffer, by an input/output (I/O) buffering device, input/output (I/O) signals of the one or more paused applications; and   transmit checkpointing data indicative of an execution state of each of the one or more applications to a remote node.   
     
     
         50 . The one or more computer-readable storage media of  claim 49 , wherein to pause the one or more applications comprises to pause the one or more applications in response to receipt of a checkpoint initialization signal received from the remote node, and wherein the plurality of instructions, when executed, further cause the computing node to:
 lock context of the computing node to block any new data received by the computing node from being processed by the computing node in response to receipt of the checkpoint initialization signal.   
     
     
         51 . The one or more computer-readable storage media of  claim 50 , wherein the plurality of instructions, when executed by the computing node, further cause the computing node to:
 receive a checkpoint complete signal from the remote node, and   resume the one or more paused applications in response to having received the checkpoint complete signal, wherein to resume the one or more paused applications comprises to (i) unlock context of the computing node to allow any new data to be received by the computing node and (ii) release the input/output (I/O) signals of the one or more applications from the input/output (I/O) buffering device.   
     
     
         52 . The one or more computer-readable storage media of  claim 49 , wherein the plurality of instructions, when executed by the computing node, further cause the computing node to:
 save the checkpointing data to a memory storage device of the computing node, wherein the checkpointing data includes an execution state of each of the one or more applications; and   execute a distributed application using a main thread initiated by the computing node,   wherein to save the checkpointing data comprises to save an execution state of the distributed application, and wherein the execution state is indicative of a virtual memory state of the distributed application.   
     
     
         53 . One or more computer-readable storage media comprising a plurality of instructions stored thereon that, when executed by an orchestration node, cause the orchestration node to:
 transmit a checkpoint initialization signal to each of a plurality of working computing nodes communicatively coupled to the orchestration node in response to an environment checkpoint initialization signal indicative of a checkpoint event, and   transmit a checkpoint complete signal to each of the plurality of working computing nodes in response to a determination that checkpointing data has been received from each corresponding working computing node, wherein the checkpoint data includes an execution state of at least one application of a corresponding working computing node.   
     
     
         54 . The one or more computer-readable storage media of  claim 53 , wherein the plurality of instructions, when executed, further cause the orchestration node to:
 receive checkpointing data from each working computing node in response to the checkpoint initialization signal, and   store the received checkpointing data, and   
     
     
         55 . The one or more computer-readable storage media of  claim 53 , wherein the plurality of instructions, when executed, further cause the orchestration node to transmit the received checkpointing data from each of the plurality of working computing nodes to each of the plurality of working computing nodes communicatively coupled to and registered with the orchestration node.

Join the waitlist — get patent alerts

Track US2017357552A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.