Virtual Machine Checkpointing via Distributed Memory Blocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current micro-checkpointing methods in virtual machine computing systems are limited by requiring a single secondary node, leading to inefficiencies in resource utilization, high memory requirements, and inability to handle double node failures, which compromises availability and performance.
Innovation Solution
Distributing checkpoints across multiple nodes with optional parity/replica nodes, dividing the virtual machine state into memory blocks and generating error correction blocks to restore the state in case of failures, allowing for instantaneous failover and efficient resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single secondary node is used for micro-checkpointing, then instantaneous failover is achieved, but the system cannot tolerate double node failures and requires high memory resources
Solution Approach 1:
The virtual machine state is divided into multiple memory blocks that are distributed across multiple secondary nodes. Each node stores a portion of the checkpoint data rather than requiring one node to hold the entire state, enabling both fault tolerance and resource efficiency.
Solution Approach 2:
Multiple secondary nodes are combined to form a distributed checkpointing system. The nodes work together to store and retrieve virtual machine state, providing redundancy and fault tolerance while distributing the memory burden across the cluster.
2Reliability
If a single secondary node mirrors the primary VM state, then instantaneous failover is possible, but the memory requirement doubles
Solution Approach 1:
The virtual machine state is segmented into multiple memory blocks that are distributed across multiple secondary nodes. Each node stores only a portion of the total state, reducing the memory requirement on any single node while maintaining the ability to reconstruct the full state for failover.
3Reliability
If frequent checkpoints are sent over the network, then the secondary VM reaches the same state as primary, but network bandwidth is consumed and performance is impacted
Solution Approach 1:
Only the modified memory blocks are extracted and transmitted to secondary nodes, rather than sending the entire virtual machine state. This differential checkpointing approach reduces network traffic and minimizes performance impact while maintaining state synchronization.
Data Source
AI summary
A method, system and computer program product for checkpointing virtual machines (VMs). The system includes a primary computer hosting a hypervisor and a primary VM. The hypervisor is configured instantiate the primary VM, divide the state of the primary VM into a plurality of memory blocks, and generate an error correction block based on the plurality of memory blocks. The system further includes a plurality of secondary computers. Each of the secondary computers stores a secondary VM and one of either the memory blocks or the error correction block.


