Improving energy efficiency of work-stealing parallel languages (invited talk abstract)
Yu David Liu · 2014
At a time when power-hungry data centers and cloud servers become increasingly prevalent, energy efficiency is looming as a first-class design goal for parallel computing. More established solutions to address this challenging problem come from innovations on parallel architectures and operating systems. In this talk, we bring in a new perspective into green parallel computing, improving energy efficiency at the level of programming language runtimes. Our concrete solution is Hermes, a work-stealing language runtime that favorably balances the trade-off between energy and performance. The key insight is that threads in a work-stealing environment -- thieves and victims have varying impacts on the overall program running time, and a coordination of their execution ``tempos'' can lead to energy efficiency with minimal performance loss. The centerpiece of Hermes is two complementary algorithms to coordinate thread tempo: a workpath-sensitive algorithm to determine tempo for each thread based on thief-victim relationships on the execution path, and a workload-sensitive algorithm to select appropriate tempo based on the size of work-stealing deques. On the highest level, Hermes can be viewed as a semantics-aware energy management strategy unifying the language runtime and the hardware, with the language runtime offering clues for judicious tempo settings, and the hardware physically enabling tempo adjustment through standard Dynamic Voltage and Frequency Scaling (DVFS). Hermes is a joint work with Ph.D. student Haris Ribic.