Thread Management Mechanism for Power Reduction in Multicore Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multithreaded computer systems face inefficiencies due to processor idling caused by cache misses and high power consumption, which leads to heat generation and increased operational costs, necessitating improved power management techniques.

Innovation Solution

A mechanism for managing threads in a multithreaded computer system by dividing processing units into two groups, where threads using hardware resources are assigned to one group and the remaining threads are distributed across all units, with power reduction or shutdown of unused units, and using performance counters to measure resource usage for selective coalescing and power management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multithreaded processing is used to reduce processor idling, then processor utilization is improved, but power consumption increases

Engineering Contradiction:
Improveprocessor utilizationVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The processor is divided into multiple independent cores, each capable of executing multiple threads. This segmentation allows the system to activate only the necessary number of cores based on workload requirements, improving processor utilization while controlling power consumption by keeping inactive cores in a low-power state

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts the number of active processor cores and the number of threads per core based on real-time hardware resource utilization metrics. When resource utilization is low, fewer cores are activated or fewer threads are scheduled per core, reducing power consumption while maintaining adequate processing capacity

Inventive Principle:
Principle #15Dynamics

2Productivity

If hardware resources are allocated to multiple threads, then resource utilization is improved, but performance degradation occurs due to contention

Engineering Contradiction:
Improveresource utilizationVSAvoidthread execution performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system continuously monitors hardware resource utilization metrics and uses this feedback to dynamically adjust thread scheduling decisions. When resource utilization exceeds thresholds that indicate contention, the system reduces the number of threads sharing hardware resources, thereby maintaining execution performance while still achieving improved overall resource utilization

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system changes scheduling parameters such as the number of threads per core and hardware resource allocation based on measured utilization levels. This dynamic parameter adjustment optimizes the balance between resource utilization and execution performance by adapting to changing workload characteristics

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8302098B2Hardware utilization-aware thread management in multithreaded computer systems
Publication Date: 2012.10.30 ORACLE AMERICAN INC
  • US8302098B2 patent drawing
  • US8302098B2 patent drawing
  • US8302098B2 patent drawing

AI summary

A device, system, and method are directed towards managing threads in a computer system with one or more processing units, each processing unit having a corresponding hardware resource. Threads are characterized based on their use or requirements for access to the hardware resource. The threads are distributed among the processing units in a configuration that leaves at least one processing unit with threads that have an aggregate zero or low usage of the hardware resource. Power may be reduced or turned off to the instances of the hardware resource that have zero or low usage. Distribution may be based on one or more of a number of specifications or factors, such as user power management specifications, power usage, performance, and other factors.