Virtual Machine Checkpointing via Nested Page Tables
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Symmetric multiprocessing (SMP) virtual machines face challenges in achieving fault tolerance through deterministic replay, as it is inefficient and typically only supported for single processor VMs, necessitating an alternative method for frequent and fast checkpointing.
Innovation Solution
Implementing a system where a primary VM is frequently suspended to determine modifications and transmit only the differences in memory pages to a backup VM, enabling efficient fault tolerance by selectively choosing memory pages with minimal changes and using a threshold-based approach for transmission optimization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If deterministic replay is used for fault tolerance in SMP virtual machines, then fault tolerance capability is improved, but system efficiency deteriorates due to the inefficiency of deterministic replay for multi-processor systems
Solution Approach 1:
The patent segments the memory state into individual memory pages and tracks modifications at the page level rather than requiring full deterministic replay of the entire system state. This allows selective checkpointing of only modified pages, significantly reducing the overhead for SMP virtual machines while maintaining fault tolerance capability
Solution Approach 2:
The patent performs preliminary identification of modified memory pages during normal execution by setting dirty bits in page table entries. This preliminary tracking enables fast checkpointing by only transmitting modified pages without requiring full system state capture, improving efficiency while maintaining reliability
2Reliability
If frequent checkpointing is performed to enable fast recovery, then fault tolerance is improved, but bandwidth consumption increases due to transmitting entire memory pages
Solution Approach 1:
The patent extracts and transmits only the modified portions of memory pages (specifically dirty pages identified through page table tracking) rather than transmitting entire memory pages. This extraction approach dramatically reduces network bandwidth consumption while enabling frequent checkpointing for fast recovery
Solution Approach 2:
The patent changes the checkpointing parameter from full memory page transmission to selective dirty page transmission based on modification status. By tracking which pages have been modified (dirty bits set) and only transmitting those, the system achieves frequent checkpointing with reduced bandwidth usage
3Measurement precision
If entire memory pages are transmitted during checkpointing to ensure accuracy, then checkpoint accuracy is improved, but transmission time increases
Solution Approach 1:
The patent applies partial action by transmitting only the necessary subset of memory pages (those marked as dirty/modificed) rather than all memory pages. This partial transmission maintains checkpoint accuracy for the modified state while significantly reducing transmission time
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. 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.


