Computing System Checkpointing with Generation Indicators

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing fault-tolerance methods in computational systems are overly robust, leading to high latency and reduced availability, especially in high-volume transaction environments, and are not adapted to handle non-deterministic computational environments effectively, particularly in multi-node systems where node failures can cause inconsistencies.

Innovation Solution

The method involves strategically relaxing ACID constraints to maintain fault tolerance and recovery while minimizing overhead, allowing processes to continue working during checkpoint intervals by queuing writes, using generation counts to manage spawn processes, and employing a distributed checkpoint method to synchronize nodes without actual temporal synchronization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If deterministic computation methods are used with traditional fault-tolerance mechanisms, then data integrity is maintained, but the system cannot efficiently handle non-deterministic computational environments and experiences high latency

Engineering Contradiction:
Improvedata integrityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent changes the fundamental parameter of computation determinism by allowing non-deterministic computation while maintaining fault tolerance through a different mechanism (checkpointing with message escrow) rather than relying on deterministic re-execution

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system performs preliminary actions by creating escrow areas and saving messages to durable storage before failures occur, enabling recovery without re-executing computations

Inventive Principle:
Principle #10Preliminary action

2Reliability

If traditional checkpointing methods are used that suspend all processes, then data consistency is ensured, but system availability drops and processing stops during checkpoint intervals

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adjusts process behavior during checkpoint intervals based on generation counts, allowing younger-generation processes to continue working while older-generation processes are suspended, creating a flexible hybrid approach

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments processes into different generations (older and younger) with different checkpointing behaviors, allowing selective suspension rather than blanket suspension of all processes

Inventive Principle:
Principle #1Segmentation

3Reliability

If strict ACID constraints are enforced in distributed systems, then transaction reliability is maintained, but overhead increases and performance decreases

Engineering Contradiction:
Improvetransaction reliabilityVSAvoidsystem overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies partial ACID constraints by enforcing them only for older-generation processes during checkpoint intervals, while younger-generation processes operate with relaxed constraints, achieving a balance between reliability and performance

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3210119B1Recovery and fault-tolerance under computational indeterminism
Publication Date: 2022.03.30 AB INITIO TECHNOLOGY LLC
  • EP3210119B1 patent drawingFigure 1~2
  • EP3210119B1 patent drawingFigure 3
  • EP3210119B1 patent drawingFigure 4~5

AI summary

A method for promoting fault tolerance and recovery in a computing system including at least one processing node includes promoting availability and recovery of a first processing node, by, at the first processing node, generating first spawn using a spawner that has been assigned a first generation-indicator so that its spawn inherits the first generation indicator, beginning a checkpoint interval to generate nodal recovery information, suspending the spawner from generating spawn, assigning, to the spawner, a second generation-indicator that differs from the first one, resuming the spawner, so that it generates second spawn that inherits the second generation-indicator, controlling an extent to which the second spawn writes to memory, and after committing nodal recovery information acquired during the checkpoint to durable storage, releasing control over the extent to which the second spawn can write to memory.