Guest Interrupt Manager for Virtual Machine Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtualization environments experience significant latency in interrupt delivery due to software-based mechanisms, which can be up to 100 times longer than in non-virtualized environments, affecting performance and efficiency.

Innovation Solution

A system with a guest interrupt manager that maintains an interrupt request state for each destination guest, allowing for direct and efficient delivery of interrupts without software intervention, using a data structure to track and update interrupt states, and supporting atomic operations to ensure accurate and timely interrupt handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software-based interrupt delivery mechanisms are used in virtualized environments, then interrupt delivery can be implemented with full virtualization support, but interrupt processing latency increases significantly (up to 100 times longer than non-virtualized environments)

Engineering Contradiction:
Improvevirtualization supportVSAvoidinterrupt processing latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system segments interrupt handling into two distinct paths: a fast path for active guests that uses direct hardware access, and a slow path for inactive guests that uses software-based delivery. This segmentation allows the system to maintain full virtualization support while minimizing latency for the common case of active guests.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (the interrupt request state data structure and guest interrupt manager) that mediates between the interrupt controller and inactive guests. This intermediary allows interrupts to be delivered to inactive guests without requiring full software-based processing, thus reducing latency while maintaining virtualization support.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If direct hardware access is used for interrupt delivery, then interrupt processing latency is minimized, but virtualization control and security are compromised

Engineering Contradiction:
Improveinterrupt processing latencyVSAvoidvirtualization control
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system applies local quality by allowing direct hardware access only for specific destinations (active guests) while maintaining software-based control for other destinations (inactive guests). The interrupt request state data structure tracks which guests are active, enabling the system to apply the appropriate delivery mechanism locally to each interrupt destination.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically adjusts the interrupt delivery mechanism based on the operational state of the guest. When a guest is active, direct hardware access is used for low latency; when inactive, software-based delivery is used for security and control. The guest interrupt manager dynamically updates the interrupt request state to reflect current guest states.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8234432B2Memory structure to store interrupt state for inactive guests
Publication Date: 2012.07.31 ADVANCED MICRO DEVICES INC
  • US8234432B2 patent drawing
  • US8234432B2 patent drawing
  • US8234432B2 patent drawing

AI summary

In an embodiment, a system comprises a memory system configured to store a data structure. The data structure stores at least an interrupt request state for each destination in each of a plurality of guests executable on the system. The interrupt request state identifies which interrupts have been requested at the corresponding interrupt controller in the corresponding guest of the plurality of guests. A guest interrupt manager is coupled to receive an interrupt message targeted at a first destination in a first guest of the plurality of guests, and the guest interrupt manager is configured to update the interrupt request state in the data structure that corresponds to the first destination and the first guest.