Data dependent energy modelling: A worst case perspective

Energy consumption of the software running on a device has become increasingly important as a growing number of devices rely on batteries or other limited sources of power. Of particular interest is constructing a bounded measure of the energy consumption — the maximum energy a program could consume for any input given to it. We explore the effect of different data on the energy consumption of individual instructions, instruction sequences and full programs. The whole program energy consumption of two benchmarks is analysed over random and hand-crafted data, and maximized with genetic algorithms for two embedded processors. We find that the worst case can be predicted from the distribution created by the random data, however, hand-crafted data can often achieve lower energy consumption. A model is constructed that allows the worst case energy for a sequence of instructions to be predicted. This is based on the observation that the transition between instructions is important and thus is not a single energy cost — it is a distribution dependent on the input and output values of the two consecutive instructions. We characterise the transition distributions for several instructions in the AVR instruction set, and show that this gives a useful upper bound on the energy consumption. We explore the effect that the transfer function of the instruction has on the data, and give an example which leads to a bimodal energy distribution. Finally, we conclude that a probabilistic approach is appropriate for estimating the energy consumption of programs.

[1]  Waltenegus Dargie,et al.  A Probabilistic Model for Estimating the Power Consumption of Processors and Network Interface Cards , 2013, 2013 12th IEEE International Conference on Trust, Security and Privacy in Computing and Communications.

[2]  Manuel V. Hermenegildo,et al.  Energy Consumption Analysis of Programs Based on XMOS ISA-Level Models , 2013, LOPSTR.

[3]  Massoud Pedram,et al.  Maximum power estimation using the limiting distributions of extreme order statistics , 1998, DAC.

[4]  Zaid A. M. Al-Khatib Operand Value Based Modeling and Estimation of Dynamic Energy Consumption of Soft Processors in FPGA , 2013 .

[5]  Michael S. Hsiao Peak power estimation using genetic spot optimization for large VLSI circuits , 1999, DATE '99.

[6]  Kurt Keutzer,et al.  Estimation of power dissipation in CMOS combinational circuits using Boolean function manipulation , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[7]  Kerstin Eder,et al.  Energy Modeling of Software for a Hardware Multithreaded Embedded Microprocessor , 2015, ACM Trans. Embed. Comput. Syst..

[8]  Jakob Engblom,et al.  Comparing Different Worst-Case Execution Time Analysis Methods , 2000 .

[9]  Peter Marwedel,et al.  An Accurate and Fine Grain Instruction-Level Energy Model Supporting Software Optimizations , 2007 .

[10]  Simon J. Hollis,et al.  BEEBS: Open Benchmarks for Energy Measurements on Embedded Platforms , 2013, ArXiv.

[11]  José L. Núñez-Yáñez,et al.  Enabling accurate modeling of power and energy consumption in an ARM-based System-on-Chip , 2013, Microprocess. Microsystems.

[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..

[13]  Jan Reineke,et al.  Towards compositionality in execution time analysis: definition and challenges , 2015, SIGBED.

[14]  Ping Yang,et al.  A Monte Carlo approach for power estimation , 1993, IEEE Trans. Very Large Scale Integr. Syst..

[15]  David May,et al.  The XMOS XS1 Architecture , 2009 .

[16]  Vincenzo Catania,et al.  An Instruction-Level Power Analysis Model with Data Dependency , 2001, VLSI Design.

[17]  H. Kojima,et al.  Power analysis of a programmable DSP for architecture/program optimization , 1995, 1995 IEEE Symposium on Low Power Electronics. Digest of Technical Papers.

[18]  Ahmed Hemani,et al.  Energy and Performance Model of a SPARC Leon3 Processor , 2009, 2009 12th Euromicro Conference on Digital System Design, Architectures, Methods and Tools.

[19]  W. Feller,et al.  The fundamental limit theorems in probability , 1945 .

[20]  Sharad Malik,et al.  Instruction level power analysis and optimization of software , 1996, Proceedings of 9th International Conference on VLSI Design.

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

[22]  Kerstin Eder,et al.  Optimizing the flash-RAM energy trade-off in deeply embedded systems , 2015, 2015 IEEE/ACM International Symposium on Code Generation and Optimization (CGO).

[23]  Xianfeng Li,et al.  Estimating the Worst-Case Energy Consumption of Embedded Software , 2006, 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'06).

[24]  Nikil D. Dutt,et al.  A Multi-Granularity Power Modeling Methodology for Embedded Processors , 2011, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[25]  D. Sarta,et al.  A data dependent approach to instruction level power estimation , 1999, Proceedings IEEE Alessandro Volta Memorial Workshop on Low-Power Design.

[26]  Sharad Malik,et al.  Performance Analysis of Embedded Software Using Implicit Path Enumeration , 1995, 32nd Design Automation Conference.

[27]  Michael S. Hsiao,et al.  K2: an estimator for peak sustainable power of VLSI circuits , 1997, Proceedings of 1997 International Symposium on Low Power Electronics and Design.