Nested Virtualization Level Boosting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Nested virtualization environments face significant performance overhead due to frequent context switches and excessive trap-and-emulate processes across multiple virtualization layers, leading to inefficient execution of privileged instructions.

Innovation Solution

Implementing dynamic level boosting and Fast VM State Transfer (FVMST) mechanisms to minimize the involvement of intermediate virtualization layers, allowing privileged instructions to be emulated directly by the lower-level VMM, and using Level Boost Policy (LBP) agents to manage system resources and service level agreements, while optimizing virtual machine state transfer through minimal context copying and shared storage hierarchies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If trap-and-emulate technique is applied to privileged instructions in nested virtualization, then control of processor resources is retained, but the number of traps for emulating privileged instructions increases exponentially

Engineering Contradiction:
Improvecontrol of processor resourcesVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements nested virtualization where a VMM runs inside a VM, creating nested virtualization layers. The host VMM (L0) manages physical resources while guest VMMs (L1, L2, etc.) run as VMs within this nested structure, allowing each layer to virtualize resources for its guests without requiring exponential trap-and-emulate handling at every level.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent introduces an intermediary mechanism where the host VMM acts as a mediator between guest VMMs and physical resources. When a guest VMM needs to execute privileged instructions, the host VMM intercepts and handles these requests, emulating the behavior of a physical machine for the guest VMM, thereby reducing the need for exponential trap-and-emulate across multiple nested layers.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple levels of trap-and-emulate are used in nested virtualization, then privileged instructions can be emulated, but frequent context switches greatly hurt overall system performance

Engineering Contradiction:
Improveemulation of privileged instructionsVSAvoidcontext switch overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the context switching overhead by allowing guest VMMs to run to completion without forced context switches to the host VMM. The host VMM is notified only when a guest VMM needs to execute a privileged instruction or when the guest VMM voluntarily yields control, rather than forcing context switches at every trap point.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements preliminary action by having the host VMM pre-configure the execution environment for guest VMMs, including setting up the virtual machine control structures and resource allocations in advance. This allows guest VMMs to execute privileged instructions efficiently without requiring repeated context switches and re-configuration.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10467033B2Enabling efficient nested virtualization
Publication Date: 2019.11.05 INTEL CORP
  • US10467033B2 patent drawing
  • US10467033B2 patent drawing
  • US10467033B2 patent drawing

AI summary

Embodiments of the invention enable dynamic level boosting of operations across virtualization layers to enable efficient nested virtualization. Embodiments of the invention execute a first virtual machine monitor (VMM) to virtualize system hardware. A nested virtualization environment is created by executing a plurality of upper level VMMs via virtual machines (VMs). These upper level VMMs are used to execute an upper level virtualization layer including an operating system (OS).During operation of the above described nested virtualization environment, a privileged instruction issued from an OS is trapped and emulated via the respective upper level VMM (i.e., the VMM that creates the VM for that OS). Embodiments of the invention enable the emulation of the privileged instruction via a lower level VMM. In some embodiments, the emulated instruction is executed via the first VMM with little to no involvement of any intermediate virtualization layers residing between the first and upper level VMMs.