Dynamic Virtual Processor Manager for Power and Performance Trade-offs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual processor management systems require manual and iterative processes to determine optimal performance settings, which can be inefficient and power-consuming, especially when workload performance is unpredictable.

Innovation Solution

A dynamic virtual processor manager that samples and analyzes utilization, proactively adjusting the number of concurrent hardware threads and distribution among physical processors to meet target performance metrics, such as CPU utilization or response time, by moving logical partitions between shared processor pools with different virtual processor manager modes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual and iterative processes are used to determine optimal performance settings, then performance tuning can be achieved, but the process is inefficient and power-consuming

Engineering Contradiction:
Improveperformance metric accuracyVSAvoidtuning time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs self-tuning by automatically monitoring performance metrics, analyzing workload patterns, and adjusting virtual processor allocations without requiring manual administrator intervention. The hypervisor continuously gathers performance data and dynamically reconfigures virtual processor assignments based on observed workload characteristics, enabling the system to optimize itself autonomously.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements continuous feedback loops where performance metrics are monitored, analyzed, and used to trigger automatic reconfiguration actions. The hypervisor collects performance data from virtual machines, compares it against target thresholds, and dynamically adjusts virtual processor allocations in response to performance deviations, creating a closed-loop control system that continuously optimizes resource allocation.

Inventive Principle:
Principle #23Feedback

2Reliability

If dedicated partitions receive exclusive use of configured resources, then performance predictability is improved, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improveperformance predictabilityVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adjusts virtual processor allocations between dedicated and shared modes based on real-time workload characteristics and performance requirements. The hypervisor continuously monitors workload patterns and automatically reconfigures the partitioning strategy, allowing partitions to transition between dedicated and shared processor modes as conditions change, thereby optimizing both predictability and efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system applies different resource allocation strategies to different partitions based on their specific workload characteristics and performance requirements. Rather than uniformly assigning all partitions to dedicated or shared modes, the hypervisor analyzes individual partition needs and assigns appropriate allocation strategies locally, allowing performance-critical partitions to receive dedicated resources while less demanding partitions share resources efficiently.

Inventive Principle:
Principle #3Local quality

3Productivity

If shared partitions receive processor allocation from a pool, then resource utilization efficiency is improved, but performance predictability deteriorates

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidperformance predictability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements continuous feedback loops where performance metrics are monitored, analyzed, and used to trigger automatic reconfiguration actions. The hypervisor collects performance data from virtual machines, compares it against target thresholds, and dynamically adjusts virtual processor allocations in response to performance deviations, creating a closed-loop control system that continuously optimizes resource allocation.

Inventive Principle:
Principle #23Feedback

4Productivity

If the number of concurrent hardware threads per physical processor is increased, 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 concurrent hardware threads per physical processor based on real-time workload demands and performance requirements. The hypervisor monitors system state and automatically reconfigures thread allocations, increasing concurrency when processing capacity is needed and reducing it when workloads are light, thereby optimizing the balance between performance and power consumption.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10540206B2Dynamic virtual processor manager
Publication Date: 2020.01.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10540206B2 patent drawing
  • US10540206B2 patent drawing
  • US10540206B2 patent drawing

AI summary

A method, program product, and system is provided for dynamic virtual processor management in a computer having a plurality of concurrent multi-threaded physical processors. An active logical partition is assigned to one of a plurality of shared processor pools, each shared processor pool having a virtual processor manager mode. A target performance metric for a workload in the active logical partition is compared to a calculated CPU utilization ratio or a calculated response time ratio. The workload in the active logical partition is dynamically moved from the assigned shared processor pool to a logical partition in another of the plurality of shared processor pools based on the target performance metric not being met in the active logical partition, and wherein the logical partition in another of the plurality of shared processor pools is configured to meet the target performance metric.