VM Snapshot Compression via IMC for Faster Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual machine synchronization techniques incur significant overhead due to page table traversal and data copying inefficiencies, leading to considerable downtime and data copy-amplification, especially in large-scale data processing environments.
Innovation Solution
Utilize an intelligent memory controller (IMC) to perform concurrent threads for compression processing of snapshot data using hardware accelerators like GPUs or FPGAs, packing data into contiguous memory addresses and leveraging DMA transactions to reduce the amount of data transmitted to standby VMs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If traditional page table traversal and data copying methods are used for VM synchronization, then synchronization completeness is ensured, but synchronization time and data transmission volume increase significantly
Solution Approach 1:
The patent extracts only the modified memory regions (dirty pages) from the entire VM memory space using a dirty page tracking mechanism. Instead of copying all memory pages, the system identifies and extracts only the specific regions that have changed since the last synchronization, dramatically reducing the data volume that needs to be transmitted while maintaining synchronization completeness.
Solution Approach 2:
The patent segments the memory synchronization process into multiple independent compression threads, each handling a specific span of memory addresses. This segmentation allows parallel processing of different memory regions simultaneously, reducing the overall synchronization time while maintaining complete data coverage across all memory segments.
2Productivity
If concurrent compression threads are executed on the IMC, then compression processing speed increases, but hardware resource requirements increase
Solution Approach 1:
The patent introduces an Intelligent Memory Controller (IMC) as an intermediary component between the CPU and main memory. The IMC incorporates built-in hardware compression capabilities and can execute multiple concurrent compression threads in parallel. This intermediary handles the computationally intensive compression tasks independently, freeing the main CPU for other operations while achieving high-speed parallel compression through dedicated hardware resources.
3Speed
If data is packed into contiguous memory addresses before transmission, then transmission efficiency improves, but data processing overhead increases
Solution Approach 1:
The patent performs preliminary packing of dirty page data into contiguous memory addresses within the IMC before the actual transmission begins. By pre-organizing the scattered dirty pages from various memory locations into a contiguous format, the system eliminates the need for complex scatter-gather operations during transmission, improving network transmission efficiency while confining the processing overhead to the preparation phase within the IMC's high-speed memory.
Data Source
AI summary
An embodiment includes a virtual machine (VM) memory synchronization process for improved failure tolerance. The process includes writing, by an intelligent memory controller (IMC), current snapshot data to a first series of contiguous memory addresses, where the current snapshot data is received by the IMC from a memory of an active VM via a direct memory access (DMA) transfer operation. The IMC executes concurrent threads associated with respective spans of the contiguous memory addresses, where the concurrent threads control compression processing of respective portions of the current snapshot data resulting in corresponding portions of processed current snapshot data, where the concurrent threads comprise a thread bound to a hardware accelerator that performs the compression processing of a portion of the current snapshot data. The process then transmits the processed current snapshot data to a standby VM as a current synchronization snapshot of the active VM.


