Computing System Checkpointing with Generation Indicators
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
3Reliability
If strict ACID constraints are enforced in distributed systems, then transaction reliability is maintained, but overhead increases and performance decreases
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
Data Source
Figure 1~2
Figure 3
Figure 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.