Virtual Machine Power Management via OS-Hypervisor Coordination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtual machine software experiences significant performance overhead, particularly in memory- or I/O-intensive workloads, making it unsuitable for applications requiring maximum processor speed, and there is a need for improved coordination between operating systems and Virtual Machine Monitors (VMMs) for efficient operation.

Innovation Solution

An operating system is designed to detect whether it is running in a virtual machine environment and modify its behavior to operate more efficiently by communicating with VMMs or hypervisors through mechanisms like virtualization devices, enabling coordinated power management and security enhancements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional virtual machine software is used to emulate guest computer systems on host computer systems, then multiple incompatible operating systems can run concurrently on the same computer system, but significant processor overhead is incurred making it unsuitable for applications requiring maximum processor speed

Engineering Contradiction:
Improveability to run multiple incompatible operating systems concurrentlyVSAvoidprocessor speed performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces a binary translation layer as an intermediary between the guest instructions and the host processor. This translation layer converts guest instructions into optimized host instructions, allowing the system to maintain compatibility with multiple operating systems while reducing the processor overhead through intelligent instruction translation and caching mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically changes execution parameters by detecting whether code is running in a virtualized environment and adjusting translation strategies accordingly. The binary translator modifies instruction parameters and execution modes to optimize performance, switching between different translation approaches based on the specific workload and hardware capabilities.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If an operating system is designed to detect and modify behavior in virtual machine environments, then efficiency and power management are improved, but system complexity increases due to additional detection and communication mechanisms

Engineering Contradiction:
Improveoperating efficiency in virtual machine environmentVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The operating system incorporates self-detection capabilities that automatically identify when it is running in a virtual machine environment. The OS performs self-diagnosis through hardware detection mechanisms and automatically modifies its own behavior without external intervention, thereby improving efficiency while minimizing the need for additional external control systems.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback loops where the operating system continuously monitors hardware signals and performance metrics to detect virtualization environments. Based on this feedback, the OS dynamically adjusts its power management strategies, scheduling algorithms, and resource allocation to optimize performance in virtualized conditions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8909946B2Efficient power management of a system with virtual machines
Publication Date: 2014.12.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8909946B2 patent drawing
  • US8909946B2 patent drawing
  • US8909946B2 patent drawing

AI summary

Efficient power management of a system with virtual machines is disclosed. In particular, such efficient power management may enable coordination of system-wide power changes with virtual machines. Additionally, such efficient power management may enable coherent power changes in a system with a virtual machine monitor. Furthermore, such efficient power management may enable dynamic control and communication of power state changes.