Virtual Memory Page Deduplication via Prioritized Candidate Identification

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvespeed of identifying duplicate memory pagesVSAvoidcomplexity of memory scanning process
Core Design Contradiction:
SpeedVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvememory availabilityVSAvoidmemory utilization efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

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.

Inventive Principle:
Principle #34Discarding and recovering

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

Engineering Contradiction:
Improvetime required for memory deduplicationVSAvoidcomplexity of deduplication process
Core Design Contradiction:
Loss of timeVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8909845B1Systems and methods for identifying candidate duplicate memory pages in a virtual environment
Publication Date: 2014.12.09 CA TECH INC
  • US8909845B1 patent drawing
  • US8909845B1 patent drawing
  • US8909845B1 patent drawing

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.