A Top-to-Bottom View: Energy Analysis for Mobile Application Source Code

Energy efficiency significantly influences user experience of battery-driven devices such as smartphones and tablets. The goal of an energy model of source code is to lay a foundation for energy-saving techniques from architecture to software development. The challenge is linking hardware energy consumption to the high-level application source code, considering the complex run-time context, such as thread scheduling, user inputs and the abstraction of the virtual machine. Traditional energy modeling is bottom-to-top, but this approach faces obstacles when software consists of a number of abstract layers. In this paper, we propose a top-to-bottom view. We focus on identifying valuable information from the source code, which results in the idea of utilizing an intermediate representation, "energy operation", to capture the energy characteristics. The experiment results show that the energy model at such a high-level can reduce the error margin to within 10% and enable energy breakdown at function-level, which helps developers understand the energy-related features of the code.

[1]  Farid N. Najm,et al.  A survey of power estimation techniques in VLSI circuits , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[2]  Radu Marculescu,et al.  Adaptive models for input data compaction for power simulators , 1997, Proceedings of ASP-DAC '97: Asia and South Pacific Design Automation Conference.

[3]  Massoud Pedram,et al.  High-level Power Modeling, Estimation, And Optimization , 1997, Proceedings of the 34th Design Automation Conference.

[4]  D. Sciuto,et al.  An instruction-level functionality-based energy estimation model for 32-bits microprocessors , 2000, Proceedings 37th Design Automation Conference.

[5]  Luca Benini,et al.  Source code optimization and profiling of energy consumption in embedded systems , 2000, ISSS '00.

[6]  Tengyu Ma,et al.  CS229 Lecture notes , 2007 .

[7]  Ramesh Govindan,et al.  Estimating mobile application energy consumption using program analysis , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[8]  Massoud Pedram,et al.  Statistical sampling and regression analysis for RT-Level power evaluation , 1996, Proceedings of International Conference on Computer Aided Design.

[9]  Niraj K. Jha,et al.  High-level software energy macro-modeling , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[10]  Miodrag Potkonjak,et al.  Function-level power estimation methodology for microprocessors , 2000, DAC.

[11]  Farid N. Najm,et al.  Transition density: a new measure of activity in digital circuits , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[12]  Sharad Malik,et al.  Power analysis of embedded software: a first step towards software power minimization , 1994, IEEE Trans. Very Large Scale Integr. Syst..