Hypervisor Dynamic Pause Loop Exiting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtual machines managed by hypervisors face inefficiencies due to limited hardware features for pause loop exiting, which are restricted to software with the highest privilege level, leading to wasted processing time during spin locks.

Innovation Solution

Implementing a software-based dynamic pause loop exiting mechanism within the hypervisor, where thresholds for enabling and disabling pause exiting are set to optimize virtual machine management, allowing pause exiting for software without the highest privilege level and adjusting these thresholds based on elapsed time to balance resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If hardware pause loop exiting features are used, then processing efficiency is improved, but accessibility is limited to software with the highest privilege level

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsoftware accessibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a hypervisor as an intermediary layer between the hardware pause loop exiting feature and the virtual machine software. The hypervisor captures and handles pause instructions from virtual machine software that lacks the highest privilege level, effectively mediating access to the hardware feature. This allows software without special privilege levels to benefit from efficient pause loop exiting while maintaining the hardware security model.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements a software-based pause exiting mechanism in the hypervisor that replicates the functionality of hardware pause loop exiting. By copying the essential behavior of the hardware feature at the software level, the system enables pause exiting capability for virtual machine software that cannot directly access hardware features, thus extending accessibility while preserving the efficiency benefit.

Inventive Principle:
Principle #26Copying

2Productivity

If pause exiting is frequently enabled, then virtual machine management efficiency is improved, but resource allocation stability deteriorates

Engineering Contradiction:
Improvevirtual machine management efficiencyVSAvoidresource allocation stability
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The patent implements dynamic threshold adjustment for enabling and disabling pause exiting based on system conditions and elapsed time. The hypervisor monitors system state and adjusts the thresholds dynamically, allowing pause exiting to be enabled when beneficial for efficiency while disabling it when stability is prioritized. This dynamic approach resolves the contradiction by adapting the system behavior to current conditions rather than using fixed settings.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameters (thresholds) for enabling and disabling pause exiting based on system state and elapsed time. By adjusting these parameters dynamically, the system can optimize virtual machine management efficiency when needed while maintaining resource allocation stability when required, thus resolving the contradiction between efficiency improvement and stability maintenance.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11194615B2Dynamic pause exiting
Publication Date: 2021.12.07 RED HAT INC
  • US11194615B2 patent drawing
  • US11194615B2 patent drawing
  • US11194615B2 patent drawing

AI summary

A method performed by a physical computing system includes, with a hypervisor, determining a first time difference between when pause exiting was last enabled for the virtual machine and present time. The method further includes, with the hypervisor, in response to determining that the first time difference is greater than an enablement threshold, enabling pause exiting. The method further includes, with the hypervisor, with pause loop exiting enabled, determining a second time difference between when pause exiting was last disabled and the present time. The method further includes, with the hypervisor, disabling pause exiting in response to determining that the second time difference exceeds a disablement threshold.