IP Library › Granted Patent US 7,085,955
Granted Patent B2
US 7,085,955 · App. 10/106,723 · Granted Aug 1, 2006

Checkpointing with a write back controller

Assignee: Hewlett-Packard Development Company, L.P.
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 7,085,955
App. No.
10/106,723
Filed
Mar 25, 2002
Granted
Aug 1, 2006
Kind
B2
Art Unit
2113
USPC
714/6
Abstract

A checkpointing method and system that utilize a write back controller. The system can include a first controller for implementing a first function, wherein the first function comprises part of a checkpoint operation and wherein the checkpoint operation comprises a series of contiguous checkpoint cycles. The system can also include a second controller, the second controller for implementing a second function, wherein the second function comprises a write back operation from a first memory location to a second memory location and wherein the write back operation occurs before a checkpoint cycle ends. Information already at the second memory location can be selectively written back to a third memory location.

Claims (67)

1. A computer system comprising:

a first controller for implementing a first function, wherein said first function comprises part of a checkpoint operation and wherein said checkpoint operation comprises a series of contiguous checkpoint cycles; and

a second controller coupled to said first controller, said second controller for implementing a second function, wherein said second function comprises a write back operation from a first memory location to a second memory location and wherein said write back operation occurs before a checkpoint cycle ends, wherein said second controller maintains a flag associated with a list comprising a plurality of pointers, each pointer representing a candidate for said write back operation, said flag for indicating whether said list includes a pointer for each candidate for said write back operation;

wherein information already at said second memory location is selectively written back to a third memory location.

2. The computer system of claim 1 comprising a processor node coupled to said first controller, wherein said first controller has access to state information in said processor node.

3. The computer system of claim 1 comprising multiple processor nodes coupled to said first controller, wherein said first controller has access to state information in each of said processor nodes.

4. The computer system of claim 1 wherein said first controller causes a processor to write back dirty cache entries to said second memory location and to store state information for said processor in a fourth memory location.

5. The computer system of claim 1 wherein said first controller causes said third memory location to be emptied upon completion of a checkpoint cycle.

6. The computer system of claim 1 wherein said first controller monitors free space in a memory comprising said third memory location and initiates a new checkpoint cycle when said free space is below a specified threshold.

7. The computer system of claim 1 wherein said first controller monitors a condition and initiates a new checkpoint cycle when said condition is satisfied, wherein said condition is based on number of processor cycles, number of bus cycles, number of cycles performed by a component of said computer system, number of transactions performed by a component of said computer system, number of instructions executed by a component of said computer system, number of write back operations, an internal signal, or an external signal.

8. The computer system of claim 1 wherein said second controller identifies candidates for said write back operation.

9. The computer system of claim 1 wherein said write back operation is initiated by said second controller selecting one of said pointers.

10. The computer system of claim 1 wherein said write back operation occurs before a computational phase of said checkpoint cycle ends.

11. A checkpointing method comprising:

performing a first function comprising a checkpoint operation, wherein said checkpoint operation comprises a series of contiguous checkpoint cycles;

performing a second function comprising a write back operation, wherein said write back operation comprises a write back of information from a first memory location to a second memory location and wherein said write back operation is performed before a checkpoint cycle ends;

maintaining a list comprising a plurality of pointers, wherein each pointer represents a candidate for said write back operation;

setting a flag associated with said list, said flag for indicating whether said list includes a pointer for each candidate for said write back operation; and

writing information already at said second memory location to a third memory location.

12. The method of claim 11 comprising:

accessing state information for a processor node.

13. The method of claim 11 wherein said first function comprises:

storing state information for a processor node in a fourth memory location.

14. The method of claim 11 wherein said first function comprises:

writing back dirty cache entries at a processor node to said second memory location.

15. The method of claim 11 wherein said first function comprises:

emptying said third memory location upon completion of a checkpoint cycle.

16. The method of claim 11 wherein said write back operation occurs before a computational phase of said checkpoint cycle ends.

17. The method of claim 11 wherein said second function comprises:

identifying candidates for said write back operation.

