Shared Page Balloon Memory Management for VM Overcommitment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtual computing environments, memory over-commitment can lead to performance issues due to the reallocation of physical memory pages from balloon applications, especially when guest operating systems reset or access these pages without the virtual infrastructure's knowledge, causing inefficiencies and potential errors.

Innovation Solution

Mapping guest physical pages allocated to balloon applications to a shared page in host machine memory, allowing for read and write operations while detecting and resetting balloon pages to manage machine memory effectively, thereby avoiding reallocation and ensuring seamless operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If balloon pages are backed with individual machine memory pages, then read operations can proceed normally, but memory consumption increases and reallocation efficiency decreases

Engineering Contradiction:
Improvereadability of balloon pagesVSAvoidmachine memory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Multiple balloon pages from different virtual machines are merged to share a single machine memory page (shared page). When a read operation occurs on any balloon page, the content is copied from the shared page, ensuring readability while minimizing actual memory consumption. This resolves the contradiction by combining multiple individual page allocations into a single shared resource.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Instead of maintaining separate machine memory pages for each balloon page, the system creates a single shared page and copies its content to satisfy read requests for individual balloon pages. This copying mechanism ensures that each balloon page appears readable while the underlying storage is shared, reducing overall memory consumption.

Inventive Principle:
Principle #26Copying

2Productivity

If balloon pages are backed with shared page, then memory reallocation efficiency improves, but detection of guest OS resets becomes challenging

Engineering Contradiction:
Improvememory reallocation efficiencyVSAvoiddetection of guest OS resets
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The system implements a feedback mechanism using write monitoring on the shared page. When the shared page is written to (which occurs when a balloon page needs to be reset due to guest OS reset), this write event serves as feedback that triggers the virtual infrastructure to detect and respond to the reset condition. This resolves the contradiction by using the shared page's write operations as detectable signals.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The shared page acts as an intermediary that mediates between the balloon pages and the virtual infrastructure's detection mechanism. By monitoring writes to this intermediary shared page, the system can indirectly detect guest OS resets without requiring direct monitoring of each individual balloon page, thus maintaining detection capability while using shared memory for efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If memory over-commitment is implemented, then more virtual machines can be packed onto a single host, but performance issues arise due to frequent reallocation

Engineering Contradiction:
Improvenumber of virtual machines per hostVSAvoidsystem performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system merges balloon pages from multiple virtual machines into shared machine memory pages, reducing the total number of physical pages required. This enables more virtual machines to be accommodated on a single host (increasing over-commitment) while the shared page mechanism reduces frequent reallocation operations, thereby maintaining system performance.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system changes the memory allocation parameter from individual dedicated pages per balloon to shared pages. This parameter change allows more virtual machines to be packed onto the host by reducing the memory footprint per VM, while the shared page copying mechanism ensures that performance is maintained by avoiding frequent reallocation of individual pages.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9262214B2Efficient readable ballooning of guest memory by backing balloon pages with a shared page
Publication Date: 2016.02.16 VMWARE INC
  • US9262214B2 patent drawing
  • US9262214B2 patent drawing
  • US9262214B2 patent drawing

AI summary

Methods, systems, and computer programs for managing physical memory in a host of a virtual infrastructure are presented. One method includes an operation for detecting that a guest physical page (GPP) of a virtual machine (VM) is a balloon page. The GPP, previously mapped to a machine page (MP), is re-mapped to a shared page of memory in order to free the MP, such that a read to the GPP causes a read to the shared page of memory. Further, the method includes an operation for detecting a write to the shared page of memory after the re-mapping of the GPP to the shared page, where the write to the shared page is caused by a write to the GPP. After detecting the write, all balloon pages created by the VM are reset in order to reset the balloon application in the VM.