Runtime Thread Power Management for Parallel Execution Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In parallel computing systems, the uneven completion times of multiple threads at a global barrier lead to inefficiencies due to power-saving mechanisms being limited to avoid latency, causing delays in continued execution.
Innovation Solution
A runtime system that predicts completion times and adjusts the execution rate of threads by managing power supply to processing cores, allowing some threads to enter a low power consumption sleep state without delaying overall execution, thereby optimizing performance under chip-level power constraints.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If power-saving mechanisms are used to reduce energy consumption, then energy efficiency is improved, but execution latency increases causing delays in continued execution
Solution Approach 1:
The system performs preliminary actions by having threads enter a sleep state before the global barrier is reached. The runtime system predicts completion times and proactively adjusts thread execution rates, allowing threads to save power in advance without causing latency when the barrier is reached, since all threads are coordinated to arrive simultaneously.
Solution Approach 2:
The system dynamically adjusts the execution rate of parallel threads based on predicted completion times. The runtime system continuously monitors thread progress and modifies power supply to processing cores in real-time, enabling threads to flexibly transition between active and sleep states while maintaining synchronized arrival at the global barrier.
2Use of energy by moving object
If threads enter sleep state to save power, then energy efficiency is improved, but synchronization at global barrier becomes difficult
Solution Approach 1:
The runtime system implements feedback by continuously monitoring thread completion times and using this information to adjust power supply to processing cores. This closed-loop control ensures that threads entering sleep states are awakened at the precise moment needed to reach the global barrier simultaneously, maintaining synchronization while enabling power savings.
Solution Approach 2:
The system changes the power state parameter of processing cores dynamically. By adjusting the power supply level based on predicted completion times, threads can transition between different power states (active, sleep, wake) while maintaining coordinated arrival at the global barrier, thus preserving synchronization reliability.
3Productivity
If execution rate is increased to reduce completion time differences, then productivity is improved, but power consumption increases
Solution Approach 1:
The system uses periodic action by having threads alternate between active execution periods and sleep periods. The runtime system orchestrates these periodic transitions so that threads execute at high speed when needed to catch up, then enter sleep state to conserve power, while still achieving synchronized completion at the global barrier.
Data Source
AI summary
A method of balancing execution rates for a plurality of parallel program loops being executed concurrently by a processor may include estimating a completion time for each program loop of the plurality of program loops, determining a difference between the estimated completion time of a first program loop of the plurality of program loops and the estimated completion time of a second program loop of the plurality of program loops, and decreasing the difference by adjusting an execution rate of the first program loop.


