TY - GEN
T1 - Post-compiler software optimization for reducing energy
AU - Schulte, Eric
AU - Dorn, Jonathan
AU - Harding, Stephen
AU - Forrest, Stephanie
AU - Weimer, Westley
PY - 2014
Y1 - 2014
N2 - Modern compilers typically optimize for executable size and speed, rarely exploring non-functional properties such as power efficiency. These properties are often hardware-specific, time-intensive to optimize, and may not be amenable to standard dataflow optimizations. We present a general post-compilation approach called Genetic Optimization Algorithm (GOA), which targets measurable non-functional aspects of software execution in programs that compile to x86 assembly. GOA combines insights from profile-guided optimization, superoptimization, evolutionary computation and mutational robustness. GOA searches for program variants that retain required functional behavior while improving non-functional behavior, using characteristic workloads and predictive modeling to guide the search. The resulting optimizations are validated using physical performance measurements and a larger held-out test suite. Our experimental results on PARSEC benchmark programs show average energy reductions of 20%, both for a large AMD system and a small Intel system, while maintaining program functionality on target workloads. Copyright is held by the owner/author(s).
AB - Modern compilers typically optimize for executable size and speed, rarely exploring non-functional properties such as power efficiency. These properties are often hardware-specific, time-intensive to optimize, and may not be amenable to standard dataflow optimizations. We present a general post-compilation approach called Genetic Optimization Algorithm (GOA), which targets measurable non-functional aspects of software execution in programs that compile to x86 assembly. GOA combines insights from profile-guided optimization, superoptimization, evolutionary computation and mutational robustness. GOA searches for program variants that retain required functional behavior while improving non-functional behavior, using characteristic workloads and predictive modeling to guide the search. The resulting optimizations are validated using physical performance measurements and a larger held-out test suite. Our experimental results on PARSEC benchmark programs show average energy reductions of 20%, both for a large AMD system and a small Intel system, while maintaining program functionality on target workloads. Copyright is held by the owner/author(s).
KW - Assembly code
KW - Compilation
KW - Evolutionary computation
KW - Mutational robustness
KW - Power modeling
KW - Profile-guided optimization
KW - Superoptimization
UR - http://www.scopus.com/inward/record.url?scp=84897769162&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84897769162&partnerID=8YFLogxK
U2 - 10.1145/2541940.2541980
DO - 10.1145/2541940.2541980
M3 - Conference contribution
AN - SCOPUS:84897769162
SN - 9781450323055
T3 - International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS
SP - 639
EP - 651
BT - ASPLOS 2014 - 19th International Conference on Architectural Support for Programming Languages and Operating Systems
T2 - 19th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2014
Y2 - 1 March 2014 through 5 March 2014
ER -