Nested Virtual Machine I/O Translation Table for CPU Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current nested virtualization technologies incur performance hindrances due to the need for multiple processor resource translations when a nested virtual machine requests access to a virtual device, as they require a VMexit to the Level 0 hypervisor, leading to inefficient CPU usage.

Innovation Solution

Implementing an I/O translation table by the Level 1 hypervisor that maps Level 2 guest virtual addresses to Level 1 guest virtual addresses, allowing direct access to the nested hypervisor, thereby reducing the need for multiple translations and enhancing CPU efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple processor resource translations are performed when a nested virtual machine requests access to a virtual device, then the virtualization functionality is maintained, but CPU usage efficiency deteriorates

Engineering Contradiction:
Improvevirtualization functionalityVSAvoidCPU usage efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent pre-establishes I/O translation table entries that map Level 2 guest virtual addresses directly to Level 1 guest virtual addresses before nested VM access is needed. This preliminary configuration enables direct address translation without requiring multiple sequential translations during actual I/O operations, thereby resolving the contradiction between maintaining virtualization functionality and improving CPU efficiency.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a VMexit to Level 0 hypervisor is required for nested virtual machine access, then comprehensive control is maintained, but processing overhead increases

Engineering Contradiction:
Improvecontrol managementVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the address translation process by creating separate I/O translation table entries for different nested VM access scenarios. Level 1 hypervisor can handle certain access requests locally using pre-configured translation entries, while only requiring Level 0 hypervisor involvement for specific control operations. This segmentation reduces unnecessary VMexits and processing overhead while maintaining comprehensive control.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediate I/O translation table layer that sits between the nested VM and the hypervisor hierarchy. This intermediate structure enables direct address translation and local handling of I/O requests, reducing the frequency of VMexit operations to Level 0 hypervisor while maintaining proper control flow and security boundaries.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If direct access to nested hypervisor is enabled through I/O translation table, then CPU efficiency is improved, but system complexity increases

Engineering Contradiction:
ImproveCPU efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal I/O translation table structure that handles multiple types of address translations (Level 2 to Level 1, Level 1 to physical) through a single mechanism. This multi-functional approach achieves CPU efficiency improvements without proportionally increasing system complexity, as the same translation infrastructure serves multiple virtualization layers and access scenarios.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11748136B2Event notification support for nested virtual machines
Publication Date: 2023.09.05 RED HAT INC
  • US11748136B2 patent drawing
  • US11748136B2 patent drawing
  • US11748136B2 patent drawing

AI summary

Systems and methods for event notification support for nested virtual machines. An example method may comprise running, by a host computer system, a Level 0 hypervisor managing a Level 1 virtual machine running a Level 1 hypervisor, wherein the Level 1 hypervisor manages a Level 2 virtual machine. The Level 1 hypervisor may generate a virtual device and an input/output (I/O) translation table comprising an I/O translation table entry associated with the virtual device, and associate the I/O translation table entry with a Level 1 virtual machine context maintained by at least one of the Level 0 hypervisor or Level 1 hypervisor. The method may further responsive to detecting, by the Level 0 hypervisor, an event notification from the Level 2 virtual machine, cause a central processing unit (CPU) to use the I/O translation table to execute access to the Level 1 guest virtual address.