TY - JOUR
T1 - Automatically Exploring Tradeoffs between Software Output Fidelity and Energy Costs
AU - Dorn, Jonathan
AU - Lacomis, Jeremy
AU - Weimer, Westley
AU - Forrest, Stephanie
N1 - Publisher Copyright:
© 1976-2012 IEEE.
PY - 2019/3/1
Y1 - 2019/3/1
N2 - Data centers account for a significant fraction of global energy consumption and represent a growing business cost. Most current approaches to reducing energy use in data centers treat it as a hardware, compiler, or scheduling problem. This article focuses instead on the software level, showing how to reduce the energy used by programs when they execute. By combining insights from search-based software engineering, mutational robustness, profile-guided optimization, and approximate computing, the Producing Green Applications Using Genetic Exploration (PowerGAUGE) algorithm finds variants of individual programs that use less energy than the original. We apply hardware, software, and statistical techniques to manage the complexity of accurately assigning physical energy measurements to particular processes. In addition, our approach allows, but does not require, relaxing output quality requirements to achieve greater non-functional improvements. PowerGAUGE optimizations are validated using physical performance measurements. Experimental results on PARSEC benchmarks and two larger programs show average energy reductions of 14% when requiring the preservation of original output quality and 41% when allowing for human-acceptable levels of error.
AB - Data centers account for a significant fraction of global energy consumption and represent a growing business cost. Most current approaches to reducing energy use in data centers treat it as a hardware, compiler, or scheduling problem. This article focuses instead on the software level, showing how to reduce the energy used by programs when they execute. By combining insights from search-based software engineering, mutational robustness, profile-guided optimization, and approximate computing, the Producing Green Applications Using Genetic Exploration (PowerGAUGE) algorithm finds variants of individual programs that use less energy than the original. We apply hardware, software, and statistical techniques to manage the complexity of accurately assigning physical energy measurements to particular processes. In addition, our approach allows, but does not require, relaxing output quality requirements to achieve greater non-functional improvements. PowerGAUGE optimizations are validated using physical performance measurements. Experimental results on PARSEC benchmarks and two larger programs show average energy reductions of 14% when requiring the preservation of original output quality and 41% when allowing for human-acceptable levels of error.
KW - Power optimization
KW - accurate energy measurement
KW - genetic algorithms
KW - optimizing noisy functions
KW - profile-guided optimization
KW - search-based software engineering
UR - http://www.scopus.com/inward/record.url?scp=85035746824&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85035746824&partnerID=8YFLogxK
U2 - 10.1109/TSE.2017.2775634
DO - 10.1109/TSE.2017.2775634
M3 - Article
AN - SCOPUS:85035746824
SN - 0098-5589
VL - 45
SP - 219
EP - 236
JO - IEEE Transactions on Software Engineering
JF - IEEE Transactions on Software Engineering
IS - 3
M1 - 8118155
ER -