VM Memory Management via Balloon Driver WSS Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Hypervisors struggle with dynamic and precise adjustment of memory allocation for Virtual Machines (VMs), leading to inefficient resource distribution and increased page faults due to overcommitment, as they cannot accurately estimate memory usage by individual VMs.

Innovation Solution

A method for automated dynamic memory reallocation in VMs using a balloon agent driver that monitors Guest OS statistics and adjusts ballooned memory based on Working Set Size (WSS) and virtualization statistics, allowing for on-the-fly memory allocation adjustments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional Hypervisors allocate fixed memory to VMs based on aggregation approximation, then memory allocation is simple to implement, but memory distribution is inefficient and causes page faults

Engineering Contradiction:
Improvememory distribution efficiencyVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic memory allocation by continuously monitoring Working Set Size (WSS) metrics from each VM and adjusting balloon driver sizes in real-time. The Hypervisor transitions from static fixed allocation to dynamic adjustment based on actual memory usage patterns, allowing memory to be reallocated from idle VMs to active VMs without manual intervention.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system establishes a feedback loop where the Hypervisor monitors WSS metrics from each VM, compares current memory usage against allocated memory, and adjusts balloon driver sizes accordingly. This closed-loop control enables the system to respond to changing memory demands and correct imbalances automatically.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If balloon size is changed proportionally for all VMs based on aggregated load, then memory reallocation is simplified, but individual VM memory needs are not met accurately

Engineering Contradiction:
Improvememory usage estimation accuracyVSAvoidmemory reallocation operation
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent segments the aggregated memory management approach into individual VM-level management. Instead of treating all VMs as a single pool, the system calculates and adjusts balloon sizes for each VM independently based on its specific WSS metrics, enabling precise memory allocation tailored to each VM's actual needs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies local quality by customizing memory allocation for each VM based on its individual workload characteristics. Each VM receives memory proportional to its specific requirements rather than uniform proportional adjustment, allowing hot VMs to receive more memory while cold VMs release memory without affecting overall system simplicity.

Inventive Principle:
Principle #3Local quality

3Productivity

If assigned memory exceeds physical RAM on host (overcommit), then resource utilization increases, but page faults increase due to insufficient memory

Engineering Contradiction:
Improveresource utilizationVSAvoidpage fault rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements self-service memory management where each VM's balloon driver automatically reports its actual memory usage (WSS) to the Hypervisor. The Hypervisor uses this self-reported data to make intelligent reallocation decisions, allowing the system to maintain overcommit safely by ensuring that memory is only reallocated from VMs that have excess capacity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9910768B1Method for memory management for virtual machines
Publication Date: 2018.03.06 VIRTUOZZO INT GMBH
  • US9910768B1 patent drawing
  • US9910768B1 patent drawing
  • US9910768B1 patent drawing

AI summary

A method and system for management of physical memory of Virtual Machines (VMs) using dynamic memory reallocation based on estimated usages by each of the VMs is provided. A host has different VMs with respective Guest OSs running on the host OS. The Guest OS of an exemplary VM has a balloon agent driver running on it. The balloon agent driver collects Guest OS statistics and calculates Working Set Size (WSS) of the Guest OS based on the Guest OS statistics. The WSS is provided to a Hypervisor via a Virtual Machine Monitor (VMM). The Hypervisor adjusts the size of the ballooned memory based on the calculated WSS and the virtualization statistics collected by the Hypervisor using the VMM.