18. The method of claim 11 wherein said second function comprises:

initiating said write back operation by selecting one of said pointers.

19. The method of claim 11 wherein said first function is executed using a first controller and said second function is executed using a second controller.

20. The method of claim 11 wherein said first function and said second function are executed using a single controller.

21. The method of claim 11 comprising:

monitoring free space in a memory comprising said third memory location; and

initiating a new checkpoint cycle when said free space is below a specified threshold.

22. The method of claim 11 comprising:

monitoring a condition; and

initiating a new checkpoint cycle when said condition is satisfied, wherein said condition is based on number of processor cycles, number of bus cycles, number of cycles performed by a component of said computer system, number of transactions performed by a component of said computer system, number of instructions executed by a component of said computer system, number of write back operations, an internal signal, or an external signal.

23. A computer-readable medium having computer-readable code stored thereon for causing a computer system to perform a checkpointing method comprising:

executing a first function comprising a checkpoint operation, wherein said checkpoint operation comprises a series of contiguous checkpoint cycles;

executing a second function comprising a write back operation, wherein said write back operation comprises a write back of information from a first memory location to a second memory location and wherein said write back operation is performed before a checkpoint cycle ends;

generating a list comprising a plurality of pointers, wherein each pointer represents a candidate for said write back operation;

associating a flag with said list;

setting said flag to a value to indicate whether said list includes a pointer for each candidate for said write back operation; and

recording information already at said second memory location in a third memory location.

24. The computer-readable medium of claim 23 wherein said computer-readable program code embodied therein causes a computer system to perform a checkpointing method comprising:

reading state information for a processor node.

25. The computer-readable medium of claim 23 wherein said computer-readable program code embodied therein causes a computer system to perform a checkpointing method comprising:

writing back dirty cache entries at a processor node to said second memory location.

26. The computer-readable medium of claim 23 wherein said computer-readable program code embodied therein causes a computer system to perform a checkpointing method comprising:

recording state information for a processor node in a fourth memory location.

27. The computer-readable medium of claim 23 wherein said computer-readable program code embodied therein causes a computer system to perform a checkpointing method comprising:

emptying said third memory location upon completion of a checkpoint cycle.

28. The computer-readable medium of claim 23 wherein said write back operation occurs before a computational phase of said checkpoint cycle ends.

29. The computer-readable medium of claim 23 wherein said computer-readable program code embodied therein causes a computer system to perform a checkpointing method comprising:

identifying candidates for said write back operation.

30. The computer-readable medium of claim 23 wherein said computer-readable program code embodied therein causes a computer system to perform a checkpointing method comprising:

selecting one of said pointers to initiate said write back operation.

31. The computer-readable medium of claim 23 wherein said computer system comprises multiple processor nodes.

32. The computer-readable medium of claim 23 wherein said first function is executed using a first controller and said second function is executed using a second controller.

33. The computer-readable medium of claim 23 wherein said first function and said second function are executed using a single controller.

34. The computer-readable medium of claim 23 wherein said computer-readable program code embodied therein causes a computer system to perform a checkpointing method comprising:

completing a checkpoint cycle when free space in a memory comprising said third memory location is below a specified threshold.

35. The computer-readable medium of claim 23 wherein said computer-readable program code embodied therein causes a computer system to perform a checkpointing method comprising:

completing a checkpoint cycle when a condition is satisfied, wherein said condition is based on number of processor cycles, number of bus cycles, number of cycles performed by a component of said computer system, number of transactions performed by a component of said computer system, number of instructions executed by a component of said computer system, number of write back operations, an internal signal, or an external signal.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2003
From: HEWLETT-PACKARD COMPANY
To: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P.
Reel/Frame 014061/0492 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2003
From: HEWLETT-PACKARD COMPANY
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 013776/0928 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2002
From: PRABHU, MANOHAR KARKAL
To: HEWLETT-PACKARD COMPANY
Reel/Frame 013148/0263 →
Continuity (2)
Continuation In Part 0995299400 · Sep 14, 2001
Related Publication 20030056143A1 · Mar 20, 2003