Virtual Machine Memory Deduplication via Guest Feedback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional memory deduplication techniques performed by hypervisors on a periodic basis often result in misalignment with the creation speed of duplicate memory pages, leading to inefficient resource usage and potential memory pressure issues, as they either occur too frequently with low memory savings or too infrequently with duplicate page buildup.

Innovation Solution

Virtual machine guests monitor memory modifications and send scan indicators to the hypervisor to initiate deduplication based on the amount of modified memory, allowing the hypervisor to align deduplication frequency and target read-only or read-mostly memory pages for efficient deduplication, reducing unnecessary processing and improving scanning speeds.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If memory deduplication is performed periodically by the hypervisor, then memory pages storing duplicate content are consolidated, but the deduplication frequency may be misaligned with the creation speed of duplicate memory pages, resulting in inefficient resource usage

Engineering Contradiction:
Improvememory usageVSAvoidprocessing efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The virtual machine guest monitors memory page modifications and provides feedback to the hypervisor by sending scan indicators when duplicate memory pages are detected. This feedback mechanism allows the hypervisor to align deduplication operations with the actual creation rate of duplicate pages, improving both memory consolidation effectiveness and processing efficiency.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The virtual machine guest performs preliminary detection of duplicate memory pages and notifies the hypervisor before full deduplication is required. This preliminary action allows the system to prepare for deduplication operations at optimal moments, reducing the lag between duplicate page creation and consolidation.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If memory deduplication is performed frequently, then duplicate memory pages are consolidated, but processing resources are wasted when few duplicates are located

Engineering Contradiction:
Improvememory savingsVSAvoidprocessing resources
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The system uses feedback from virtual machine guests about actual duplicate page detection to dynamically adjust deduplication frequency. When guests indicate few duplicates exist, the hypervisor reduces scanning frequency, conserving processing resources while maintaining memory savings when duplicates are present.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The deduplication frequency is made dynamic rather than static, adjusting based on the actual presence and creation rate of duplicate memory pages as reported by virtual machine guests. This dynamic approach optimizes the balance between memory savings and processing resource consumption.

Inventive Principle:
Principle #15Dynamics

3Use of energy by moving object

If memory deduplication is performed infrequently, then processing resources are conserved, but duplicate memory pages build up causing memory pressure

Engineering Contradiction:
Improveprocessing resourcesVSAvoidmemory pressure
Core Design Contradiction:
Use of energy by moving objectVSQuantity of substance

Solution Approach 1:

Virtual machine guests continuously monitor memory page modifications and provide feedback to the hypervisor. When duplicate pages are detected, guests send scan indicators that trigger timely deduplication operations, preventing memory pressure buildup while avoiding unnecessary processing when duplicates are absent.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The virtual machine guest performs self-service by monitoring its own memory page modifications and initiating deduplication requests when needed. This self-service approach allows the system to respond to actual memory conditions without requiring continuous hypervisor intervention, reducing processing overhead while preventing memory pressure.

Inventive Principle:
Principle #25Self-service

4Quantity of substance

If the hypervisor scans all memory pages to identify duplicates, then comprehensive deduplication is achieved, but scanning time increases

Engineering Contradiction:
Improvememory consolidationVSAvoidscanning time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent extracts the duplicate detection function from the hypervisor and places it in the virtual machine guest. The guest monitors only its own memory page modifications and sends targeted scan indicators to the hypervisor, eliminating the need for the hypervisor to scan all memory pages and significantly reducing scanning time.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The memory monitoring and duplicate detection process is segmented between the virtual machine guest and the hypervisor. The guest handles local monitoring and detection, while the hypervisor performs consolidation only when requested. This segmentation distributes the scanning workload and reduces the time the hypervisor must spend scanning memory pages.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10318161B2Virtual machine initiated memory deduplication
Publication Date: 2019.06.11 RED HAT ISRAEL
  • US10318161B2 patent drawing
  • US10318161B2 patent drawing
  • US10318161B2 patent drawing

AI summary

Methods, systems, and computer program products are included for initiating deduplication of memory by virtual machine guests. A method includes providing a virtual machine, by a hypervisor, and running a guest on the virtual machine. The guest sends the hypervisor a scan indicator based on an amount of the virtual machine's memory that has been modified. Responsive to the scan indicator, the hypervisor triggers memory scanning and deduplication of memory pages that are identified by the memory scanning as storing identical content.