Persistent In-Memory Checkpoint Images for Distributed Node Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current high-availability networked computer systems face challenges in quickly recovering from node, application, or communication link failures without impacting performance, particularly in maintaining the state of applications across replicated hardware and software modules.
Innovation Solution
Implementing periodic synchronization of in-memory checkpoint images and distributed memory segments across nodes, with asynchronous saving of persistent images to enable seamless failover and restart of applications in a consistent state, using multiple updater nodes to maintain and update these images with minimal performance impact.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If replication of hardware or software modules is used to achieve high availability, then fault tolerance is improved, but device complexity and management difficulty increase
Solution Approach 1:
The system segments the replication management into distinct functional components: primary nodes handle application execution and state generation, while secondary nodes handle state reception and failover readiness. This segmentation allows each node type to be optimized independently, reducing overall management complexity while maintaining fault tolerance through the distributed architecture.
2Reliability
If persistent images are saved synchronously to ensure data consistency, then reliability is improved, but application performance deteriorates
Solution Approach 1:
The system implements periodic asynchronous saving of persistent images at predetermined time intervals rather than synchronous saving after every state change. This periodic approach ensures that recent state information is captured regularly enough to enable effective recovery, while the asynchronous nature prevents blocking application execution, thus maintaining high performance while achieving acceptable data consistency for failover scenarios.
3Reliability
If secondary components continuously synchronize with primary components to maintain state consistency, then reliability is improved, but use of energy and system resources increases
Solution Approach 1:
Secondary nodes autonomously receive and process state information from primary nodes without requiring continuous active synchronization protocols. The primary node pushes state updates to secondary nodes only when changes occur, allowing secondary nodes to remain in a low-power standby state until needed for failover, thereby reducing overall system resource consumption while maintaining readiness.
Data Source
AI summary
A method, system, computer system, and computer-readable medium that enable quick recovery from failure of one or more nodes, applications, and/or communication links in a distributed computing environment, such as a cluster. Recovery is facilitated by regularly saving persistent images of the in-memory checkpoint data and/or of distributed shared memory segments. The persistent checkpoint images are written asynchronously so that applications can continue to write data even during creation and/or updating the persistent image and with minimal effect on application performance. Furthermore, multiple updater nodes can simultaneously update the persistent checkpoint image using normal synchronization operations. When one or more nodes fail, the persistent checkpoint image can be read and used to restart the application in the most recently-saved state prior to the failure. The persistent checkpoint image can also be used to initialize the state of the application in a new node joining the distributed computing environment.


