Checkpointing in Fault Tolerant Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current fault-tolerant computing systems face challenges in efficiently managing checkpointing processes, particularly in handling outstanding I/O operations and ensuring synchronization between primary and secondary nodes during data transfer, which can lead to increased downtime and complexity.
Innovation Solution
The method involves determining when to initiate a checkpoint, blocking I/O requests, completing active I/O operations, and transferring data from the primary node to the secondary node, with both nodes applying checkpoint data to their storage systems in the background, utilizing cache memory to differentiate between data modified during and prior to the last checkpoint process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If checkpointing is performed by pausing processing to transfer data between primary and secondary computers, then fault tolerance is maintained, but system downtime increases
Solution Approach 1:
The patent applies preliminary action by pre-copying data blocks from primary to secondary storage before they are actually needed for fault recovery. The system proactively transfers data in the background during normal operation, so that when a failure occurs, the secondary computer already has the necessary data ready, eliminating the need to pause processing for data transfer.
Solution Approach 2:
The patent maintains continuity of useful action by allowing the primary computer to continue processing requests without interruption while background threads perform data copying. The checkpointing operation does not pause the main processing workflow, as data transfer occurs concurrently in the background, thus maintaining continuous productive operation.
2Manufacturing precision
If data is copied synchronously between primary and secondary nodes during checkpointing, then data consistency is ensured, but processing speed decreases
Solution Approach 1:
The system performs data copying in advance before the checkpoint is actually needed. Background threads proactively copy data blocks from primary to secondary storage during normal operation, so that when a checkpoint is triggered, the data is already copied and ready, eliminating the need for slow synchronous copying at the moment of failure.
Solution Approach 2:
The patent introduces background threads as intermediary components that handle data copying independently from the main processing workflow. These background threads act as mediators that perform the data transfer task without blocking or slowing down the primary processing threads, thus maintaining both data consistency and processing speed.
3Manufacturing precision
If all I/O requests are blocked during checkpointing to ensure data integrity, then data consistency is maintained, but system productivity decreases
Solution Approach 1:
The patent segments the I/O request handling into different categories: new I/O requests are blocked to maintain data integrity, while existing I/O requests are allowed to complete. This segmentation allows the system to maintain consistency for critical data operations while preserving productivity by allowing non-critical operations to proceed.
Solution Approach 2:
The system applies partial blocking of I/O requests rather than complete blocking. Only new I/O requests that could affect checkpoint data integrity are blocked, while existing requests are permitted to complete. This partial action maintains sufficient data integrity while minimizing the impact on system productivity.
Data Source
AI summary
A method and system of checkpointing in a computing system having a primary node and a secondary node is disclosed. In one embodiment the method includes the steps of determining by the primary node to initiate a checkpoint process; sending a notification to the secondary node, by the primary node, of an impending checkpoint process; blocking, by the primary node, I/O requests from the Operating System (OS) that arrive at the primary node after the determination to initiate the checkpoint process; completing, by the primary node, active I/O requests for data received from the OS prior to the determination to initiate the checkpoint process, by accessing the primary node data storage; and upon receiving, by the primary node, a notice of checkpoint readiness from the secondary node, initiating a checkpoint process to move state and data from the primary node to the secondary node.


