Lazy Checkpoint VM Restoration via Buffer Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedowntime during checkpoint save and restoreVSAvoiddisk thrashing
Core Design Contradiction:
Loss of timeVSObject-generated harmful factors

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If compression is applied to minimize disk blocks during checkpoint, then storage efficiency improves, but decompression time increases restore duration

Engineering Contradiction:
Improvenumber of disk blocksVSAvoidcheckpoint restore time
Core Design Contradiction:
Quantity of substanceVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If temporal locality is optimized to preserve access patterns, then restore speed improves, but data structure complexity increases

Engineering Contradiction:
Improvecheckpoint restore speedVSAvoiddata structure for mapping
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9053065B2Method for restoring virtual machine state from a checkpoint file
Publication Date: 2015.06.09 VMWARE INC
  • US9053065B2 patent drawing
  • US9053065B2 patent drawing
  • US9053065B2 patent drawing

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.