Virtual Machine Monitor Privilege Level Transition Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtual machine monitors (VMMs) face significant degradation due to the inability to preempt virtual processors while they hold locks, leading to resource consumption and inefficiency in multi-threaded or multi-processor systems, as locking behavior cannot be directly detected by hardware.
Innovation Solution
Implementing a system that allows the VMM to transition control based on privilege level exiting criteria, such as changes in privilege levels, by using privilege level monitoring logic to assess the current privilege level of guest software and initiate VM exits, thereby enabling the VMM to regain control and manage resources effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the VMM preempts virtual processors holding locks, then resource management efficiency improves, but system reliability deteriorates due to potential deadlocks and loss of mutual exclusion guarantees
Solution Approach 1:
The patent changes the parameter being monitored from direct lock detection (which is impossible in software) to privilege level detection (which is hardware-supported). By monitoring privilege level transitions, the system indirectly identifies when guest software holds locks and adjusts preemption behavior accordingly, resolving the contradiction between efficient resource management and reliable locking mechanisms
Solution Approach 2:
The patent introduces privilege level monitoring as an intermediary mechanism between the VMM and the locking software. Instead of directly detecting locks (which cannot be done), the system uses privilege level changes as a mediator to infer lock holding state, enabling the VMM to make informed preemption decisions that balance efficiency and reliability
2Reliability
If the VMM does not preempt virtual processors holding locks, then system reliability is maintained, but resource wastage increases due to continued execution of spinning code
Solution Approach 1:
The patent implements feedback through privilege level monitoring that provides the VMM with information about guest software state. When the monitored privilege level indicates the guest holds a lock, the VMM receives feedback to adjust its preemption policy, allowing it to maintain reliability while reducing energy waste by preemting only when necessary
Solution Approach 2:
The patent applies partial preemption action by monitoring privilege levels and preemting virtual processors only when specific privilege level criteria are met (indicating lock holding). This partial action approach avoids the excessive energy consumption of continuous preemption while maintaining sufficient control to prevent resource wastage
3Productivity
If privilege level monitoring is implemented to enable VMM preemption, then resource management improves, but device complexity increases due to additional monitoring logic
Solution Approach 1:
The patent leverages the processor's existing privilege level mechanism to provide self-service monitoring. The processor automatically tracks and reports privilege level changes, eliminating the need for complex external monitoring logic. The VMM simply responds to these automated signals, achieving efficient control without significant complexity increase
Solution Approach 2:
The patent uses the existing privilege level mechanism, which serves multiple functions including security isolation and control flow management, for the additional purpose of lock detection. This multi-functionality approach allows the same hardware mechanism to serve both traditional security purposes and the new resource management function, avoiding duplication and reducing overall system complexity
Data Source
AI summary
A system and method for allowing a virtual machine monitor to assume control of a system when the current privilege level of guest software meets a privilege level exiting criteria. The processor detects that the current privilege level meets the criteria and then transfers control from the guest software to the virtual machine monitor. The virtual machine monitor may decline to assume control for certain privilege level changes or values.


