Hypervisor IPI Broadcast for Virtual CPU Overcommit

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computer systems, CPU overcommit scenarios lead to significant delays and inefficiencies due to the need for virtual CPUs (vCPUs) to constantly transition between active and idle states, causing increased IPI overhead and failure to utilize host CPUs effectively.

Innovation Solution

The hypervisor detects and broadcasts inter-processor interrupts (IPIs) to a subset of vCPUs, keeping them in a guest execution mode for extended periods, allowing communication via memory monitoring without VM exits, and transitions them to idle or halt states when necessary, thereby reducing overhead and improving CPU utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If vCPUs constantly transition between active and idle states in CPU overcommit scenarios, then CPU overcommit is supported, but IPI overhead increases significantly and CPU utilization efficiency decreases

Engineering Contradiction:
ImproveCPU overcommit supportVSAvoidIPI overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The hypervisor preliminarily sets up vCPUs in a half-active state with memory monitoring enabled before actual work begins. This preliminary configuration allows vCPUs to detect IPIs without full VM exits, reducing the overhead of state transitions while maintaining CPU overcommit capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary half-active state between idle and fully active states. In this intermediate state, vCPUs can monitor memory for IPIs without completely exiting to the hypervisor, thereby reducing the energy loss and overhead associated with frequent full state transitions while still supporting CPU overcommit.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Use of energy by moving object

If vCPUs transition to idle states to save power, then power consumption decreases, but scheduling flexibility and response time increase

Engineering Contradiction:
Improvepower consumptionVSAvoidscheduling delay
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The hypervisor preliminarily configures vCPUs in a half-active state with memory monitoring enabled, so when work needs to start, vCPUs are already prepared to receive and process IPIs immediately without full initialization delays, reducing scheduling time while maintaining power savings.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic state management where vCPUs can transition between half-active and fully active states based on actual workload needs. This dynamic approach allows the system to optimize between power consumption and scheduling response time by keeping vCPUs in the most appropriate state rather than forcing constant transitions.

Inventive Principle:
Principle #15Dynamics

3Reliability

If traditional IPI handling is used with frequent VM exits, then vCPU control is precise, but overhead and processing time increase significantly

Engineering Contradiction:
ImprovevCPU control precisionVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces an intermediary memory monitoring mechanism that allows vCPUs to detect IPIs without full VM exits. This intermediary approach maintains precise vCPU control by allowing the hypervisor to manage vCPU states while reducing the time overhead associated with frequent complete context switches and VM exits.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the traditional mechanical approach of using full VM exits for IPI handling with a more efficient memory monitoring mechanism. This substitution allows the system to maintain control precision while significantly reducing processing time by avoiding the overhead of complete state transitions.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10949243B2Reducing IPI overhead with CPU overcommit support via IPI broadcast
Publication Date: 2021.03.16 RED HAT INC
  • US10949243B2 patent drawing
  • US10949243B2 patent drawing
  • US10949243B2 patent drawing

AI summary

Systems and methods for IPI overhead reduction with overcommit support are disclosed. In one implementation, a hypervisor running on a host computer system may detect an inter-processor interrupt (IPI) associated with a first virtual processor of a plurality of virtual processors of a virtual machine running on the host computer system. The hypervisor may send the IPI to the plurality of virtual processors. Responsive to determining that at least one virtual processor of the plurality of virtual processors is in an active state, the hypervisor may cause the plurality of virtual processors to stay in a guest execution mode. Additionally, responsive to determining that all virtual processors of the plurality of virtual processors entered an idle state, the hypervisor may cause the plurality of virtual processors to exit the guest execution mode.