Page Cache Management During Virtual Machine Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional page cache management during virtualized component migration is inefficient due to the time-consuming flush operation to slow networked storage, leading to increased application downtime and user experience issues.
Innovation Solution
The method involves obtaining a list of outstanding store requests from the page cache at the source host machine, transmitting this list and associated data to the destination host machine, and canceling these requests at the source, thereby avoiding the flush operation and minimizing access to slow storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the conventional flush operation is performed to write page cache data to slow networked storage, then data reliability is ensured, but migration time increases and productivity decreases
Solution Approach 1:
The patent creates a copy of the page cache data and transfers it to the destination host during migration, rather than flushing to slow networked storage. This copying approach maintains data reliability while avoiding the speed bottleneck of networked storage flush operations.
Solution Approach 2:
The patent extracts the page cache data from the source host's storage system and handles it separately through direct memory-to-memory transfer during migration, removing it from the path of slow networked storage flush operations.
2Stability of the object's composition
If the flush operation is performed during migration, then data consistency is maintained, but application downtime increases and user experience deteriorates
Solution Approach 1:
The patent performs preliminary actions by identifying and tracking dirty pages before migration begins, and prepares the data transfer mechanism in advance. This allows the actual data transfer to occur efficiently during migration without causing extended downtime.
Solution Approach 2:
By copying page cache data directly to the destination host's memory during migration rather than flushing to storage, the patent maintains data consistency while significantly reducing the time application services remain unavailable.
3Reliability
If slow networked storage is accessed for flush operations, then data is persisted reliably, but processing resource efficiency decreases
Solution Approach 1:
The patent replaces the mechanical storage flush operation (writing to slow networked storage) with a direct memory-to-memory data transfer mechanism during migration. This substitution eliminates the bottleneck of networked storage access while maintaining data persistence through the transfer process.
Solution Approach 2:
By copying data through memory buffers during migration rather than flushing to networked storage, the patent achieves data persistence with significantly improved processing resource efficiency, avoiding the energy-intensive and slow storage I/O operations.
Data Source
AI summary
Systems and methods for page cache management during migration are disclosed. A method may include initiating, by a processing device of a source host machine, a migration process for migration of a virtualized component from the source host machine to a destination host machine. The method may also include obtaining a list of outstanding store requests corresponding to the virtualized component, the outstanding store requests maintained in a page cache of the source host machine and transmitting the list to the destination host machine. The method may further include providing instructions to cancel the outstanding store requests in the page cache, and providing instructions to clear remaining entries associated with the virtualized component in the page cache. The virtualized component may include a virtual machine or a container, and the outstanding store requests may correspond to requests for non-shared resources, such as a memory page. A request for the list may be generated by a user space component of an operating system (OS) of the source host machine, and transmitted to a kernel space component of a virtualization engine of the processing device.


