Processor Core Power State Selection via Thread Priority

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current power management schemes for processor cores, which rely on utilization-based C-state selection, often result in sub-optimal selection, negatively impacting instructions per cycle (IPC) due to inadequate consideration of thread importance during idle periods, leading to inefficient power and performance management for both critical and non-critical threads.

Innovation Solution

A hardware and software coordinated mechanism that dynamically biases the selection of power states based on the priority of threads, using hints from the operating system to manage processor cores, ensuring that user-critical threads are kept in shallow idle states to improve responsiveness and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If utilization-based C-state selection is used, then power consumption is reduced, but instructions per cycle (IPC) deteriorates

Engineering Contradiction:
Improvepower consumptionVSAvoidinstructions per cycle
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The patent applies local quality by differentiating C-state selection based on thread priority. Critical threads are assigned shallower C-states (C0-C3) to maintain higher performance, while non-critical threads are assigned deeper C-states (C4-C6) for maximum power savings. This localized differentiation resolves the contradiction by optimizing power consumption for non-critical workloads without impacting IPC for critical workloads.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamic C-state selection that adapts based on thread priority and workload characteristics. The system dynamically adjusts the target C-state by considering thread importance, allowing the processor to transition between shallow and deep idle states based on real-time requirements. This dynamic approach enables the system to maintain high IPC when needed while achieving deep power savings when possible.

Inventive Principle:
Principle #15Dynamics

2Loss of energy

If deeper C-states are selected for power savings, then power consumption is reduced, but responsiveness to critical threads deteriorates

Engineering Contradiction:
Improvepower consumptionVSAvoidresponsiveness
Core Design Contradiction:
Loss of energyVSSpeed

Solution Approach 1:

The patent applies local quality by assigning different C-state depths based on thread priority. Critical threads receive shallower C-state targets (C0-C3) that enable faster wake-up and maintain system responsiveness, while non-critical threads are directed to deeper C-states (C4-C6) for maximum power savings. This localized differentiation ensures that responsiveness is maintained for important workloads while achieving deep power savings for less important ones.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system uses feedback from thread priority information and workload characteristics to dynamically adjust C-state selection. By monitoring thread importance and system state, the processor can determine the appropriate C-state depth, ensuring that critical threads maintain responsiveness while non-critical threads achieve deep power savings. This feedback mechanism resolves the contradiction between power savings and responsiveness.

Inventive Principle:
Principle #23Feedback

3Speed

If shallower idle states are used for critical threads, then responsiveness is improved, but power consumption increases

Engineering Contradiction:
ImproveresponsivenessVSAvoidpower consumption
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The patent applies local quality by differentiating power state management based on thread priority. Critical threads are assigned shallower C-states (C0-C3) that maintain responsiveness and performance, accepting higher power consumption for these important workloads. Non-critical threads are assigned deeper C-states (C4-C6) to maximize power savings. This localized approach ensures that power is consumed only where necessary for critical functionality.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically adjusts C-state selection based on thread priority and system conditions. When critical threads are present, the system selectively uses shallower idle states for those specific threads while allowing deeper states for non-critical threads. This dynamic, selective approach optimizes the balance between responsiveness and power consumption based on real-time workload requirements.

Inventive Principle:
Principle #15Dynamics

4Device complexity

If unified C-state selection is used for all threads, then system simplicity is maintained, but performance optimization for different thread priorities deteriorates

Engineering Contradiction:
Improvesystem simplicityVSAvoidperformance optimization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies local quality by implementing thread-priority-aware C-state selection. Instead of a unified approach, the system differentiates C-state targets based on individual thread priority levels. Critical threads receive optimized shallower C-state targets while non-critical threads receive deeper C-state targets, enabling performance optimization without significantly increasing system complexity. The differentiation is achieved through existing thread priority mechanisms and targeted C-state adjustments.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12141015B2Hardware and software coordinated cost-aware low power state selection
Publication Date: 2024.11.12 INTEL CORP
  • US12141015B2 patent drawing
  • US12141015B2 patent drawing
  • US12141015B2 patent drawing

AI summary

A hardware and software coordinated processor power state policy (e.g., policy for C-state) that delivers optimal power state selection by taking in to account the performance and/or responsiveness needs of thread expected to be scheduled on the core entering idle, to achieve improved IPC and performance for cores running user critical tasks. The scheme provides the ability to deliver responsiveness gains for important and/or user-critical threads running on a system-on-chip. A power management controller coupled to the plurality of processing cores, wherein the power management controller receives a hint from an operating system indicative of a bias towards a power state or performance state for at least one of the processing cores of the plurality of processing cores based on a priority of a thread in context switch.