Processor Turbo Mode via Thread Quorum Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern multi-core processors face thermal and power constraints that prevent all cores from running simultaneously at full speed, limiting the ability to maintain high performance across all cores due to power control unit (PCU) limitations, which restricts turbo mode operation to only a subset of cores.

Innovation Solution

The system recognizes when enough threads are waiting on other threads to form a turbo quorum and places those threads into an inactive state, allowing other threads to enter turbo mode by using instructions like HALT or MONITOR-MWAIT, enabling cores to run at higher speeds while maintaining thermal and power constraints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If all processor cores run simultaneously at full speed, then processing throughput is maximized, but thermal and power constraints are violated

Engineering Contradiction:
Improveprocessing throughputVSAvoidthermal constraints
Core Design Contradiction:
ProductivityVSTemperature

Solution Approach 1:

The system dynamically adjusts the operating state of processor cores based on real-time conditions. When threads are waiting on locks, the system transitions waiting threads to inactive states and activates turbo mode for executing threads, creating a dynamic balance between throughput and thermal constraints

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters by switching threads between active and inactive states, and by adjusting processor speed from baseline to turbo mode. This parameter change allows the system to operate within thermal constraints while maintaining high throughput when conditions permit

Inventive Principle:
Principle #35Parameter changes

2Productivity

If all processor cores run simultaneously at full speed, then processing throughput is maximized, but power consumption exceeds package limits

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

Solution Approach 1:

The system dynamically adjusts power consumption by transitioning threads between active and inactive states based on lock contention. When contention is detected, waiting threads are inactive while executing threads run in turbo mode, optimizing the power-throughput tradeoff in real-time

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the power consumption parameter by switching processor cores between baseline and turbo modes. This allows the system to consume less power when full throughput is not needed, while still achieving high throughput when threads are actively executing

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If threads remain in active state while waiting for locks, then responsiveness is maintained, but power is wasted and turbo mode cannot be enabled

Engineering Contradiction:
Improvethread responsivenessVSAvoidpower waste
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The system dynamically transitions threads between active and inactive states based on their execution state. Threads waiting on locks are transitioned to inactive states to save power, while maintaining the ability to quickly resume when locks are released, thus balancing responsiveness and power efficiency

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system allows threads to self-manage their state by transitioning to inactive states when waiting on locks. This self-service approach enables automatic power savings without requiring external intervention, while maintaining system responsiveness through efficient state transitions

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8775837B2System and method for enabling turbo mode in a processor
Publication Date: 2014.07.08 ORACLE INT CORP
  • US8775837B2 patent drawing
  • US8775837B2 patent drawing
  • US8775837B2 patent drawing

AI summary

The systems and methods described herein may enable a processor core to run at higher speeds than other processor cores in the same package. A thread executing on one processor core may begin waiting for another thread to complete a particular action (e.g., to release a lock). In response to determining that other threads are waiting, the thread/core may enter an inactive state. A data structure may store information indicating which threads are waiting on which other threads. In response to determining that a quorum of threads/cores are in an inactive state, one of the threads/cores may enter a turbo mode in which it executes at a higher speed than the baseline speed for the cores. A thread holding a lock and executing in turbo mode may perform work delegated by waiting threads at the higher speed. A thread may exit the inactive state when the waited-for action is completed.