Cooperative Greedy Ballooning for Virtual Machine Memory Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtual machines often face memory inefficiencies due to insufficient physical memory, leading to second-level paging, which results in high page fault rates and inefficient memory allocation, as they use slower secondary storage media like hard drives for memory support.

Innovation Solution

Implementing dynamic memory balancing and cooperative 'greedy ballooning' techniques, where the guest operating system reduces guest memory pages while maintaining system memory page set size, allowing the host OS to efficiently allocate memory and reduce second-level paging activities by prioritizing memory allocation during boot-up and normal operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If second level paging is used to back guest memory pages when system memory is insufficient, then the virtual machine can continue to operate with more guest memory pages, but the page fault rate increases and memory access performance deteriorates due to reliance on slower secondary storage media

Engineering Contradiction:
Improveguest memory page capacityVSAvoidmemory access speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent applies preliminary action by proactively allocating system memory pages to the virtual machine before they are needed, based on predicted memory usage patterns. The system monitors guest memory access patterns and pre-allocates system memory pages, thereby avoiding the need for second-level paging and reducing page faults. This is evident in the system's ability to maintain high memory access speeds while supporting expanded guest memory capacity.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the system allocates more system memory pages to the virtual machine, then guest memory performance improves and second-level paging is reduced, but the host system has less memory available for other processes

Engineering Contradiction:
Improvevirtual machine memory efficiencyVSAvoidavailable system memory
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements dynamics by creating a dynamic memory allocation system that continuously monitors both virtual machine memory usage patterns and host system memory availability. The system adjusts system memory page allocations in real-time, expanding allocations when the VM shows sustained memory demand and contracting when host memory pressure increases. This dynamic balancing allows the system to optimize VM memory efficiency while preventing host system resource exhaustion.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms by monitoring page fault rates, memory access patterns, and host system memory status, then using this information to adjust allocation decisions. When the system detects high page fault rates indicating second-level paging activity, it triggers reallocation of system memory pages to the VM. Conversely, when host memory becomes constrained, the system reduces VM allocations. This closed-loop feedback control optimizes the trade-off between VM performance and host resource availability.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If the virtual machine uses more guest memory pages than assigned system memory pages, then the virtual machine can support larger applications, but second-level paging activity increases causing high page fault rates

Engineering Contradiction:
Improvevirtual machine memory scalabilityVSAvoidmemory operation reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system applies preliminary action by proactively monitoring guest memory access patterns and predicting future memory needs before second-level paging is triggered. When the system detects that the VM is approaching memory allocation limits or showing patterns that would lead to page faults, it pre-allocates additional system memory pages. This prevents the VM from entering second-level paging mode, thereby maintaining both scalability and operational reliability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9619263B2Using cooperative greedy ballooning to reduce second level paging activity
Publication Date: 2017.04.11 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9619263B2 patent drawing
  • US9619263B2 patent drawing
  • US9619263B2 patent drawing

AI summary

In one embodiment, a virtual machine manager may use dynamic memory balancing and greedy ballooning to improve guest memory performance. A memory 130 may have a system memory page set with a system memory page set size associated with the virtual machine to support a guest memory page set of the virtual machine with a guest memory page set size. A processor 120 may instruct the virtual machine to execute a reduction of the guest memory page set size. The processor 120 may maintain the system memory page set size during the reduction.