Processor Core Power State Selection via Thread Priority
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Loss of energy
If utilization-based C-state selection is used, then power consumption is reduced, but instructions per cycle (IPC) deteriorates
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.
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.
2Loss of energy
If deeper C-states are selected for power savings, then power consumption is reduced, but responsiveness to critical threads deteriorates
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.
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.
3Speed
If shallower idle states are used for critical threads, then responsiveness is improved, but power consumption increases
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.
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.
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
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.
Data Source
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.


