Checkpoint triggering in a computer system
AssigneeInternational Business Machines Corporation
InventorChen-Yong Cher
Life of this patent
Estimating the term…
Abstract
According to an aspect, a method for triggering creation of a checkpoint in a computer system includes executing a task in a processing node of the computer system and determining whether it is time to read a monitor associated with a metric of the task. The monitor is read to determine a value of the metric based on determining that it is time to read the monitor. A threshold for triggering creation of the checkpoint is determined based on the value of the metric. Based on determining that the value of the metric has crossed the threshold, the checkpoint including state data of the task is created to enable restarting execution of the task upon a restart operation.
Claims13
A method for triggering creation of a checkpoint in a computer system, the method comprising:
- executing a task in a processing node of the computer system;
- determining whether it is time to read a monitor associated with a metric of the task;
- reading the monitor to determine a value of the metric based on determining that it is time to read the monitor;
- recording the value of the metric in a history buffer;
- determining a threshold for triggering creation of the checkpoint based on the value of the metric, wherein the threshold is computed based on a combination of multiple values of the metric stored in the history buffer by comparing the multiple values of the metric stored in the history buffer to identify a program phase indicative of reduced memory utilization and setting the threshold to align with the program phase;
- determining a monitoring block size for the checkpoint;
- determining a checkpoint interval based on the monitoring block size, a checkpoint bandwidth, and a failure rate of the computer system;
- and
- based on determining that the value of the metric has crossed the threshold and determining that the checkpoint interval has elapsed, creating the checkpoint comprising state data of the task to enable restarting execution of the task upon a restart operation.
A processing node for triggering creation of a checkpoint in a computer system, the processing node comprising:
- a memory;
- and
- a processing circuit coupled to the memory and configured to perform a method comprising:
- executing a task;
- determining whether it is time to read a monitor associated with a metric of the task;
- reading the monitor to determine a value of the metric based on determining that it is time to read the monitor;
- recording the value of the metric in a history buffer;
- determining a threshold for triggering creation of the checkpoint based on the value of the metric, wherein the threshold is computed based on a combination of multiple values of the metric stored in the history buffer by comparing the multiple values of the metric stored in the history buffer to identify a program phase indicative of reduced memory utilization and setting the threshold to align with the program phase;
- determining a monitoring block size for the checkpoint
- determining a checkpoint interval based on the monitoring block size, a checkpoint bandwidth, and a failure rate of the computer system;
- based on determining that the value of the metric has crossed the threshold and determining that the checkpoint interval has elapsed, creating the checkpoint comprising state data of the task to enable restarting execution of the task upon a restart operation;
- monitoring the computer system for failures;
- and
- dynamically adjusting the failure rate of the computer system based on a number of computer system failures detected over a period of time.
A computer program product for triggering creation of a checkpoint in a computer system, the computer program product comprising:
- a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit to perform a method comprising:
- executing a task in a processing node of the computer system;
- determining whether it is time to read a monitor associated with a metric of the task;
- reading the monitor to determine a value of the metric based on determining that it is time to read the monitor;
- recording the value of the metric in a history buffer;
- determining a threshold for triggering creation of the checkpoint based on the value of the metric, wherein the threshold is computed based on a combination of multiple values of the metric stored in the history buffer by comparing the multiple values of the metric stored in the history buffer to identify a program phase indicative of reduced memory utilization and setting the threshold to align with the program phase;
- determining a monitoring block size for the checkpoint;
- determining a checkpoint interval based on the monitoring block size, a checkpoint bandwidth, and a failure rate of the computer system;
- based on determining that the value of the metric has crossed the threshold and determining that the checkpoint interval has elapsed, creating the checkpoint comprising state data of the task to enable restarting execution of the task upon a restart operation;
- monitoring the computer system for failures;
- and
- dynamically adjusting the failure rate of the computer system based on a number of computer system failures detected over a period of time.
Dependencies are inferred from the claim text.