Software Power Optimization via Post-Link-Time Binary Rewriting
Saumya Debray Robert Muth Scott Watterson
Department of Computer Science
University of Arizona
Tucson, AZ 85721, U.S.A.
Abstract
It is well known that compiler optimizations can significantly reduce the
energy usage of a program. However, the traditional model of compilation
imposes inherent limits on the extent of code optimization possible at
compile time.
In particular, analyses and optimizations are typically limited to individual
procedures, and hence cannot cross procedural and module boundaries
as well as the boundaries between application and library code. These
limitations can be overcome by carrying out additional code optimization
on the object file obtained after linking has been carried out. These
optimizations are complementary to those carried out by the compiler.
Our experiments indicate that significant improvements in energy usage
can be obtained via post-link-time code optimization, even for programs
that have been subjected to extensive compile-time optimization.