Lazy Checkpoint VM Restoration via Buffer Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large virtual machines (VMs) experience prolonged downtime during checkpoint save and restore processes due to inefficient access and storage management, leading to slow operation and disk thrashing.
Innovation Solution
Implementing lazy checkpointing with improved temporal locality and compression techniques to minimize read/write accesses to the checkpoint file, reducing disk thrashing and speeding up the checkpointing process by detecting memory page accesses, writing contents to buffers, and decompressing data as needed for efficient restoration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If lazy checkpointing is implemented to allow VM to run during checkpoint save/restore, then downtime is minimized, but disk thrashing occurs due to excessive read/write accesses
Solution Approach 1:
The patent segments the checkpoint file into multiple storage blocks and uses multiple buffers to manage data transfer. By dividing the large checkpoint file into smaller blocks and processing them in parallel through multiple buffers, the system reduces the total number of disk access operations while maintaining lazy checkpointing functionality.
Solution Approach 2:
The patent performs preliminary actions by pre-loading storage blocks into buffers before they are needed for restoration. The system proactively reads storage blocks from the checkpoint file into buffers in advance, based on predicted access patterns, thereby reducing actual disk access time during VM restoration and minimizing disk thrashing.
2Quantity of substance
If compression is applied to minimize disk blocks during checkpoint, then storage efficiency improves, but decompression time increases restore duration
Solution Approach 1:
The patent performs decompression in advance by decompressing storage blocks into buffers before they are needed for VM restoration. This preliminary decompression action ensures that compressed data is converted to usable format proactively, reducing the actual restore time when the VM needs the data, while still maintaining the storage efficiency benefits of compression.
3Productivity
If temporal locality is optimized to preserve access patterns, then restore speed improves, but data structure complexity increases
Solution Approach 1:
The patent segments the mapping data structure into multiple buffer-specific mappings rather than maintaining a single complex global mapping. Each buffer has its own mapping structure that tracks storage block to buffer content relationships, simplifying the overall data structure while enabling efficient temporal locality optimization through localized mapping queries.
Data Source
AI summary
A process for lazy checkpointing is enhanced to reduce the number of read/write accesses to the checkpoint file and thereby speed up the checkpointing process. The process for restoring a state of a virtual machine (VM) running in a physical machine from a checkpoint file that is maintained in persistent storage includes the steps of detecting access to a memory page of the virtual machine that has not been read into physical memory of the VM from the checkpoint file, determining a storage block of the checkpoint file to which the accessed memory page maps, writing contents of the storage block in a buffer, and copying contents of a block of memory pages that includes the accessed memory page from the buffer to corresponding locations of the memory pages in the physical memory of the VM. The storage block of the checkpoint file may be compressed or uncompressed.


