Virtual Machine Monitor Hardware Partitioning for Overhead Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The overhead associated with virtual machine monitors (VMMs) increases due to the need for two levels of device drivers and constant trapping and simulation of privileged instructions, leading to slower interrupt handling, higher CPU bandwidth loss, and decreased performance.
Innovation Solution
A VMM is used to partition hardware resources, allowing multiple operating systems to share hardware while preventing them from discovering each other's partitions, thereby reducing the need for multiple device drivers and direct control over dedicated hardware, minimizing software overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a VMM creates a virtual environment with two levels of device drivers for each device, then multiple operating systems can run simultaneously on the same hardware, but the overhead increases and interrupt handling slows down
Solution Approach 1:
The patent segments hardware resources into separate hardware partitions, with each partition dedicated to a specific operating system. This segmentation allows each operating system to have direct access to its dedicated hardware without needing to go through a second level of device drivers, thereby reducing overhead and improving interrupt handling speed while still enabling multiple operating systems to run simultaneously.
2Reliability
If a VMM constantly traps and simulates privileged instructions to maintain hardware control illusion, then operating systems think they have sole control, but CPU bandwidth is lost to software overhead
Solution Approach 1:
The patent extracts privileged hardware access rights from the shared hardware and assigns them directly to specific operating systems based on their hardware partitions. This extraction eliminates the need for constant trapping and simulation of privileged instructions, as each operating system already has direct access to its designated hardware resources, thereby reducing CPU bandwidth loss while maintaining the illusion of sole hardware control for each OS.
3Device complexity
If I/O requests go through two levels of device drivers, then hardware access is mediated, but response time increases and perceived performance decreases
Solution Approach 1:
The patent merges the device driver layers by assigning dedicated hardware partitions to each operating system, eliminating the need for a separate VMM device driver layer for each device. This merging reduces the number of software layers that I/O requests must traverse, thereby decreasing response time and improving perceived performance while maintaining manageable hardware access through the simplified direct access model.
Data Source
AI summary
A computer includes hardware, a virtual machine monitor, and first and second operating system instances. The virtual machine monitor is used to expose a first operating system instance to a first hardware partition and prevent the first operating system instance from discovering a second hardware partition; and expose a second operating system instance to the second hardware partition and prevent the second operating system instance from discovering the first hardware partition. The virtual machine monitor is also used to share at least some of the hardware among the first and second operating system instances.


