Nested Virtualization I/O via Level 0 Hypervisor Memory Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Nested virtualization systems face inefficiencies in input/output (I/O) operations due to the long I/O path and increased CPU load, which also hinder memory overcommitment by preventing efficient resource allocation across virtual machines.
Innovation Solution
The implementation of a system that maintains a list of available memory pages for Level 2 virtual machines, allowing the Level 0 hypervisor to directly access these pages for I/O operations, thereby reducing the need for Level 1 VM involvement and enhancing memory overcommitment capabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If nested virtualization is implemented with traditional I/O paths, then virtual machines can run on shared hardware, but I/O operation overhead increases and CPU load increases
Solution Approach 1:
The patent extracts the I/O operation handling from the traditional nested virtualization path by allowing Level 0 hypervisor to directly access memory pages of Level 2 VMs without involving Level 1 VM. This extraction eliminates the intermediate I/O path through Level 1 VM, reducing overhead and improving efficiency while maintaining nested virtualization capability.
Solution Approach 2:
The patent segments the memory access paths by maintaining separate lists of available memory pages for different virtual machine levels. The Level 0 hypervisor maintains its own list of accessible memory pages, enabling direct access to Level 2 VM memory without routing through Level 1 VM, thus segmenting the I/O path to eliminate unnecessary intermediaries.
2Adaptability or versatility
If memory overcommit is enabled, then more virtual machines can run on limited hardware, but resource allocation efficiency decreases
Solution Approach 1:
The patent implements feedback mechanisms where the Level 0 hypervisor maintains an updated list of available memory pages based on actual usage status. This feedback loop allows the hypervisor to accurately track which memory pages are free and can be allocated to Level 2 VMs, improving resource allocation efficiency while enabling memory overcommit.
Solution Approach 2:
The patent performs preliminary actions by pre-establishing and maintaining lists of available memory pages at the Level 0 hypervisor before I/O operations are needed. This preliminary preparation of memory page information enables efficient resource allocation decisions without requiring real-time scanning of memory status, thus improving allocation efficiency.
3Productivity
If Level 0 hypervisor directly accesses Level 2 VM memory pages, then I/O overhead is reduced, but system complexity increases
Solution Approach 1:
The patent introduces an intermediary structure in the form of a memory page list that the Level 0 hypervisor maintains. This intermediary list acts as a mediator between the hypervisor and the complex nested memory hierarchy, simplifying the access process by providing a pre-organized reference of available pages without requiring the hypervisor to scan through complex memory structures.
4Adaptability or versatility
If traditional I/O paths are used in nested virtualization, then hardware resources are shared, but CPU load increases
Solution Approach 1:
The patent extracts I/O handling responsibilities from the Level 1 VM by allowing Level 0 hypervisor to directly manage memory page access for Level 2 VMs. This extraction eliminates the need for Level 1 VM to process I/O operations, reducing CPU load in the nested virtualization environment while maintaining hardware resource sharing capability.
Data Source
AI summary
A method includes: running, by a host computer system, a hypervisor managing a first virtual machine, wherein the first virtual machine manages a second virtual machine; receiving, by the hypervisor, from a virtual device, a first request to perform a memory access operation with respect to a memory page of the second virtual machine; responsive to determining, by the hypervisor, that the memory page of the second virtual machine is unavailable in a memory of the first virtual machine, forwarding the first request to the first virtual machine; and responsive to detecting, by the hypervisor, a page fault with respect to the memory page, performing, by the hypervisor, the memory access operation with respect to the memory page of the second virtual machine.


