Virtual Machine Snapshot Copy-on-Write Intercepts
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtual machine snapshots and saves are time-consuming due to the need to stop virtual processors and devices, leading to prolonged downtime and inefficiencies in preserving and restoring virtual machine states.
Innovation Solution
Implementing a copy-on-write method that allows virtual processors to continue running by marking memory pages for intercepts, enabling efficient saving and restoring of virtual machine states while minimizing performance degradation, and allowing multiple snapshots to be taken concurrently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If virtual processors are stopped to save memory state, then snapshot accuracy is improved, but operation time increases
Solution Approach 1:
The system performs preliminary actions by copying memory pages to storage before the virtual processors actually write to them. Memory pages are marked with intercepts that trigger copying to storage in advance, ensuring the snapshot captures the correct state without requiring processors to stop.
Solution Approach 2:
An intermediary mechanism (the intercept system) is introduced between the virtual processors and memory storage. The intercepts act as mediators that monitor memory access and coordinate the copying process, allowing processors to continue running while their memory state is being captured.
2Productivity
If virtual devices are busy during save operation, then productivity is maintained, but snapshot completeness deteriorates
Solution Approach 1:
The useful action of processing continues uninterrupted. Virtual processors keep executing their tasks while the intercept system simultaneously captures memory state changes. This continuous operation ensures both productivity maintenance and snapshot completeness without requiring processors to idle.
Solution Approach 2:
The intercept mechanism provides feedback about memory page access patterns to the snapshot system. This feedback allows the system to dynamically track which pages need to be copied and when, ensuring complete snapshot capture even as processors continuously write to memory.
3Measurement precision
If memory is saved sequentially, then storage accuracy is improved, but time consumption increases
Solution Approach 1:
The memory saving process is segmented into individual page-level operations rather than a single monolithic copy. Each memory page can be independently tracked, copied, and saved, allowing parallel processing and reducing overall time while maintaining accuracy through systematic page-by-page capture.
Solution Approach 2:
The memory saving process becomes dynamic rather than static. The system adapts its saving strategy based on real-time processor behavior, intercepting memory accesses as they occur and copying pages on-demand. This dynamic approach captures the correct state without requiring sequential processing of all memory.
Data Source
AI summary
Various mechanisms are disclosed herein for the saving and restoring of virtual machine environment state. For example, virtual machine state can be either be saved or (multiple) snapshots can be taken of the virtual machine state. In the latter case, virtual processors can be allowed to run while the memory of the virtual machine state is being saved. In either case, virtual devices associated with the virtual machine environment can be quiesced such that these devices can prepare themselves to be saved. Once such virtual devices and memory are saved, they can also be restored. For example, restoration of memory can occur while virtual processors are running at the same time. And, moreover, restoration can occur in batches of pages, thus optimizing the response time for restoring saved data.


