Virtual Interrupt Latency via VMkernel Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional virtualized computer systems experience latency in virtual interrupt delivery due to the VMkernel's lack of access to detailed virtual interrupt system configuration, leading to inefficient notification of I/O completion events to the correct virtual CPU.

Innovation Solution

Normalizing and exposing virtual interrupt routing information to the VMkernel, allowing it to generate virtual interrupts directly to the guest OS-designated CPU, reducing the number of VCPU hops and eliminating the need for rescheduling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If the VMkernel does not have access to detailed virtual interrupt system configuration, then the system maintains simplicity and security through isolation, but virtual interrupt delivery latency increases due to inefficient notification of I/O completion events

Engineering Contradiction:
Improvevirtual interrupt delivery latencyVSAvoidvirtual interrupt system configuration access
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The guest operating system pre-configures the virtual interrupt system by designating specific virtual CPUs to handle interrupts from specific virtual devices. This configuration is stored in data structures that are made accessible to the VMkernel. When an I/O completion event occurs, the VMkernel can immediately consult these pre-configured data structures to determine the correct destination virtual CPU, eliminating the need for complex runtime decision-making and reducing interrupt delivery latency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces intermediate data structures (such as interrupt routing tables or configuration structures) that serve as a mediator between the guest OS's virtual interrupt configuration and the VMkernel's interrupt delivery mechanism. These data structures contain the mapping information between virtual devices and destination virtual CPUs, allowing the VMkernel to efficiently deliver interrupts without directly accessing or understanding the complex guest OS interrupt configuration, thus maintaining isolation while enabling efficient delivery.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If the VMkernel generates virtual interrupts without knowledge of the correct destination virtual CPU, then system isolation is maintained, but multiple VCPU hops and rescheduling operations increase latency

Engineering Contradiction:
Improveinterrupt delivery latencyVSAvoidinterrupt routing efficiency
Core Design Contradiction:
Loss of timeVSEase of operation

Solution Approach 1:

The guest operating system performs preliminary configuration by determining and storing the correct destination virtual CPU for each virtual device in accessible data structures. This pre-computation of interrupt routing information allows the VMkernel to directly deliver interrupts to the correct destination without performing complex runtime searches or multiple hops through intermediate virtual CPUs, significantly reducing delivery latency while maintaining system isolation.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If virtual interrupt routing information is not exposed to the VMkernel, then guest OS security and isolation are preserved, but the number of VCPU hops increases

Engineering Contradiction:
Improvesystem performanceVSAvoidvirtual interrupt routing information access
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent extracts only the necessary interrupt routing information (mapping between virtual devices and destination virtual CPUs) from the guest OS's virtual interrupt configuration and places it in data structures that are accessible to the VMkernel. This selective extraction allows the VMkernel to efficiently deliver interrupts by consulting only the essential routing information, without exposing the entire virtual interrupt system configuration, thus maintaining security and isolation while improving performance.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Intermediate data structures serve as a controlled interface between the guest OS's virtual interrupt configuration and the VMkernel. These data structures contain only the specific routing information needed for efficient interrupt delivery, acting as a mediator that allows the VMkernel to access necessary information without direct access to the guest OS's internal configuration, thereby maintaining isolation while enabling efficient operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP2191369B1Reducing the latency of virtual interrupt delivery in virtual machines
Publication Date: 2018.06.13 VMWARE INC
  • EP2191369B1 patent drawingFigure 1
  • EP2191369B1 patent drawingFigure 2
  • EP2191369B1 patent drawingFigure 3

AI summary

The latency of virtual interrupt delivery in virtual machines is reduced by normalizing and exposing the virtual interrupt routing information of each VM to a privileged domain such as the VMkernel in an organized manner to enable virtual interrupt delivery that minimizes the number of VCPU hops. A computer implemented method of processing the virtual I/O request comprises receiving the virtual I/O request, responsive to completing a physical I/O corresponding to the virtual I/O request, referring to a virtual CPU set including information on a destination virtual CPU designated by the guest operating system for handling a virtual interrupt corresponding to the virtual I/O request, and generating the virtual interrupt corresponding to the virtual I/O request to the destination virtual CPU determined by referring to the virtual CPU set.