Virtual Processor Allocation via CPU Pressure Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual machine systems consume excessive power due to idle or underutilized physical processors, as they do not dynamically adjust the number of virtual processors based on CPU pressure, leading to inefficient resource allocation and increased energy consumption.

Innovation Solution

The system dynamically adds or removes virtual processors within a virtual machine based on measured CPU pressure, and can park/unpark virtual processors to conserve power, using CPU service providers to manage virtual processor allocation and scheduling to optimize resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the number of virtual processors is increased to handle workload, then processing capacity is improved, but power consumption increases

Engineering Contradiction:
Improveprocessing capacityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system dynamically adjusts the number of virtual processors based on CPU pressure measurements. The CPU service provider monitors CPU pressure and adds or removes virtual processors in real-time, transitioning the system from a static to a dynamic configuration that adapts to workload demands, thereby improving processing capacity only when necessary and reducing power consumption when full capacity is not needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of virtual processor count based on CPU pressure thresholds. When CPU pressure exceeds a threshold, virtual processors are added; when it falls below a threshold, virtual processors are removed or parked. This parameter adjustment directly balances processing capacity with power consumption.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If virtual processors are kept active to ensure availability, then system responsiveness is improved, but power consumption increases

Engineering Contradiction:
Improvesystem availabilityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The CPU service provider periodically monitors CPU pressure and adjusts virtual processor states accordingly. Virtual processors are parked (transitioned to a low-power state) when not needed and unparked (activated) when needed, creating a periodic on-demand activation pattern that maintains system availability while minimizing continuous power consumption of idle processors.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system uses CPU pressure measurements taken from within the virtual machine itself to trigger virtual processor parking or activation. This self-service mechanism allows the virtual machine to manage its own resource allocation based on actual workload conditions, ensuring processors are available when needed without requiring continuous high-power operation.

Inventive Principle:
Principle #25Self-service

3Use of energy by moving object

If physical processors are reduced to save power, then power consumption is reduced, but processing capacity decreases

Engineering Contradiction:
Improvepower consumptionVSAvoidprocessing capacity
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The system uses virtual processors as software copies that can be dynamically instantiated or deactivated. Instead of physically removing or powering down processors, the system creates or removes virtual processor instances that map to physical processors, allowing flexible capacity adjustment without permanent hardware changes. This enables power savings by deactivating virtual processors while maintaining the option to quickly reactivate them when needed.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10162658B2Virtual processor allocation techniques
Publication Date: 2018.12.25 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10162658B2 patent drawing
  • US10162658B2 patent drawing
  • US10162658B2 patent drawing

AI summary

One or more virtual processors can be added or removed from a virtual machine based on CPU pressure measured within the virtual machine. In addition to the foregoing, CPU pressure can also be used to determine whether to remove a virtual processor from a virtual machine, which may cause the computer system to consume less power. In the alternative, virtual processors can be parked and/or unparked in order to reduce the amount of power consumed by the virtual machine. In addition, virtual processors can be forcibly parked during a migration operation.