Fault-Tolerant Parallel Computation Checkpoint Resumption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed computing systems lack robust fault-tolerance mechanisms to resume computations after node failures, leading to potential data loss and application termination.

Innovation Solution

Implementing a fault-tolerant parallel computation system that uses a message passing interface (MPI) for synchronization at checkpoints, storing process states in multiple or single storage volumes, and maintaining checkpoint logs to enable resumption from the last successful checkpoint upon failure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional distributed computing systems are used without fault-tolerance mechanisms, then system complexity is reduced and ease of operation is improved, but reliability deteriorates due to inability to resume computations after node failures

Engineering Contradiction:
Improvefault toleranceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by storing process states at checkpoints before failures occur. When a node fails, the system can resume computation from the last successful checkpoint rather than restarting from scratch, implementing fault tolerance through advance preparation of recovery states.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates copies of process states at distributed checkpoints across multiple nodes. These copied state representations enable recovery by restoring from alternative copies when primary computation nodes fail, achieving reliability without requiring complex active redundancy of entire system components.

Inventive Principle:
Principle #26Copying

2Reliability

If checkpointing mechanisms are implemented for fault tolerance, then reliability is improved, but loss of time increases due to synchronization overhead and checkpoint storage operations

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

Solution Approach 1:

The system implements periodic checkpointing at predetermined intervals during computation rather than continuous state saving. This periodic approach balances reliability needs with performance by creating recovery points at regular intervals, minimizing the time overhead while ensuring adequate fault tolerance coverage.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system performs partial checkpointing by saving only essential process states rather than complete system states. This selective checkpointing reduces the time and storage overhead while maintaining sufficient information for recovery, avoiding the excessive time cost of full system state preservation at each checkpoint.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If process states are stored at distributed checkpoints across multiple nodes, then reliability is improved through redundancy, but device complexity increases due to distributed storage management

Engineering Contradiction:
Improvedata integrityVSAvoidstorage management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments process state storage across multiple distributed checkpoints on different nodes rather than centralized storage. This segmentation provides redundancy and fault tolerance while the modular structure simplifies management by allowing independent handling of individual checkpoint segments rather than managing a single complex centralized storage system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each distributed checkpoint node autonomously manages its own stored process states, performing self-service for storage, retrieval, and validation operations. This decentralized self-service approach reduces overall system complexity by eliminating the need for complex centralized coordination mechanisms while maintaining data integrity through distributed redundancy.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10936432B1Fault-tolerant parallel computation
Publication Date: 2021.03.02 AMAZON TECH INC
  • US10936432B1 patent drawing
  • US10936432B1 patent drawing
  • US10936432B1 patent drawing

AI summary

Methods, systems, and computer-readable media for implementing a fault-tolerant parallel computation framework are disclosed. Execution of an application comprises execution of a plurality of processes in parallel. Process states for the processes are stored during the execution of the application. The processes use a message passing interface for exchanging messages with one other. The messages are exchanged and the process states are stored at a plurality of checkpoints during execution of the application. A final successful checkpoint is determined after the execution of the application is terminated. The final successful checkpoint represents the most recent checkpoint at which the processes exchanged messages successfully. Execution of the application is resumed from the final successful checkpoint using the process states stored at the final successful checkpoint.