Virtual Machine Live Update Using Shared Memory Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for updating an operating system in a virtual machine require downtime, leading to unavailable applications and inefficient memory transfer processes, especially when dealing with large data volumes, which are time-consuming and degrade system performance.
Innovation Solution
A method involving the instantiation of a second virtual machine (VM) on the same physical machine to virtualize physical adapters, deploying it with the same memory mapping as the first VM, checkpointing applications, and migrating them to the second VM for live updates without copying large memory portions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional operating system update methods are used in virtual machines, then updates can be applied, but system downtime occurs and applications become unavailable
Solution Approach 1:
A second virtual machine is instantiated and configured with the updated operating system before the update is needed. The second VM is prepared in advance with all update components, so when the update is required, the system can switch to the pre-prepared second VM immediately, eliminating downtime and maintaining application availability.
2Reliability
If large portions of memory are copied during VM updates, then application state can be transferred, but memory transfer time increases and system performance degrades
Solution Approach 1:
Only the essential application state data is extracted and transferred to the second VM, rather than copying entire memory portions. The checkpointing mechanism identifies and transfers only the necessary state information needed to restore application execution, significantly reducing memory transfer time and performance impact.
3Ease of operation
If memory mapping is used to virtualize physical memory, then memory management is simplified, but updating process data to use new memory mapping becomes complex
Solution Approach 1:
The second VM acts as an intermediary that handles the complexity of memory mapping transitions. Process data is updated to use the new memory mapping through the second VM's memory management structures, which mediate between the application and the underlying physical memory, simplifying the update process while maintaining ease of operation.
Data Source
AI summary
For a first virtual machine (VM) executing in a physical machine, a second VM is instantiated in the physical machine, the first VM using a physical adapter installed in the physical machine, the first VM virtualizing a portion of physical memory of the physical machine, the second VM virtualizing the physical adapter. The second VM is deployed using a memory mapping virtualizing the portion of physical memory. Checkpointing of an application executing in the first VM is caused, generating application state data of the application. The application is caused to execute in the second VM using the application state data. Process data of the application is caused to be updated in the second VM, the updating instructing the application to use the memory mapping.


