Continuous Lock-Minimal Checkpointing in Distributed Log-Based Datastores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current checkpointing techniques in distributed log-based datastores are disruptive to normal service activity and require significant time and processing to update node states, making them inefficient for rapid failure recovery and scaling.

Innovation Solution

Implementing a nearly lock-free, fault-tolerant checkpointing process that uses an ordered, navigable collection to maintain a copy of state in volatile memory, allowing for efficient recovery by deriving a low-water mark value and minimizing I/O operations, with options for compute-optimized and memory-optimized configurations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional checkpointing techniques are used to ensure fault tolerance and enable recovery, then reliability is improved, but service activity is disrupted and significant time and processing are required to update node states

Engineering Contradiction:
Improvefault toleranceVSAvoidservice activity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs checkpointing operations in advance by continuously maintaining low-water mark values that indicate recovery start points. Checkpoint data is pre-computed and stored in durable datastores before failures occur, allowing nodes to quickly recover without disrupting ongoing service activity. The low-water mark mechanism pre-identifies safe recovery points without requiring disruptive full checkpoints.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates and maintains copies of checkpoint data in durable datastores for each node. These copies include low-water mark values and associated metadata that can be quickly retrieved during recovery. By maintaining redundant copies of critical recovery information, the system enables fast node state updates without requiring disruptive full checkpoint operations.

Inventive Principle:
Principle #26Copying

2Reliability

If traditional checkpointing techniques are used to ensure fault tolerance, then reliability is improved, but significant time is required to update node states and recover from failures

Engineering Contradiction:
Improvefault toleranceVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system pre-computes and stores low-water mark values that indicate safe recovery start points in durable datastores. By preparing checkpoint data in advance and maintaining it in an easily accessible format, the system eliminates time-consuming full checkpoint operations during recovery. Nodes can quickly retrieve pre-computed low-water mark values and resume service without lengthy state updates.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system extracts only the essential recovery information (low-water mark values and associated metadata) from full checkpoint data and stores it separately in durable datastores. This extracted minimal checkpoint data is sufficient for rapid node recovery without requiring the time-consuming processing of complete node state copies. The separation of critical recovery markers from full checkpoint data enables fast recovery operations.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If frequent checkpointing is performed to improve recovery speed, then productivity is improved through rapid failure handling, but service activity is more frequently disrupted

Engineering Contradiction:
Improverecovery speedVSAvoidservice disruption
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system continuously updates low-water mark values in durable datastores as data is appended to the log. These preliminary updates occur in the background without requiring service disruptions. When recovery is needed, nodes can immediately retrieve the most recent low-water mark values, achieving fast recovery without the need for disruptive frequent full checkpoint operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuous background updates of low-water mark values and checkpoint metadata in durable datastores without interrupting service activity. This continuous checkpointing in the background allows the system to achieve rapid recovery capability while maintaining uninterrupted service operation. The useful action of checkpointing continues without disruption to the primary service function.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS12001296B1Continuous lock-minimal checkpointing and recovery with a distributed log-based datastore
Publication Date: 2024.06.04 AMAZON TECH INC
  • US12001296B1 patent drawing
  • US12001296B1 patent drawing
  • US12001296B1 patent drawing

AI summary

Techniques for continuous lock-minimal checkpointing and recovery with a distributed log-based datastore are described. A continuous, fault-tolerant checkpoint process is run on a node in a cluster in a compute-optimized or memory-optimized manner, thereby checkpointing the in-memory replica state of the node to a durable checkpoint datastore. A node can partially restore its replica state by obtaining checkpoint data, which includes an identifier of a low-water mark in a journal shard. The node can attach to the journal shard using the low-mater mark as the point of attachment, enabling the node to finalize the restoration of the replica state to be current.