Physical Host Memory Migration Using Dirty Bitmap Buffers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Memory migration in physical hosts is time-consuming due to write-protection operations, leading to performance degradation and poor user experience.
Innovation Solution
Implement a physical host with buffers and a processor to manage dirty pages during migration, using a migration window to divide the migration process, and employ a memory copy engine to handle dirty pages in multiple rounds, reducing the need for full write-protection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If write-protection operation is executed on memory during migration, then data consistency is ensured, but migration time increases and performance decreases
Solution Approach 1:
The system performs preliminary actions by setting dirty bits in page table entries before migration to identify pages that will be modified. This allows the migration process to focus only on dirty pages that need write-protection, rather than protecting all pages, thereby reducing migration time while maintaining data consistency.
Solution Approach 2:
Instead of applying write-protection to all memory pages during migration, the system applies it only to identified dirty pages. This partial action approach reduces the scope of write-protection operations, decreasing migration time and performance impact while still ensuring data consistency for the critical dirty pages.
2Reliability
If full write-protection is applied during memory migration, then data integrity is maintained, but user access is blocked and user experience deteriorates
Solution Approach 1:
The system preliminarily identifies dirty pages by setting dirty bits in page table entries before migration begins. This preliminary identification allows the system to apply write-protection only to necessary pages, enabling users to continue accessing clean pages without interruption and maintaining data integrity only where needed.
Solution Approach 2:
The system applies different treatment to different pages: dirty pages receive write-protection to maintain data integrity, while clean pages remain accessible to users. This localized quality approach ensures data integrity is maintained only where necessary (on dirty pages) while preserving user access to clean pages, thus improving ease of operation.
3Device complexity
If memory migration is performed without segmentation, then the process is simple, but the entire memory must be migrated at once causing performance degradation
Solution Approach 1:
The system segments the memory migration process by dividing memory into pages and identifying dirty pages within those pages. Migration can then proceed page-by-page or in smaller batches rather than migrating entire memory blocks at once. This segmentation reduces the impact on host performance by allowing other operations to continue while migration progresses incrementally.
4Reliability
If dirty pages are tracked using traditional methods, then all pages must be monitored, but this increases time consumption and reduces efficiency
Solution Approach 1:
Instead of monitoring all memory pages for dirtiness, the system uses partial action by setting dirty bits only when pages are actually modified and tracked only those dirty pages during migration. This approach maintains accurate dirty page tracking while significantly improving efficiency by reducing the monitoring scope from all pages to only the subset that is actually dirty.
Data Source
AI summary
A physical host includes a memory, a first buffer, a second buffer, a third buffer and a processor. The first buffer stores a log regarding dirty pages. The second buffer stores a dirty bitmap, where the dirty bitmap is written into the second buffer according to the log read from the first buffer. The third buffer stores the dirty bitmap. The processor obtains the current memory address to be migrated and a destination memory address, and marks a page table corresponding to the memory address to be migrated as dirty pages and writes the log marked as the dirty pages into the first buffer when the memory address to be migrated is written. The processor includes a memory copy engine for reading the dirty bitmap from the third buffer, and copying the content corresponding to the dirty pages to the destination memory according to the dirty bitmap.


