Virtual Machine Monitor Privilege Level Transition Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveresource management efficiencyVSAvoidlocking mechanism reliability
Core Design Contradiction:
ProductivityVSReliability

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

Inventive Principle:
Principle #35Parameter changes

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvelocking mechanism reliabilityVSAvoidexecution unit consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

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

Inventive Principle:
Principle #23Feedback

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

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If privilege level monitoring is implemented to enable VMM preemption, then resource management improves, but device complexity increases due to additional monitoring logic

Engineering Contradiction:
ImproveVMM control efficiencyVSAvoidprivilege level monitoring logic
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #25Self-service

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

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7802250B2Support for transitioning to a virtual machine monitor based upon the privilege level of guest software
Publication Date: 2010.09.21 INTEL CORP
  • US7802250B2 patent drawing
  • US7802250B2 patent drawing
  • US7802250B2 patent drawing

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.