Virtual Machine Interrupt Handling via CPU and VMM Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualization technologies, active virtual machines delay responding to interrupts when inactive virtual machines are interrupted, and the virtual machine manager (VMM) also experiences delays in accepting interrupts, leading to suboptimal interrupt handling and real-time capability issues.

Innovation Solution

A semiconductor device configuration that allows the CPU to directly handle interrupts for active virtual machines and switches to the VMM for inactive virtual machines, using an event determination unit to manage interrupt processing based on VM information and active VM status, ensuring efficient interrupt handling and real-time capability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the active virtual machine is allowed to accept interrupts, then interrupt responsiveness for active VM is improved, but inactive virtual machines cannot accept interrupts until execution switches to them

Engineering Contradiction:
Improveinterrupt responsivenessVSAvoidinterrupt delay for inactive VM
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent introduces a VMM interrupt handler as an intermediary that receives interrupts for inactive VMs when the active VM cannot handle them. The handler switches to the appropriate inactive VM to process the interrupt, eliminating the need for inactive VMs to wait for scheduler-based context switches while maintaining the active VM's direct interrupt handling capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the VMM is allowed to accept interrupts, then interrupt handling for inactive VMs is improved, but the active virtual machine delays responding to interrupts

Engineering Contradiction:
Improveinterrupt handling capabilityVSAvoidinterrupt response delay
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments interrupt handling into two distinct paths: (1) direct interrupt handling by the active VM when it is the target, and (2) VMM-mediated interrupt handling for inactive VMs. This segmentation allows each path to be optimized independently, preventing the VMM from becoming a bottleneck for active VM interrupts while still providing comprehensive interrupt coverage for all VMs.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If interrupts are passed between VMs and VMM using message boxes and exception handlers, then interrupt routing flexibility is improved, but interrupt processing complexity increases

Engineering Contradiction:
Improveinterrupt routing flexibilityVSAvoidinterrupt processing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the interrupt handling logic from the general VM execution context and creates a dedicated VMM interrupt handler with specialized functionality. This extracted handler directly manages interrupt routing and VM switching for interrupt processing, separating interrupt-specific operations from general VM management and reducing overall system complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP3502887B1Interrupt handling for multiple virtual machines
Publication Date: 2021.10.27 RENESAS ELECTRONICS CORP
  • EP3502887B1 patent drawingFigure 1
  • EP3502887B1 patent drawingFigure 2A~2B
  • EP3502887B1 patent drawingFigure 3A~3B

AI summary

Semiconductor device that improves an interrupt capability of a virtual machine. A semiconductor device includes a memory to store a plurality of virtual machines and a virtual machine manager to manage the virtual machines and a CPU to perform the virtual machines and the virtual machine manager. The CPU causes an active virtual machine to perform an interrupt process when information (first information) about an interrupt-processing virtual machine is equal to information (second information) about the active virtual machine. When the first information differs from the second information, the CPU causes the virtual machine manager to stop the active virtual machine and operates the interrupt-processing virtual machine to perform an interrupt process.