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

37 Citations (Scopus)

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

Other

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

Fingerprint

Evolutionary algorithms
Hardware

Keywords

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

ASJC Scopus subject areas

  • Software
  • Information Systems
  • Hardware and Architecture

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) https://doi.org/10.1145/2541940.2541980

Post-compiler software optimization for reducing energy. / Schulte, Eric; Dorn, Jonathan; Harding, Stephen; Forrest, Stephanie; Weimer, Westley.

ASPLOS 2014 - 19th International Conference on Architectural Support for Programming Languages and Operating Systems. 2014. p. 639-651.

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

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, 19th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2014, Salt Lake City, UT, United States, 3/1/14. https://doi.org/10.1145/2541940.2541980
Schulte E, Dorn J, Harding S, Forrest S, Weimer W. Post-compiler software optimization for reducing energy. In ASPLOS 2014 - 19th International Conference on Architectural Support for Programming Languages and Operating Systems. 2014. p. 639-651 https://doi.org/10.1145/2541940.2541980
Schulte, Eric ; Dorn, Jonathan ; Harding, Stephen ; Forrest, Stephanie ; Weimer, Westley. / Post-compiler software optimization for reducing energy. ASPLOS 2014 - 19th International Conference on Architectural Support for Programming Languages and Operating Systems. 2014. pp. 639-651
@inproceedings{6329857317e84cfab51fb4623bb64801,
title = "Post-compiler software optimization for reducing energy",
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).",
keywords = "Assembly code, Compilation, Evolutionary computation, Mutational robustness, Power modeling, Profile-guided optimization, Superoptimization",
author = "Eric Schulte and Jonathan Dorn and Stephen Harding and Stephanie Forrest and Westley Weimer",
year = "2014",
month = "3",
day = "14",
doi = "10.1145/2541940.2541980",
language = "English (US)",
isbn = "9781450323055",
pages = "639--651",
booktitle = "ASPLOS 2014 - 19th International Conference on Architectural Support for Programming Languages and Operating Systems",

}

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/3/14

Y1 - 2014/3/14

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

SP - 639

EP - 651

BT - ASPLOS 2014 - 19th International Conference on Architectural Support for Programming Languages and Operating Systems

ER -