IP Library Granted Patent US 9,436,552
Granted Patent B2
US 9,436,552 · App. 14/302,947 · Granted Sep 6, 2016

Checkpoint triggering in a computer system

Inventor: Chen-Yong Cher (Port Chester, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F11/1407G06F11/1438G06F11/1469G06F11/3037G06F11/3409G06F2201/81
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,436,552
App. No.
14/302,947
Granted
Sep 6, 2016
Kind
B2
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.

Claims (49)

1. 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.

2. The method of claim 1 , further comprising:

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.

3. The method of claim 1 , further comprising:

based on determining that the value of the metric has not crossed the threshold for a maximum timeout period, triggering the creating of the checkpoint.

4. The method of claim 1 , wherein the task identifies the metric to be monitored for creating the checkpoint.

5. The method of claim 4 , wherein the metric is one of: a dynamic memory allocation size, a modified memory set size, or a measured memory footprint size.

6. 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.

7. The processing node of claim 6 , wherein the processing circuit is further configured to perform the method comprising:

based on determining that the value of the metric has not crossed the threshold for a maximum timeout period, triggering the creating of the checkpoint.

8. The processing node of claim 6 , wherein the task identifies the metric to be monitored for creating the checkpoint.

9. The processing node of claim 8 , wherein the metric is one of: a dynamic memory allocation size, a modified memory set size, or a measured memory footprint size.

10. 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.

11. The computer program product of claim 10 , wherein the instructions for execution by the processing circuit to perform the method further comprise:

based on determining that the value of the metric has not crossed the threshold for a maximum timeout period, triggering the creating of the checkpoint.

12. The computer program product of claim 10 , wherein the task identifies the metric to be monitored for creating the checkpoint.

13. The computer program product of claim 12 , wherein the metric is one of: a dynamic memory allocation size, a modified memory set size, or a measured memory footprint size.

Assignments (2)
CONFIRMATORY LICENSE Recorded Sep 11, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: U.S. DEPARTMENT OF ENERGY
Reel/Frame 033719/0962 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2014
From: CHER, CHEN-YONG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033090/0777 →
Continuity (1)
Related Publication 20150363277A1 · Dec 17, 2015