Virtual Machine Checkpointing via Incremental Memory Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Symmetric multiprocessing (SMP) virtual machines face challenges in achieving fault tolerance due to the inefficiency of deterministic replay techniques, limiting their ability to support frequent and fast checkpointing necessary for fault recovery and speculative calculations.

Innovation Solution

Implementing a method that frequently suspends and resumes a primary virtual machine to transmit updated state information to a backup VM, using incremental checkpointing and memory page history tracking to optimize the transmission of modifications, allowing for efficient fault tolerance without relying on non-deterministic instruction stream record-replay techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If deterministic replay techniques are used for SMP virtual machines, then fault tolerance can be achieved, but the efficiency is insufficient and frequent checkpointing cannot be supported

Engineering Contradiction:
Improvefault toleranceVSAvoidcheckpointing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the checkpointing process by separating the primary VM execution from the backup VM state capture. The primary VM continues executing while only modified memory pages are identified and transmitted to the backup VM, rather than suspending the entire system for full state capture. This segmentation enables frequent checkpointing without significant performance penalty.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by maintaining modification history data structures that track which memory pages have changed since the last checkpoint. This pre-computed information allows the system to quickly identify and transmit only the necessary state changes without performing comprehensive state analysis during the checkpoint operation itself.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If frequent checkpointing is implemented by suspending the VM, then accurate state capture is achieved, but the suspension time accumulates and reduces productivity

Engineering Contradiction:
Improvestate capture accuracyVSAvoidsuspension time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies partial action by capturing only the modified portions of memory state rather than the entire VM state. The system identifies and transmits only those memory pages that have been modified since the last checkpoint, performing less work than a full checkpoint while still achieving complete and accurate state capture for fault tolerance purposes.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent maintains continuity of useful action by allowing the primary VM to continue executing during the checkpoint process. Instead of complete suspension, the system continuously identifies modified pages and transfers them in the background, ensuring that the VM's productive work continues uninterrupted while the checkpoint state is being captured and synchronized.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If memory pages are transmitted while the primary VM is executing, then suspension time is reduced, but there is a risk that the page state may change during transmission

Engineering Contradiction:
Improvecheckpointing speedVSAvoidstate consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback mechanisms through modification history data structures that continuously track which memory pages have been modified. This feedback information guides the selection of pages for transmission and ensures that the backup VM receives an accurate and consistent view of the primary VM's state at any given checkpoint moment, resolving the inconsistency between speed and reliability.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8549241B2Method and system for frequent checkpointing
Publication Date: 2013.10.01 VMWARE INC
  • US8549241B2 patent drawing
  • US8549241B2 patent drawing
  • US8549241B2 patent drawing

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. When implemented on a hardware platform comprising a multi-processor that supports nested page tables, the virtualization platform leverages the nested page table support to quickly identify memory pages that have been modified between checkpoints. The backup virtual machine provides feedback information to assist the virtualization platform in identifying candidate memory pages for transmitting actual modifications to the memory pages rather than the entire memory page as part of the checkpoint information. The virtualization platform further maintains a modification history data structure to identify memory pages that can be transmitted simultaneous with the execution of the primary virtual machine rather than while the primary virtual machine has been stunned.