Parallel Checkpoint Data Application for Fault-Tolerant Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current fault-tolerant computing systems face challenges in efficiently synchronizing the states of primary and secondary computers during checkpointing, leading to significant downtime and reduced system performance due to the sequential nature of data transfer and application processes.
Innovation Solution
The method involves dividing checkpoint data into subsets and transmitting them to the secondary computer while simultaneously applying the differences to the available memory, allowing for parallel execution of data transfer and application, thereby reducing the overall checkpoint time and improving system availability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If checkpoint data is transmitted sequentially to the secondary computer, then data integrity is ensured, but checkpoint time increases significantly
Solution Approach 1:
The patent divides checkpoint data into multiple subsets (first subset, second subset, etc.) that can be transmitted and applied in parallel to the secondary computer. This segmentation allows the system to maintain data integrity through structured division while reducing overall checkpoint time by enabling concurrent processing of multiple data portions simultaneously.
Solution Approach 2:
The patent applies checkpoint data subsets to the secondary computer in advance before the primary computer completes its full checkpoint cycle. By preliminarily applying the first subset and then the second subset in overlapping time windows, the system reduces the effective checkpoint time while maintaining consistency through coordinated application timing.
2Measurement precision
If the secondary computer waits for complete data transmission before applying checkpoints, then synchronization accuracy is maintained, but system availability decreases
Solution Approach 1:
The patent implements a dynamic checkpointing approach where the secondary computer applies data subsets at different times rather than waiting for complete transmission. The system dynamically coordinates the application of the first subset before the second subset, adjusting timing to maintain synchronization accuracy while improving system availability through non-blocking operations.
Solution Approach 2:
The patent enables continuous useful action by allowing the secondary computer to apply checkpoint data subsets in parallel with the primary computer's ongoing operations. Instead of stopping to wait for complete data transmission, the system maintains continuous availability by applying available data subsets while the primary computer continues processing.
3Loss of time
If checkpoint data is divided into multiple subsets for parallel transmission, then checkpoint time is reduced, but memory management complexity increases
Solution Approach 1:
The patent segments checkpoint data into manageable subsets with clear identification markers, allowing parallel transmission and application while maintaining organized memory management. Each subset is independently tracked and applied in a controlled sequence, reducing the complexity burden compared to undivided data handling.
Solution Approach 2:
The patent implements feedback mechanisms where the secondary computer tracks the application status of each data subset and coordinates with the primary computer to ensure proper sequencing. This feedback system manages memory operations efficiently by providing real-time status information, reducing overall complexity through coordinated control.
Data Source
AI summary
The disclosure relates to a method of checkpointing. The method may include determining, by the primary computer, when to initiate a checkpoint point operation; dividing, at the primary computer, checkpoint data into two or more groups, wherein each group includes one or more pages of memory; transmitting a first group to the secondary computer; upon receiving, by the secondary computer, the first group, correlating memory pages in the first group with pages in memory on the secondary computer; determining, at the secondary computer, which bytes of memory pages of the first group differ from the correlated pages stored in memory in the secondary computer; and applying data from the first group by swapping differences between the memory pages of the first group and the correlated memory pages stored in the secondary computer. Where at least some of these multiple operations are performed in parallel during a subset of the overall checkpoint operation. The simultaneous performance of various memory manage checkpoint operations is advantageous in various fault tolerant systems. The differences may be N-byte differences such as 8-byte differences.


