Asynchronous In-Memory Checkpointing for Distributed Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional checkpointing techniques in distributed computing systems introduce significant latency and resource consumption due to I/O operations and the need to pause data processing, which affects system performance and scalability, especially in high-performance computing environments that require real-time data processing and analysis.

Innovation Solution

Implementing asynchronous checkpointing methods that enqueue operator states in memory queues and utilize background worker threads to store checkpoints in data stores without interrupting data processing, decoupling real-time operations from I/O operations and allowing parallel and pipelined checkpointing processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional checkpointing techniques are used to ensure data reliability and fault tolerance, then system reliability is improved, but system performance and productivity deteriorate due to significant latency and resource consumption from I/O operations and processing pauses

Engineering Contradiction:
Improvedata reliabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs checkpointing operations in advance by maintaining operator states in memory queues and using background worker threads to store checkpoints to data stores before they are needed for recovery, allowing the main data processing pipeline to continue without interruption

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary memory queue between the operator state and the data store, along with background worker threads as mediators, to decouple the real-time data processing operations from the I/O intensive checkpointing operations, allowing both to proceed in parallel without blocking each other

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If conventional checkpointing techniques are used to ensure fault tolerance, then system reliability is improved, but resource consumption increases due to processing pauses and I/O operations

Engineering Contradiction:
Improvefault toleranceVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system maintains continuous data processing operations by performing checkpointing in the background through worker threads, ensuring that the main processing pipeline experiences no interruptions or pauses, thereby maintaining continuous useful action while still achieving fault tolerance

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The memory queue and background worker threads act as intermediaries that enable asynchronous checkpointing, allowing the system to maintain fault tolerance through proper state persistence while minimizing resource consumption by avoiding blocking operations in the main processing thread

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If synchronous checkpointing is performed to maintain data reliability, then fault tolerance is improved, but processing speed and throughput deteriorate due to latency introduction

Engineering Contradiction:
Improvedata reliabilityVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system prepares for potential failures by continuously maintaining operator states in memory queues and asynchronously storing checkpoints to data stores in advance, so that when a failure occurs, recovery can proceed quickly without having to pause processing to create checkpoints

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses memory queues and background worker threads as intermediaries to decouple the fast in-memory processing from the slower disk I/O operations, allowing data to flow through the system at high speed while checkpoints are persisted in the background without blocking the main processing pipeline

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10853207B2Asynchronous in-memory data checkpointing for distributed computing systems
Publication Date: 2020.12.01 EMC IP HLDG CO LLC
  • US10853207B2 patent drawing
  • US10853207B2 patent drawing
  • US10853207B2 patent drawing

AI summary

Techniques are provided for implementing asynchronous checkpointing of in-memory data in a distributed computing system. For example, a method includes processing a stream of data records by an operator executing on a computing node, maintaining in a system memory, an operator state which is generated in response to the operator processing the stream of data records, and performing an asynchronous checkpointing process. The asynchronous checkpointing process includes enqueuing a checkpoint of the operator state in a first queue, wherein the first queue is maintained in the system memory, and executing a background worker thread to dequeue the checkpoint of the operator state from the first queue and store the checkpoint of the operator state in a data store. The operator continues with processing the stream of data records during the asynchronous checkpointing process.