Hypervisor Memory Thrashing Detection Without Guest Agent

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtual computing systems lack an effective method for the hypervisor to detect memory thrashing in guest physical memory without relying on a trusted guest agent, which is not always feasible due to security concerns, leading to potential underprovisioning and performance penalties.

Innovation Solution

The hypervisor monitors page fault indications and information to estimate the revolving memory size between guest physical memory and swap disk, determining underprovisioning by comparing this size to thresholds, and raises alarms to mitigate thrashing by increasing guest physical memory allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a trusted guest agent is used to detect memory thrashing, then detection accuracy is improved, but security concerns and system complexity increase

Engineering Contradiction:
Improvedetection accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts the detection functionality from the guest agent and implements it directly in the hypervisor. The hypervisor now directly monitors page fault indications and information from the virtual machine, eliminating the need for a trusted guest agent while maintaining detection capability. This reduces system complexity and security requirements while preserving the ability to detect memory thrashing conditions.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If guest physical memory allocation is increased to prevent thrashing, then virtual machine performance is improved, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improvevirtual machine performanceVSAvoidresource utilization efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent implements a feedback mechanism where the hypervisor continuously monitors page fault indications and information from the virtual machine. Based on this real-time feedback, the hypervisor dynamically determines whether memory thrashing is occurring and adjusts guest physical memory allocation accordingly. This allows the system to allocate memory only when necessary, improving virtual machine performance during thrashing conditions while maintaining high resource utilization efficiency during normal operation.

Inventive Principle:
Principle #23Feedback

3Reliability

If page fault monitoring is implemented without a guest agent, then security is improved, but detection capability deteriorates

Engineering Contradiction:
ImprovesecurityVSAvoiddetection capability
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The patent enables the hypervisor to perform self-service monitoring by directly observing page fault indications and information from the virtual machine. The hypervisor independently analyzes this data to detect memory thrashing conditions without requiring a trusted guest agent. This self-service approach maintains security by eliminating the need for guest agent trust while preserving detection capability through direct hypervisor-level monitoring of memory access patterns.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10691481B2System and method for detection of underprovisioning of memory in virtual machines
Publication Date: 2020.06.23 NUTANIX INC
  • US10691481B2 patent drawing
  • US10691481B2 patent drawing
  • US10691481B2 patent drawing

AI summary

A system and method include determining underprovisioning of a guest physical memory of a virtual machine running on a computing node. The node includes hardware resources that are mapped the guest physical memory by a hypervisor. The hypervisor receives page fault information from the virtual machine based on page faults in the virtual machine. The hypervisor generates a table that includes virtual memory address-process indicator pair entries and corresponding page fault numbers. The hypervisor removes those entries that have a corresponding page fault number that is less than a first threshold value. The hypervisor determines a size of a revolving memory based on the number of remaining entries and a page size of the guest physical memory. If the revolving memory size is less than a second threshold value in relation to the allocated size of the guest physical memory, the hypervisor indicates underprovisioning of the guest physical memory.