Virtual Processor Allocation via CPU Pressure Monitoring
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Productivity
If the number of virtual processors is increased to handle workload, then processing capacity is improved, but power consumption increases
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.
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.
2Reliability
If virtual processors are kept active to ensure availability, then system responsiveness is improved, but power consumption increases
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.
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.
3Use of energy by moving object
If physical processors are reduced to save power, then power consumption is reduced, but processing capacity decreases
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.
Data Source
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.


