Thread Management Mechanism for Power Reduction in Multicore Systems
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Productivity
If multithreaded processing is used to reduce processor idling, then processor utilization is improved, but power consumption increases
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
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
2Productivity
If hardware resources are allocated to multiple threads, then resource utilization is improved, but performance degradation occurs due to contention
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
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
Data Source
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.


