ENTRA: Whole-Systems Energy Transparency

Abstract Promoting energy efficiency to a first class system design goal is an important research challenge. Although more energy-efficient hardware can be designed, it is software that controls the hardware; for a given system the potential for energy savings is likely to be much greater at the higher levels of abstraction in the system stack. Thus the greatest savings are expected from energy-aware software development, which is the vision of the EU ENTRA project. This article presents the concept of energy transparency as a foundation for energy-aware software development. We show how energy modelling of hardware is combined with static analysis to allow the programmer to understand the energy consumption of a program without executing it, thus enabling exploration of the design space taking energy into consideration. The paper concludes by summarising the current and future challenges identified in the ENTRA project.

[1]  John P. Gallagher,et al.  Abstract Interpretation of PIC Programs through Logic Programming , 2006, 2006 Sixth IEEE International Workshop on Source Code Analysis and Manipulation.

[2]  Reinhard Wilhelm,et al.  The influence of processor architecture on the design and the results of WCET tools , 2003, Proceedings of the IEEE.

[3]  Saumya K. Debray,et al.  Task granularity analysis in logic programs , 1990, PLDI '90.

[4]  Simon J. Hollis,et al.  Swallow: Building an energy-transparent many-core embedded real-time system , 2016, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[5]  Tiziana Margaria,et al.  Tools and algorithms for the construction and analysis of systems: a special issue for TACAS 2017 , 2001, International Journal on Software Tools for Technology Transfer.

[6]  Elvira Albert,et al.  Closed-Form Upper Bounds in Static Cost Analysis , 2011, Journal of Automated Reasoning.

[7]  Manuel V. Hermenegildo,et al.  Inferring Energy Bounds Statically by Evolutionary Analysis of Basic Blocks , 2016, ArXiv.

[8]  Kerstin Eder,et al.  Data Dependent Energy Modeling for Worst Case Energy Consumption Analysis , 2015, SCOPES.

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

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

[11]  Jorge A. Navas,et al.  User-Definable Resource Bounds Analysis for Logic Programs , 2007, ICLP.

[12]  Kerstin Eder,et al.  Static analysis of energy consumption for LLVM IR programs , 2014, SCOPES.

[13]  Rupak Majumdar,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 1997, Lecture Notes in Computer Science.

[14]  Ashutosh Gupta,et al.  HSF(C): A Software Verifier Based on Horn Clauses - (Competition Contribution) , 2012, TACAS.

[15]  Kerstin Eder,et al.  Modeling and visualizing networked multi-core embedded software energy consumption , 2015, ArXiv.

[16]  Kerstin Eder,et al.  On the Value and Limits of Multi-level Energy Consumption Static Analysis for Deeply Embedded Single and Multi-threaded Programs , 2015, ArXiv.

[17]  Jorge A. Navas,et al.  Safe upper-bounds inference of energy consumption for java bytecode applications , 2008, FM'08 2008.

[18]  Umer Liqat,et al.  Trading-off Accuracy vs Energy in Multicore Processors via Evolutionary Algorithms Combining Loop Perforation and Static Analysis-Based Scheduling , 2015, HAIS.

[19]  Viktor Kuncak,et al.  A Verification Toolkit for Numerical Transition Systems - Tool Paper , 2012, FM.

[20]  Andrew Wolfe,et al.  Compilation techniques for low energy: an overview , 1994, Proceedings of 1994 IEEE Symposium on Low Power Electronics.

[21]  Manuel V. Hermenegildo,et al.  An overview of Ciao and its design philosophy , 2011, Theory and Practice of Logic Programming.

[22]  John P. Gallagher,et al.  An Energy-Aware Programming Approach for Mobile Application Development Guided by a Fine-Grained Energy Model , 2016, ArXiv.

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

[24]  Mads Rosendahl,et al.  Automatic complexity analysis , 1989, FPCA.

[25]  Alexander J. McNeil,et al.  Multivariate Archimedean copulas, $d$-monotone functions and $\ell_1$-norm symmetric distributions , 2009, 0908.3750.

[26]  John P. Gallagher,et al.  A Top-to-Bottom View: Energy Analysis for Mobile Application Source Code , 2015, ArXiv.

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

[28]  Mark C. Johnson,et al.  Software design for low power , 1997 .

[29]  Jorge A. Navas,et al.  A Flexible, (C)LP-Based Approach to the Analysis of Object-Oriented Programs , 2008, LOPSTR.

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

[31]  John P. Gallagher,et al.  Fine-Grained Energy Modeling for the Source Code of a Mobile Application , 2016, MobiQuitous.

[32]  Ben Wegbreit,et al.  Mechanical program analysis , 1975, CACM.

[33]  Pedro López-García,et al.  Energy Efficient Allocation and Scheduling for DVFS-enabled Multicore Environments using a Multiobjective Evolutionary Algorithm , 2015, GECCO.

[34]  Jan Maluszy¿ski,et al.  Lower Bound Cost Estimation for Logic Programs , 1997 .

[35]  Pedro López-García,et al.  Improved Energy-Aware Stochastic Scheduling Based on Evolutionary Algorithms via Copula-Based Modeling of Task Dependences , 2015, SOCO.

[36]  Wolfgang Nebel,et al.  Low power design in deep submicron electronics , 1997 .

[37]  Manuel V. Hermenegildo,et al.  Resource Usage Analysis of Logic Programs via Abstract Interpretation Using Sized Types* , 2014, Theory and Practice of Logic Programming.

[38]  Mads Rosendahl,et al.  Probabilistic Resource Analysis by Program Transformation , 2015, FOPARA.

[39]  Mads Rosendahl,et al.  Probabilistic Output Analysis by Program Manipulation , 2015, QAPL.

[40]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[41]  Fabio Fioravanti,et al.  Proceedings First Workshop on Horn Clauses for Verification and Synthesis , 2014 .

[42]  John P. Gallagher,et al.  A Transformational Approach to Parametric Accumulated-Cost Static Profiling , 2016, FLOPS.

[43]  Ting Lie,et al.  Advances in Intelligent Systems and Computing , 2014 .

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

[45]  William Fornaciari,et al.  Software energy estimation based on statistical characterization of intermediate compilation code , 2011, IEEE/ACM International Symposium on Low Power Electronics and Design.

[46]  Saumya K. Debray,et al.  Lower Bound Cost Estimation for Logic Programs , 1997, ILPS.

[47]  R. Nelsen Properties and applications of copulas : A brief survey , 2004 .

[48]  Kerstin Eder,et al.  On the infeasibility of analysing worst-case dynamic energy , 2016, ArXiv.

[49]  Manuel V. Hermenegildo,et al.  Compile-Time Derivation of Variable Dependency Using Abstract Interpretation , 1992, J. Log. Program..

[50]  Margaret Martonosi,et al.  Wattch: a framework for architectural-level power analysis and optimizations , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

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

[52]  Pedro López-García,et al.  Stochastic vs. deterministic evolutionary algorithm-based allocation and scheduling for XMOS chips , 2015, Neurocomputing.

[53]  Annalisa Bossi Logic-Based Program Synthesis and Transformation , 1999, Lecture Notes in Computer Science.

[54]  Foundational and Practical Aspects of Resource Analysis , 2009, Lecture Notes in Computer Science.

[55]  Umer Liqat,et al.  A Practical Approach for Energy Efficient Scheduling in Multicore Environments by Combining Evolutionary and YDS Algorithms with Faster Energy Estimation , 2015, AIAI.

[56]  John P. Gallagher,et al.  Inferring Parametric Energy Consumption Functions at Different Software Levels: ISA vs. LLVM IR , 2015, FOPARA.