Runtime Virtual Machine Monitor Devirtualization for CPU Overhead Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtual machine monitors (VMMs) introduce significant overhead due to their management of memory and I/O operations, which can slow down system performance and increase CPU bandwidth loss, even when only a single operating system is running, as they maintain hardware control from bootup to shutdown.

Innovation Solution

Interposing a virtual machine monitor between computer hardware and the operating system at runtime and devirtualizing hardware components such as the CPU, memory, and I/O devices only when needed, allowing the operating system to regain direct control and reducing unnecessary overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the VMM maintains hardware control from bootup to shutdown, then multiple operating systems can run simultaneously on the same hardware, but unnecessary overhead is incurred even when only a single OS instance is running

Engineering Contradiction:
Improveability to run multiple operating systems simultaneouslyVSAvoidsystem performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system dynamically transitions between virtualized and non-virtualized modes based on runtime conditions. The VMM is interposed at runtime rather than at bootup, and can be removed or bypassed when only single OS operation is needed, making the virtualization overhead dynamic rather than static.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The VMM is extracted from the permanent boot-time component and introduced only when needed at runtime. This allows the system to operate without VMM overhead during single OS operation while enabling multi-OS capability when required.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If the VMM manages memory translation to translate between OS physical memory and machine memory, then memory can be shared and controlled, but memory access is slowed down

Engineering Contradiction:
Improvememory management and sharing capabilityVSAvoidmemory access speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

Memory virtualization is applied partially - only when multi-OS operation is required. During single OS operation, the VMM is removed and full hardware-speed memory access is restored, applying virtualization only to the extent necessary for the current workload.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If two levels of device drivers are used for I/O handling (one by VMM, one by OS), then I/O functions can be managed at both virtualization and OS levels, but the overhead increases and response time decreases

Engineering Contradiction:
ImproveI/O management flexibilityVSAvoidI/O response time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The VMM device driver layer is extracted and removed during single OS operation. This eliminates the double-driver overhead and restores direct I/O path from application through OS driver to hardware, significantly reducing I/O response time when multi-OS capability is not needed.

Inventive Principle:
Principle #2Taking out (Extraction)

4Reliability

If privileged instructions are constantly trapped and simulated by the VMM, then the illusion of sole OS control over hardware is maintained, but CPU bandwidth is lost to software overhead

Engineering Contradiction:
ImproveOS control isolationVSAvoidCPU efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The trapping and simulation of privileged instructions is made dynamic - active only when multi-OS operation is required. During single OS operation, the VMM is removed and privileged instructions execute directly at hardware speed without trapping, eliminating the continuous CPU overhead while maintaining control isolation only when necessary.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7913226B2Interposing a virtual machine monitor and devirtualizing computer hardware at runtime
Publication Date: 2011.03.22 HEWLETT PACKARD ENTERPRISE DEV LP
  • US7913226B2 patent drawing
  • US7913226B2 patent drawing
  • US7913226B2 patent drawing

AI summary

A virtual machine monitor is interposed between computer hardware and an operating system at runtime. Hardware that is already virtualized can be devirtualized at runtime.