Post-compiler software optimization for reducing energy

Eric Schulte, Jonathan Dorn, Stephen Harding, Stephanie Forrest, Westley Weimer

Research output: Chapter in Book/Report/Conference proceedingConference contribution

42 Scopus citations

Abstract

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).

Original languageEnglish (US)
Title of host publicationASPLOS 2014 - 19th International Conference on Architectural Support for Programming Languages and Operating Systems
Pages639-651
Number of pages13
DOIs
StatePublished - Mar 14 2014
Externally publishedYes
Event19th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2014 - Salt Lake City, UT, United States
Duration: Mar 1 2014Mar 5 2014

Publication series

NameInternational Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS

Conference

Conference19th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2014
CountryUnited States
CitySalt Lake City, UT
Period3/1/143/5/14

Keywords

  • Assembly code
  • Compilation
  • Evolutionary computation
  • Mutational robustness
  • Power modeling
  • Profile-guided optimization
  • Superoptimization

ASJC Scopus subject areas

  • Software
  • Information Systems
  • Hardware and Architecture

Fingerprint Dive into the research topics of 'Post-compiler software optimization for reducing energy'. Together they form a unique fingerprint.

  • Cite this

    Schulte, E., Dorn, J., Harding, S., Forrest, S., & Weimer, W. (2014). Post-compiler software optimization for reducing energy. In ASPLOS 2014 - 19th International Conference on Architectural Support for Programming Languages and Operating Systems (pp. 639-651). (International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS). https://doi.org/10.1145/2541940.2541980