Skip to main content
Department of Information Technology
Uppsala Architecture Research Team

Multiversioned Decoupled Access-Execute: the Key to Energy-Efficient Compilation of General-Purpose Programs

Computer architecture design faces an era of great challenges in an attempt to simultaneously improve performance and energy efficiency. Previous hardware techniques for energy management become severely limited, and thus, compilers play an essential role in matching the software to the more restricted hardware capabilities. One promising approach is software decoupled access-execute (DAE), in which the compiler transforms the code into coarse- grain phases that are well-matched to the Dynamic Voltage and Frequency Scaling (DVFS) capabilities of the hardware. While this method is proved efficient for statically analyzable codes, general-purpose applications pose significant challenges due to pointer aliasing, complex control flow and unknown runtime events. We propose a universal compile-time method to decouple general-purpose applications, using simple but efficient heuristics. Our solutions overcome the challenges of complex code and show that automatic decoupled execution significantly reduces the energy expenditure of irregular or memory-bound applications and even yields slight performance boosts. Overall, our technique achieves over 20% on average energy-delay-product (EDP) improvements (energy over 15% and performance over 5%) across 14 benchmarks from SPEC CPU 2006 and Parboil benchmark suites, with peak EDP improvements surpassing 70%.

smvdae.png

Multiversioned Decoupled Access-Execute: the Key to Energy-Efficient Compilation of General-Purpose Programs
Koukos K., Ekemark P., Zacharopoulos G., Spiliopoulos V., Kaxiras S., Jimborean A.
In CC - International Conference on Compiler Construction

Best Paper Award at CC 2016 for "Multiversioned Decoupled Access-Execute: the Key to Energy-Efficient Compilation of General-Purpose Programs"

Updated  2016-04-21 11:29:12 by Alexandra Jimborean.