Asynchronous Pipelined Checkpointing for Primary-Backup Replication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing primary-backup replication schemes incur significant network performance degradation due to regular synchronization between the primary and backup processes, which is particularly problematic for latency-sensitive services as it introduces delays equivalent to the round-trip delay between the two processes.
Innovation Solution
The implementation of an Asynchronous Pipelined Checkpointing primary-backup replication scheme, where synchronization is performed using epochs, allowing the primary process to initiate new epochs independently of state update acknowledgments from the backup process, and output messages are buffered and released only after confirmation, reducing the need for continuous synchronization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If regular synchronization is performed between primary and backup processes, then fault-tolerance is improved, but network latency increases
Solution Approach 1:
The patent applies preliminary action by pre-copying state information to the backup process before failures occur. The system continuously replicates state in the background without waiting for failure events, so that when a failure happens, the backup is already ready to take over immediately, eliminating the need for time-consuming synchronization during failure recovery
Solution Approach 2:
The patent implements continuity of useful action by making the backup process continuously synchronized with the primary through asynchronous replication. The backup continuously receives and applies state updates without interrupting primary operations, ensuring that fault-tolerance maintenance does not create periodic latency spikes that would occur with batch synchronization
2Reliability
If state information is copied from primary to backup process, then fault-tolerance is improved, but network overhead increases
Solution Approach 1:
The patent applies copying by creating a backup process that replicates the state of the primary process. Instead of maintaining complex redundant systems or performing full system replication, the invention copies essential state information to a backup process that can assume the primary's work upon failure, reducing the overhead compared to more comprehensive replication approaches
Solution Approach 2:
The patent implements discarding and recovering by allowing the primary process to discard state information that has already been successfully replicated to the backup. Once state is copied and confirmed received, the primary can proceed without retaining redundant copies, while the backup maintains the recovered state for potential failover, optimizing memory usage and reducing unnecessary data transmission
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A primary-backup replication capability is disclosed. A primary process and a backup process participate in a synchronization process configured to synchronize state information of the primary process with state information of the backup process. The synchronization process operates in periods of time referred to as epochs. During the current epoch, the primary process computes state update information representing changes to the state information of the primary process since a previous epoch. During the current epoch, the primary process also buffers output messages generated during the current epoch in an associated output buffer dedicated for use in the current epoch. The primary process initiates a new epoch independent of receiving, from the backup process, a state update acknowledgement for the previous epoch. The output messages buffered for the current epoch are released from the associated output buffer after the primary process receives a state update acknowledgment for the current epoch and all output buffers of all previous epochs are empty.