Memory Scheduler VM Page Classification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In host computer systems supporting multiple virtual machines, memory over-commitment leads to physical memory shortages, degrading the performance of other virtual machines due to inefficient memory management.

Innovation Solution

A memory scheduler categorizes virtual machine memory pages into usage classes, estimates page requirements, and employs reclamation techniques like ballooning, swapping, and compression to dynamically allocate and reclaim memory based on host and virtual machine states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If memory over-commitment is implemented to support more virtual machines, then the number of supported virtual machines increases, but physical memory shortages occur degrading performance of other virtual machines

Engineering Contradiction:
Improvenumber of supported virtual machinesVSAvoidperformance of virtual machines
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements dynamic memory management by continuously monitoring memory usage patterns of virtual machines and adjusting memory allocation in real-time. The system categorizes memory pages into different usage classes (active, inactive, reusable) and dynamically reclaims memory from VMs with low usage while allocating to VMs with high usage demands, resolving the contradiction between supporting more VMs and maintaining performance reliability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms by tracking memory access patterns and usage characteristics of each virtual machine. Based on this feedback, the memory scheduler makes intelligent decisions about which memory pages to reclaim and which to preserve, ensuring that memory reclamation does not degrade VM performance while enabling support for additional virtual machines through effective memory over-commitment

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If large amounts of virtual memory are allocated to handle unexpected load increases, then the VM can handle load increases, but physical memory demand increases limiting available memory for other VMs

Engineering Contradiction:
Improveability to handle load increasesVSAvoidavailable physical memory for other VMs
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent changes the state parameter of memory pages by categorizing them into different usage classes based on their access patterns. Memory pages are dynamically reclassified from active to inactive or reusable states when their usage characteristics change, allowing the system to reclaim memory that was previously allocated for potential load increases but is not currently being used, thus making memory available for other VMs while maintaining the ability to handle load increases

Inventive Principle:
Principle #35Parameter changes

3Reliability

If memory is not reclaimed from VMs with unused allocated memory, then the allocated memory remains available to the VM, but physical memory shortages occur affecting other VMs

Engineering Contradiction:
Improvememory availability to VMVSAvoidphysical memory for host system
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts unused memory pages from virtual machines based on usage pattern analysis. The memory scheduler identifies memory pages that are allocated to VMs but not currently being used (categorized as inactive or reusable), and reclaims these pages for reallocation to the host system or other VMs, while maintaining the virtual memory allocation to ensure VM reliability and availability

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9529609B2Tracking guest memory characteristics for memory scheduling
Publication Date: 2016.12.27 VMWARE INC
  • US9529609B2 patent drawing
  • US9529609B2 patent drawing
  • US9529609B2 patent drawing

AI summary

A system and method are disclosed for improving operation of a memory scheduler operating on a host machine supporting virtual machines (VMs) in which guest operating systems and guest applications run. For each virtual machine, the host machine hypervisor categorizes memory pages into memory usage classes and estimates the total number of pages for each memory usage class. The memory scheduler uses this information to perform memory reclamation and allocation operations for each virtual machine. The memory scheduler further selects between ballooning reclamation and swapping reclamation operations based in part on the numbers of pages in each memory usage class for the virtual machine. Calls to the guest operating system provide the memory usage class information. Memory reclamation not only can improve the performance of existing VMs, but can also permit the addition of a VM on the host machine without substantially impacting the performance of the existing and new VMs.