Runtime Virtual Machine Monitor Memory Devirtualization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional virtual machine monitors (VMMs) incur unnecessary overhead by virtualizing hardware from bootup to shutdown, even when only a single operating system is running, leading to slowed performance and increased CPU bandwidth loss due to constant trapping and simulation of privileged instructions.
Innovation Solution
Implementing runtime virtualization and devirtualization of memory, where the VMM commences and ceases memory virtualization dynamically during execution, allowing direct management of memory translations and reducing unnecessary overhead by switching between virtual-to-physical and physical-to-machine mappings as needed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If memory virtualization is maintained from bootup to shutdown, then multiple operating systems can share memory resources, but system performance deteriorates due to constant translation overhead
Solution Approach 1:
The patent applies dynamics by making the memory virtualization state changeable rather than fixed. The system dynamically transitions between virtualized and non-virtualized states based on runtime conditions. When only one OS is running, the VMM devirtualizes memory to eliminate translation overhead. When multiple OSes need memory sharing, virtualization is re-enabled. This dynamic adaptation resolves the contradiction between versatility and performance.
Solution Approach 2:
The patent changes the virtualization parameter (P→M mapping) from a constant state to a variable state. By modifying the virtualization parameter based on the number of active OS instances, the system optimizes performance. When unnecessary virtualization is detected, the P→M mapping parameter is adjusted to bypass translation, directly improving system productivity while maintaining the capability for memory sharing when needed.
2Reliability
If physical-to-machine translation is constantly applied, then VMM control over memory is maintained, but CPU bandwidth is lost to software overhead
Solution Approach 1:
The patent applies partial action by selectively applying physical-to-machine translation only when necessary. Instead of constantly enforcing P→M mapping, the VMM detects when only one OS is running and partially disables the translation mechanism. This partial application of virtualization maintains sufficient control for security and management while dramatically reducing CPU bandwidth consumption by eliminating unnecessary translation operations.
Solution Approach 2:
The system implements periodic checks to determine whether memory virtualization is currently needed. The VMM periodically evaluates the runtime state (number of active OS instances) and adjusts the translation mechanism accordingly. This periodic action ensures VMM control is maintained when needed while allowing CPU bandwidth to be freed when virtualization is unnecessary, resolving the contradiction between reliability and energy use.
3Speed
If direct virtual-to-machine mapping is used, then TLB performance is improved, but overhead is incurred even when virtualization is not necessary
Solution Approach 1:
The patent extracts the unnecessary virtualization layer from the memory management path when only one OS is running. By taking out the P→M translation step from the address translation chain, the system eliminates the associated overhead. The VMM detects when direct V→P mapping suffices and removes the intermediate virtualization translation, thereby reducing loss of time while maintaining TLB performance benefits when full virtualization is required.
Data Source
AI summary
A virtual machine monitor can be used to commence virtualization of computer memory at runtime. The virtual machine monitor can also be used to devirtualize computer memory at runtime.


