Checkpointing in Fault Tolerant Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvefault toleranceVSAvoidsystem downtime
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #20Continuity of useful action

2Manufacturing precision

If data is copied synchronously between primary and secondary nodes during checkpointing, then data consistency is ensured, but processing speed decreases

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing speed
Core Design Contradiction:
Manufacturing precisionVSSpeed

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Manufacturing precision

If all I/O requests are blocked during checkpointing to ensure data integrity, then data consistency is maintained, but system productivity decreases

Engineering Contradiction:
Improvedata integrityVSAvoidsystem throughput
Core Design Contradiction:
Manufacturing precisionVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11281538B2Systems and methods for checkpointing in a fault tolerant system
Publication Date: 2022.03.22 STRATUS TECH IRELAND LTD
  • US11281538B2 patent drawing
  • US11281538B2 patent drawing
  • US11281538B2 patent drawing

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.