← Back to Patent Explorer
US6338147B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Program products for performing checkpoint/restart of a parallel program

Assignee: International Business Machines Corp
•
Filing: 1998-10-29
•
Granted: 2002-01-08
•
Expires: 2018-10-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A checkpoint of a parallel program is taken in order to provide a consistent state of the program in the event the program is to be restarted. Each process of the parallel program is responsible for taking its own checkpoint, however, the timing of when the checkpoint is to be taken by each process is the responsibility of a coordinating process. During the checkpointing, various data is written to a checkpoint file. This data includes, for instance, in-transit message data, a data section, file offsets, signal state, executable information, stack contents and register contents. The checkpoint file can be stored either in local or global storage. When it is stored in global storage, migration of the program is facilitated. When a parallel program is to be restarted, each process of the program initiates its own restart. The restart logic restores the process to the state at which the checkpoint was taken.

Inventors

  • 👤 Kalman Zvi Meth
  • 👤 Anton Prenneis
  • 👤 Adnan M. Agbaria
  • 👤 Patrick Francis Caffrey
  • 👤 William Joseph Ferrante
  • 👤 Su-Hsuan Huang
  • 👤 Demetrios K. Michailaros
  • 👤 William Gole Tuel, Jr.

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 20:24
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/1446; G06F11/1458

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 145 words
An article of manufacture, comprising: at least one computer usable medium having computer readable program code means embodied therein for causing the checkpointing of parallel programs, the computer readable program code means in said article of manufacture comprising: computer readable program code means for causing a computer to take a checkpoint of a parallel program, said parallel program comprising a plurality of processes, and wherein said computer readable program code means for causing a computer to take a checkpoint comprises: computer readable program code means for causing a computer to write, by a process of said plurality of processes, message data to a checkpoint file corresponding to said process, said message data including an indication that there are no messages, or including one or more intransit messages between said process writing the message data and one or more other processes of said plurality of processes.
Claim 2
Dependent Claim 145 words
An article of manufacture, comprising: at least one computer usable medium having computer readable program code means embodied therein for causing the checkpointing of parallel programs, the computer readable program code means in said article of manufacture comprising: computer readable program code means for causing a computer to take a checkpoint of a parallel program, said parallel program comprising a plurality of processes, and wherein said computer readable program code means for causing a computer to take a checkpoint comprises: computer readable program code means for causing a computer to write, by a process of said plurality of processes, message data to a checkpoint file corresponding to said process, said message data including an indication that there are no messages, or including one or more intransit messages between said process writing the message data and one or more other processes of said plurality of processes.
Claim 3
Dependent Claim 87 words
The article of manufacture of claim 1 , wherein said computer readable program code means for causing a computer to take a checkpoint further includes computer readable program code means for causing a computer to write, by a process of said plurality of processes, at least one of a data section, a signal state and one or more file offsets to a checkpoint file corresponding to said process writing said at least one of said data section, said signal state and said one or more file offsets.
Claim 4
Dependent Claim 79 words
The article of manufacture of claim 1 , wherein said computer readable program code means for causing a computer to take a checkpoint further includes computer readable program code means for causing a computer to write, by a process of said plurality of processes, at least one of executable information, stack contents and register contents to a checkpoint file corresponding to said process writing said at least one of said executable information, said stack contents and said register contents.
Claim 5
Dependent Claim 39 words
The article of manufacture of claim 1 , wherein said computer readable program code means for causing a computer to write said message data to said checkpoint file is performed without logging said message data to a log file.
Claim 6
Dependent Claim 21 words
The article of manufacture of claim 1 , wherein said checkpoint file is stored in local storage accessible by said process.
Claim 7
Dependent Claim 27 words
The article of manufacture of claim 1 , wherein said checkpoint file is stored in global storage accessible by said plurality of processes of said parallel program.
Claim 8
Dependent Claim 73 words
The article of manufacture of claim 1 , further comprising computer readable program code means for causing a computer to restore said process that wrote said message data to said checkpoint file, wherein said computer readable program code means for causing a computer to restore comprises computer readable program code means for causing a computer to copy said message data from said checkpoint file to memory of a computing unit executing said process.
Claim 9
Dependent Claim 29 words
The article of manufacture of claim 7 , wherein said computing unit executing said process is a different computing unit from when said checkpoint was taken by said process.
Claim 10
Dependent Claim 99 words
The article of manufacture of claim 1 , wherein said computer readable program code means for causing a computer to take a checkpoint further comprises computer readable program code means for causing a computer to take a checkpoint by a number of processes of said plurality of processes, wherein said computer readable program code means for causing a computer to take a checkpoint by said number of processes comprises computer readable program code means for causing a computer to write data to a number of checkpoint files, wherein each process of said number of processes takes a corresponding checkpoint.
Claim 11
Dependent Claim 32 words
The article of manufacture of claim 9 , further comprising computer readable program code means for causing a computer to coordinate the taking of said corresponding checkpoints by said number of processes.
Claim 12
Dependent Claim 99 words
The article of manufacture of claim 10 , wherein said computer readable program code means for causing a computer to coordinate comprises: computer readable program code means for causing a computer to send a ready message from each process of said number of processes to a coordinating task indicating readiness to take said corresponding checkpoint; and computer readable program code means for causing a computer to provide, by said coordinating task to said each process, a message indicating that said corresponding checkpoint is to be taken, said providing occurring after receipt of said ready message from said each process.
Claim 13
Dependent Claim 96 words
The article of manufacture of claim 11 , wherein said computer readable program code means for causing a computer to coordinate further comprises: computer readable program code means for causing a computer to send a done message from said each process to said coordinating task indicating completion of said corresponding checkpoint; and computer readable program code means for causing a computer to forward, by said coordinating task to said each process, a commit message indicating that said corresponding checkpoint is to be committed, said forwarding occurring after receipt of said done message from said each process.
Claim 14
Dependent Claim 64 words
The article of manufacture of claim 12 , further comprising: computer readable program code means for causing a computer to commit, by each process of said number of processes, to said corresponding checkpoint; and computer readable program code means for causing a computer to delete, by each process of said number of processes, any previous corresponding checkpoint information, after committing to said corresponding checkpoint.
Claim 15
Dependent Claim 137 words
At least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform a method of checkpointing parallel programs, said method comprising: taking a checkpoint by a process of a parallel program, said taking a checkpoint comprising: writing to a data section of said process at least one of a signal state and one or more file offsets; subsequently, writing said data section to a checkpoint file corresponding to said process; writing message data to said checkpoint file, said message data including an indication that there are no messages, or including one or more in-transit messages between said process and one or more other processes of said parallel program; and writing at least one of executable information, stack contents and register contents to said checkpoint file.
Claim 16
Dependent Claim 137 words
At least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform a method of checkpointing parallel programs, said method comprising: taking a checkpoint by a process of a parallel program, said taking a checkpoint comprising: writing to a data section of said process at least one of a signal state and one or more file offsets; subsequently, writing said data section to a checkpoint file corresponding to said process; writing message data to said checkpoint file, said message data including an indication that there are no messages, or including one or more in-transit messages between said process and one or more other processes of said parallel program; and writing at least one of executable information, stack contents and register contents to said checkpoint file.
Claim 17
Dependent Claim 41 words
The at least one program storage device of claim 14 , wherein said taking a checkpoint further comprises at least one of stopping message traffic of said process and blocking signals of said process, prior to writing to said data section.
Claim 18
Dependent Claim 36 words
The at least one program storage device of claim 15 , wherein said parallel program has a plurality of processes, and wherein said taking a checkpoint is performed by each process of said plurality of processes.
Claim 19
Dependent Claim 31 words
The at least one program storage device of claim 16 , wherein said method further comprises restoring said parallel program, said restoring using the checkpoints taken by said plurality of processes.
Claim 20
Dependent Claim 159 words
An article of manufacture comprising: at least one computer usable medium having computer readable program code means embodied therein for causing the restoring of parallel programs, the computer readable program code means in said article of manufacture comprising: computer readable program code means for causing a computer to restart one or more processes of a parallel program on one or more computing units, wherein at least one process of said one or more processes is restarted on a different computing unit from the computing unit that was previously used to take at least one checkpoint for said at least one process; and computer readable program code means for causing a computer to copy data stored in one or more checkpoint files corresponding to said one or more restarted processes into memory of said one or more computing units executing said one or more restarted processes, wherein said data restores said one or more restarted processes to an earlier state.
Claim 21
Dependent Claim 159 words
An article of manufacture comprising: at least one computer usable medium having computer readable program code means embodied therein for causing the restoring of parallel programs, the computer readable program code means in said article of manufacture comprising: computer readable program code means for causing a computer to restart one or more processes of a parallel program on one or more computing units, wherein at least one process of said one or more processes is restarted on a different computing unit from the computing unit that was previously used to take at least one checkpoint for said at least one process; and computer readable program code means for causing a computer to copy data stored in one or more checkpoint files corresponding to said one or more restarted processes into memory of said one or more computing units executing said one or more restarted processes, wherein said data restores said one or more restarted processes to an earlier state.
Claim 22
Dependent Claim 28 words
The article of manufacture of claim 18 , wherein said one or more checkpoint files are stored in global storage accessible by said one or more computing units.
Claim 23
Dependent Claim 100 words
At least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform a method of checkpointing parallel programs, said method comprising: indicating, by a process of a parallel program, that said process is ready to take a checkpoint; receiving, by said process, an indication to take said checkpoint; taking said checkpoint, wherein said taking said checkpoint comprises having said process copy data from memory associated with said process to a checkpoint file corresponding to said process; and indicating, by said process, completion of said taking of said checkpoint.
Claim 24
Dependent Claim 100 words
At least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform a method of checkpointing parallel programs, said method comprising: indicating, by a process of a parallel program, that said process is ready to take a checkpoint; receiving, by said process, an indication to take said checkpoint; taking said checkpoint, wherein said taking said checkpoint comprises having said process copy data from memory associated with said process to a checkpoint file corresponding to said process; and indicating, by said process, completion of said taking of said checkpoint.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-01-07 2005-07-09 2006-01-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-01-07 2009-07-09 2010-01-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-01-07 2013-07-09 2014-01-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag