Virtual Memory Page Deduplication via Prioritized Candidate Identification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtual machines are less efficient than physical machines when accessing hardware indirectly, and the inefficient allocation of memory leads to varying and unstable performance, especially when multiple virtual machines share the same physical machine, resulting in suboptimal memory usage and hindered VM migration across networks.
Innovation Solution
An indicating application analyzes memory pages associated with applications in virtual machines, identifies candidate duplicate memory pages, and generates reports to prioritize memory scanning, allowing the hypervisor to quickly deduplicate and reclaim memory, thereby optimizing memory utilization and accelerating VM migration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If memory pages are scanned in arbitrary order, then the scanning process is simple, but the speed of identifying duplicate memory pages is slow
Solution Approach 1:
The patent applies preliminary action by generating a prioritization report before scanning memory pages. The report pre-identifies candidate duplicate memory pages based on hashing algorithms and priority criteria, so that the subsequent scanning process can focus on these pre-selected pages rather than scanning all memory pages arbitrarily. This preliminary preparation significantly accelerates the identification of duplicate memory pages while maintaining a manageable scanning complexity.
2Quantity of substance
If all memory pages are allocated to virtual machines, then memory availability is maximized, but memory utilization efficiency decreases due to duplicate pages
Solution Approach 1:
The patent applies discarding and recovering by identifying duplicate memory pages through prioritized scanning and hashing comparison, then reclaiming the redundant duplicate pages. The system detects when multiple virtual machines have identical memory page contents, marks these as duplicates, and recovers the wasted memory resources by consolidating them. This allows the system to maintain high memory availability while improving utilization efficiency by eliminating redundant allocations.
3Loss of time
If memory deduplication is performed without prioritization, then the process is straightforward, but the time required to identify and process duplicate pages is excessive
Solution Approach 1:
The patent applies segmentation by dividing the memory scanning process into prioritized segments based on the generated report. Instead of processing all memory pages uniformly, the system segments them into high-priority candidate duplicates and low-priority non-candidates. The hashing algorithm and priority criteria create distinct processing segments that can be handled differently, significantly reducing the time required to identify duplicates while maintaining a structured and manageable process complexity.
Data Source
AI summary
A computer-implemented method to identify candidate duplicate memory pages in a virtual environment is described. At least one memory page in memory is analyzed. The at least one memory page is associated with an application executing in a virtual machine. Information for the at least one memory page in memory is collected when the at least one memory page is identified as being a candidate duplicate memory page. The information identifies the application associated with the at least one memory page. A report is generated that includes the collected information for the at least one memory page.


