Incremental Checkpointing for Virtual Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Frequent and fast checkpointing of virtual machines is challenging due to the time-expensiveness of saving all state data, making it impractical for symmetric multiprocessing (SMP) based virtual machines, which cannot utilize conventional non-deterministic instruction stream record-replay techniques.
Innovation Solution
Implementing an incremental checkpoint method that tracks changes in virtual devices, generating checkpoints only for devices that have modified state data since the last checkpoint, reducing the amount of data to be captured and transmitted, and using a collector process to maintain a backup VM for immediate resumption upon failure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all state data of virtual devices is saved for checkpointing, then complete VM state restoration is achieved, but checkpoint generation time becomes too long for frequent checkpointing
Solution Approach 1:
The patent extracts only the changed portions of virtual device state data since the last checkpoint, rather than saving all state data. This is achieved by comparing current state with previous state and identifying modifications, then saving only these changed portions to reduce checkpoint generation time while maintaining restoration capability.
Solution Approach 2:
The patent segments the virtual device state data into individual device states and further into changed and unchanged portions. By dividing the checkpointing task into per-device and per-state-change components, the system processes only necessary data segments, reducing overall checkpoint time while preserving complete restoration ability.
2Productivity
If checkpoint frequency is increased for better fault tolerance, then recovery speed improves, but the overhead of saving all state data becomes impractical
Solution Approach 1:
The patent extracts only the modified state data of virtual devices since the last checkpoint, significantly reducing the amount of data that needs to be processed and saved. This extraction approach makes frequent checkpointing practical by minimizing checkpoint overhead while maintaining effective fault tolerance capabilities.
Solution Approach 2:
The patent performs preliminary identification of changed state data before completing the checkpoint process. By pre-identifying which virtual device states have changed since the last checkpoint, the system prepares only the necessary data for saving, reducing the overall time and overhead of frequent checkpoint operations.
Data Source
AI summary
A virtualization platform provides fault tolerance for a primary virtual machine by continuously transmitting checkpoint information of the primary virtual machine to a collector process, such as a backup virtual machine. The virtualization platform includes virtual devices configured to keep track of state changes, for example, by using state flags or saving copies of prior state data. The virtualization platform generates incremental checkpoints by querying the virtual devices, which return state data based on whether the virtual devices have changed state since a prior checkpoint operation.


