Runtime Virtual Machine Monitor Devirtualization for CPU Overhead Reduction
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
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
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.
Data Source
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.


