Thread CPI-Based Frequency Scaling for Power Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing complexity and power consumption in multi-stranded computer systems pose challenges in managing power usage effectively, leading to heat generation and operational inefficiencies, which affect battery life and component wear.

Innovation Solution

A mechanism that determines the cycles-per-instruction (CPI) characteristic of each thread and selectively assigns threads to processing units based on CPI, configuring clock frequency and power supply accordingly, using hardware components like performance counters to optimize power management and reduce heat generation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple processors and multi-stranded architectures are employed to increase processing capability, then productivity is improved, but power consumption and heat generation increase

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

Solution Approach 1:

The patent applies local quality by assigning different CPI characteristics to different threads and selectively placing them on different processing units. Threads with lower CPI (more efficient) are assigned to specific units while allowing other units to operate at reduced frequencies or lower power states, thereby optimizing power consumption across the system rather than uniformly across all processors

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically adjusts processing unit frequencies and power levels based on real-time thread CPI metrics. Processing units can be scaled up or down in frequency and power consumption according to the actual workload characteristics, enabling dynamic optimization of the productivity-power consumption tradeoff

Inventive Principle:
Principle #15Dynamics

2Productivity

If thread scheduling is optimized for performance, then productivity is improved, but power consumption increases

Engineering Contradiction:
Improvethread execution performanceVSAvoidpower usage
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The patent changes the scheduling parameter from purely performance-based to a hybrid approach that incorporates CPI characteristics. By using CPI metrics as a scheduling parameter, the system can predict thread efficiency and adjust power consumption accordingly, achieving both performance optimization and power management

Inventive Principle:
Principle #35Parameter changes

3Productivity

If processing units operate at high frequency to maintain performance, then productivity is maintained, but heat generation increases

Engineering Contradiction:
Improveexecution speedVSAvoidheat generation
Core Design Contradiction:
ProductivityVSTemperature

Solution Approach 1:

The system dynamically adjusts processing unit frequencies based on thread CPI characteristics. When threads with high CPI (less efficient) are detected, the system reduces frequency and power consumption, thereby reducing heat generation while maintaining acceptable performance. When efficient threads are present, frequency can be increased to maintain productivity

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8219993B2Frequency scaling of processing unit based on aggregate thread CPI metric
Publication Date: 2012.07.10 ORACLE AMERICAN INC
  • US8219993B2 patent drawing
  • US8219993B2 patent drawing
  • US8219993B2 patent drawing

AI summary

A device, system, and method are directed towards managing power consumption in a computer system with one or more processing units, each processing unit executing one or more threads. Threads are characterized based on a cycles per instruction (CPI) characteristic of the thread. A clock frequency of each processing unit may be configured based on the CPI of each thread assigned to the processing unit. In a system wherein higher clock frequencies consume greater amounts of power, the CPI may be used to determine a desirable clock frequency. The CPI of each thread may also be used to assign threads to each processing unit, so that threads having similar characteristics are grouped together. Techniques for assigning threads and configuring processor frequency may be combined to affect performance and power consumption. Various specifications or factors may also be considered when scheduling threads or determining processor frequencies.