Barrier Synchronization Energy Reduction via Thread Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High energy consumption in modern processors, particularly in high-performance computing systems, due to inefficient thread synchronization methods like busy-waiting and blocking algorithms, which waste energy by keeping cores active during synchronization points.
Innovation Solution
A synchronization method that powers down cores waiting at a barrier point, with only the first thread actively polling for the release condition, and subsequent threads moved to the core of the first thread, allowing cores to be powered down until all threads reach the synchronization point, then powered up for continued execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional barrier synchronization is used where all threads actively poll for synchronization completion, then synchronization reliability is improved, but energy consumption increases significantly
Solution Approach 1:
The patent extracts the active polling function from all threads and concentrates it in a single designated thread. When threads reach the barrier, only one thread remains active to poll for synchronization completion while other threads are deactivated, thereby maintaining synchronization reliability while dramatically reducing energy consumption by eliminating redundant active polling across all threads
Solution Approach 2:
Instead of having all threads actively wait and poll (the conventional approach), the patent inverts the approach by having all threads deactivate and only one thread remain active to poll. This inversion transforms the energy-consuming active waiting model into an energy-efficient model where the majority of threads can power down while synchronization still progresses
2Use of energy by moving object
If threads are deactivated during barrier synchronization to save energy, then energy consumption is reduced, but thread management complexity increases
Solution Approach 1:
The patent merges the control and coordination functions into a single designated thread that remains active during barrier synchronization. This single thread handles polling, detects when all threads have arrived, and manages the reactivation process. By combining multiple management functions into one thread, the system reduces overall complexity compared to having each thread independently manage its own state and coordination
3Productivity
If all cores remain active during synchronization waiting, then computation efficiency is maintained, but energy waste increases
Solution Approach 1:
The patent implements periodic action by having a single thread perform intermittent polling checks rather than continuous active waiting. The active thread polls at intervals to check for synchronization completion, allowing it to enter low-power states between polls. This periodic polling approach maintains synchronization functionality while enabling significant energy savings compared to continuous active waiting on all cores
Data Source
AI summary
A synchronization method in a computer system with multiple cores, wherein a group of threads executes in parallel on a plurality of cores, the group of threads being synchronized using barrier synchronization in which each thread in the group waits for all the others at a barrier before progressing; the group of threads executes until a first thread reaches the barrier; the first thread enters a polling state, repeatedly checking for a release condition indicating the end of the barrier; subsequent threads to reach the barrier are moved to the core on which the first thread is executing; and other cores are powered down as the number of moved threads increases; and wherein when the first thread detects the release condition, the powered down cores are powered up and are available for use by the threads.


