Software Static Energy Modeling for Modern Processors

Power and energy estimation tools are essential tools that are used by system designers, software developers and compiler developers to optimize their products. In this work we present a novel method for statically estimating and analyzing the energy and power of programs, the method gives power and...

Full description

Saved in:
Bibliographic Details
Published inInternational journal of parallel programming Vol. 46; no. 2; pp. 284 - 312
Main Authors Haj-Yihia, Jawad, Ben-Asher, Yosi
Format Journal Article
LanguageEnglish
Published New York Springer US 01.04.2018
Springer Nature B.V
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Power and energy estimation tools are essential tools that are used by system designers, software developers and compiler developers to optimize their products. In this work we present a novel method for statically estimating and analyzing the energy and power of programs, the method gives power and energy statistics on the feasible program paths for both the core and cache using symbolic execution.Unlike profile-guided optimizations—that require generating stimulus and running them on the target processor to cover all possible paths—or the dataflow analysis that traverse all control-flow-graph paths, our method traverses all feasible paths of the program. Our method is static, which enables running it at compile time. We demonstrated how the tool can be used to optimize the power and energy of programs at compile time by choosing compiler flags that minimize the energy or power of the program.
ISSN:0885-7458
1573-7640
DOI:10.1007/s10766-017-0496-z