Post-Copy Migration Memory Pre-Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Post-copy live migration of applications with large memory usage often fails due to insufficient resources on the destination host, and conventional methods restrict live migration capabilities, leading to performance issues and increased migration times.
Innovation Solution
A migration module that assesses the resource needs of an application and pre-allocates memory on the destination host before migration, ensuring sufficient resources are available and allowing for successful post-copy live migration, while also managing device direct-mapping to prevent out-of-memory conditions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If post-copy live migration is performed without pre-allocation, then migration speed is improved, but resource insufficiency on destination host causes migration failure
Solution Approach 1:
The system performs preliminary resource assessment and memory pre-allocation on the destination host before initiating the actual migration process. This ensures that sufficient resources are available when the migration completes, preventing migration failure while maintaining the speed benefits of post-copy migration.
Solution Approach 2:
The system dynamically adjusts resource allocation based on the migration progress and destination host capacity. Memory pages are allocated on-demand during migration, and the system adapts to changing resource availability to ensure successful migration completion.
2Device complexity
If conventional migration methods are used, then resource management is simplified, but live migration capabilities are restricted leading to performance issues
Solution Approach 1:
The migration process is segmented into distinct phases: resource assessment, memory pre-allocation, migration execution, and post-migration completion. This segmentation allows each phase to be optimized independently, improving overall migration efficiency while maintaining manageable resource management complexity.
Solution Approach 2:
The system introduces a migration management intermediary that handles resource assessment and coordination between source and destination hosts. This intermediary abstracts the complexity of resource management while enabling efficient live migration capabilities.
3Device complexity
If memory is not pre-allocated on destination host, then migration process is simpler, but out-of-memory conditions occur during migration
Solution Approach 1:
Memory pages are pre-allocated on the destination host before migration completion. This preliminary action ensures that when memory pages are transferred during migration, the destination host has the necessary memory capacity to receive and accommodate them, preventing out-of-memory conditions.
Solution Approach 2:
The system provides a cushion of pre-allocated memory capacity on the destination host that acts as a buffer during migration. This cushion prevents resource exhaustion and ensures migration stability even when large amounts of memory need to be transferred.
Data Source
AI summary
A supervisor on a destination host receives a request to migrate an application from a source host to the destination host and determines a total amount of memory associated with the application on the source host. The supervisor on the destination host allocates one or more memory pages in a page table on the destination host to satisfy the total amount of memory associated with the application on the source host, where the one or more memory pages are to be associated with the application on the destination host. Responsive to determining that the one or more memory pages have been allocated on the destination host, the supervisor on the destination host initiates migration of the application from the source host to the destination host.


