Worst-Case Energy Consumption Analysis for Energy-Constrained Embedded Systems

The fact that energy is a scarce resource in many embedded real-time systems creates the need for energy-aware task schedulers, which not only guarantee timing constraints but also consider energy consumption. Unfortunately, existing approaches to analyze the worst-case execution time (WCET) of a task usually cannot be directly applied to determine its worst-case energy consumption (WCEC) due to execution time and energy consumption not being closely correlated on many state-of-the-art processors. Instead, a WCEC analyzer must take into account the particular energy characteristics of a target platform. In this paper, we present 0g, a comprehensive approach to WCEC analysis that combines different techniques to speed up the analysis and to improve results. If detailed knowledge about the energy costs of instructions on the target platform is available, our tool is able to compute upper bounds for the WCEC by statically analyzing the program code. Otherwise, a novel approach allows 0g to determine the WCEC by measurement after having identified a set of suitable program inputs based on an auxiliary energy model, which specifies the energy consumption of instructions in relation to each other. Our experiments for three target platforms show that 0g provides precise WCEC estimates.

[1]  Giuseppe Lipari,et al.  Speed modulation in energy-aware real-time systems , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

[2]  Marcus Völp,et al.  Has energy surpassed timeliness? Scheduling energy-constrained mixed-criticality systems , 2014, 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[3]  No License,et al.  Intel ® 64 and IA-32 Architectures Software Developer ’ s Manual Volume 3 A : System Programming Guide , Part 1 , 2006 .

[4]  James E. Baker,et al.  Reducing Bias and Inefficienry in the Selection Algorithm , 1987, ICGA.

[5]  Simon J. Hollis,et al.  Identifying Compiler Options to Minimize Energy Consumption for Embedded Platforms , 2013, Comput. J..

[6]  Paul S. Wang,et al.  Chains of recurrences—a method to expedite the evaluation of closed-form functions , 1994, ISSAC '94.

[7]  Dawson R. Engler,et al.  KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs , 2008, OSDI.

[8]  Gernot Heiser,et al.  Trickle: Automated infeasible path detection using all minimal unsatisfiable subsets , 2014, 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[9]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[10]  Peter P. Puschner,et al.  Computing Maximum Task Execution Times — A Graph-Based Approach , 2004, Real-Time Systems.

[11]  Vikram S. Adve,et al.  LLVM: a compilation framework for lifelong program analysis & transformation , 2004, International Symposium on Code Generation and Optimization, 2004. CGO 2004..

[12]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[13]  Raimund Kirner,et al.  Obstacles in Worst-Case Execution Time Analysis , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).

[14]  Rüdiger Kapitza,et al.  Proactive Energy-Aware Programming with PEEK , 2014, TRIOS.

[15]  Jan Gustafsson,et al.  The Mälardalen WCET Benchmarks: Past, Present And Future , 2010, WCET.

[16]  Kang G. Shin,et al.  Real-time dynamic voltage scaling for low-power embedded operating systems , 2001, SOSP.

[17]  Kalyanmoy Deb,et al.  A Comparative Analysis of Selection Schemes Used in Genetic Algorithms , 1990, FOGA.

[18]  Raimund Kirner,et al.  Measurement-Based Timing Analysis , 2008, ISoLA.

[19]  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).

[20]  Gerard J. M. Smit,et al.  A mathematical approach towards hardware design , 2010, Dynamically Reconfigurable Architectures.

[21]  George Candea,et al.  The S2E Platform: Design, Implementation, and Applications , 2012, TOCS.

[22]  Benedikt Huber,et al.  Combined WCET analysis of bitcode and machine code using control-flow relation graphs , 2013, LCTES.

[23]  Wolfgang Schröder-Preikschat,et al.  The RTSC: Leveraging the Migration from Event-Triggered to Time-Triggered Systems , 2010, 2010 13th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing.

[24]  Torsten Braun,et al.  On the Accuracy of Software-Based Energy Estimation Techniques , 2011, EWSN.

[25]  Hermann Härtig,et al.  Measuring energy consumption for short code paths using RAPL , 2012, PERV.

[26]  Jens Knoop,et al.  WCET squeezing: on-demand feasibility refinement for proven precise WCET-bounds , 2013, RTNS '13.