Anonymous Memory Page Sharing for Virtual Machine Overhead Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized systems, sharing memory pages between multiple virtual machines is challenging due to the need for data coherency and the overhead of maintaining multiple copies of identical memory pages, which can lead to increased memory usage and complexity in managing shared resources.

Innovation Solution

A method and system for sharing memory pages where candidate pages are identified, hashed, and matched, with an anonymous memory page created to share identical content among multiple virtual machines, reducing memory overhead by exposing a single shared page to multiple VMs, and ensuring data coherency through host-managed memory and I/O operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple copies of identical memory pages are maintained for each virtual machine, then data coherency is ensured, but memory overhead increases

Engineering Contradiction:
Improvedata coherencyVSAvoidmemory overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges identical memory pages from multiple virtual machines into a single shared physical memory page. The hypervisor identifies pages with identical content across different VMs and consolidates them, allowing multiple VMs to reference the same physical memory page through different virtual addresses. This eliminates redundant memory copies while maintaining isolation and coherency through controlled access mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal memory page that serves multiple virtual machines simultaneously. A single physical memory page is made accessible to multiple VMs that have identical content requirements, allowing the same memory resource to fulfill the needs of multiple consumers. This multi-functional approach reduces overall memory consumption while maintaining the functionality required by each individual VM.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Quantity of substance

If memory pages are shared among virtual machines, then memory overhead is reduced, but complexity in managing shared resources increases

Engineering Contradiction:
Improvememory overheadVSAvoidcomplexity in managing shared resources
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The hypervisor acts as an intermediary layer between virtual machines and shared memory pages. It manages the mapping between virtual addresses in different VMs and the shared physical memory page, handling access requests, coherence protocols, and conflict resolution. This intermediary approach abstracts the complexity of shared resource management from individual VMs while enabling efficient memory sharing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the memory management parameters by introducing shared page tables and modifying address translation mechanisms. Instead of traditional one-to-one mapping between virtual and physical memory, the system implements many-to-one mapping for shared pages, with dynamic control over access permissions and coherence states. This parameter change enables automated management of shared resources.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If identical memory pages are shared among virtual machines, then memory efficiency is enhanced, but data integrity maintenance becomes more challenging

Engineering Contradiction:
Improvememory efficiencyVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements dynamic memory sharing where the sharing state of memory pages is not fixed but can change based on access patterns and coherence requirements. The system dynamically identifies candidate pages for sharing, establishes sharing relationships, and can terminate sharing when integrity concerns arise. This dynamic approach allows the system to adapt to changing conditions while maintaining both efficiency and integrity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms that monitor access patterns, modification states, and coherence violations of shared memory pages. When a VM modifies a shared page or integrity issues are detected, the feedback loop triggers appropriate actions such as breaking the sharing relationship, creating private copies, or coordinating modifications across VMs. This feedback ensures data integrity while allowing efficient sharing during stable conditions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7500048B1Transparent page sharing on commodity operating systems
Publication Date: 2009.03.03 VMWARE INC
  • US7500048B1 patent drawing
  • US7500048B1 patent drawing
  • US7500048B1 patent drawing

AI summary

Methods and systems for sharing memory pages in virtual machines are described. Guest memory pages are identified as candidate memory pages. The candidate memory pages are hashed and the hash results of the candidate memory pages are compared. A determination is made on whether a hash match exists between a first candidate memory page and a second candidate memory page. If it is determined that a hash match exists, an anonymous memory page that includes the information of candidate memory pages is created and shared. As a result, embodiments effectively reduce memory overheads by, in one example, exposing a single anonymous memory page to multiple virtual machines.