Energy Transparency for Deeply Embedded Programs

Kyriakos Georgiou, Steven Kerrison, Zbigniew Chamski, Kerstin Eder

Research output: Contribution to journalArticle (Academic Journal)peer-review

21 Citations (Scopus)
406 Downloads (Pure)


Energy transparency is a concept that makes a program’s energy consumption visible, from hardware up to software, through the different system layers. Such transparency can enable energy optimizations at each layer and between layers, as well as help both programmers and operating systems make energy-aware decisions. In this article, we focus on deeply embedded devices, typically used for Internet of Things (IoT) applications, and demonstrate how to enable energy transparency through existing static resource analysis (SRA) techniques and a new target-agnostic profiling technique, without hardware energy measurements. Our novel mapping technique enables software energy consumption estimations at a higher level than the Instruction Set Architecture (ISA), namely the LLVM intermediate representation (IR) level, and therefore introduces energy transparency directly to the LLVM optimizer. We apply our energy estimation techniques to a comprehensive set of benchmarks, including single- and multithreaded embedded programs from two commonly used concurrency patterns: task farms and pipelines. Using SRA, our LLVM IR results demonstrate a high accuracy with a deviation in the range of 1% from the ISA SRA. Our profiling technique captures the actual energy consumption at the LLVM IR level with an average error of 3%.
Original languageEnglish
Article number8
Number of pages26
JournalACM Transactions on Architecture and Code Optimization
Issue number1
Early online date1 Mar 2017
Publication statusPublished - 1 Mar 2017


  • IoT
  • LLVM
  • Static analysis
  • WCET
  • deeply embedded systems
  • profiling


Dive into the research topics of 'Energy Transparency for Deeply Embedded Programs'. Together they form a unique fingerprint.
  • ENTRA: Whole-systems energy transparency

    Eder, K., Gallagher, J. P., López-García, P., Muller, H., Banković, Z., Georgiou, K., Haemmerlé, R., Hermenegildo, M. V., Kafle, B., Kerrison, S., Kirkeby, M., Klemen, M., Li, X., Liqat, U., Morse, J., Rhiger, M. & Rosendahl, M., 1 Nov 2016, In: Microprocessors and Microsystems. 47, p. 278-286 9 p.

    Research output: Contribution to journalArticle (Academic Journal)peer-review

    Open Access
    12 Citations (Scopus)
    322 Downloads (Pure)
  • Inferring Parametric Energy Consumption Functions at Different Software Levels: ISA vs. LLVM IR

    Liqat, U., Georgiou, K., Kerrison, S., Lopez-Garcia, P., Gallagher, J. P., Hermenegildo, M. V. & Eder, K., 2016, Foundational and Practical Aspects of Resource Analysis: 4th International Workshop, FOPARA 2015, London, UK, April 11, 2015. Revised Selected Papers. Springer International Publishing AG, p. 81-100 20 p. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); vol. 9964).

    Research output: Chapter in Book/Report/Conference proceedingConference Contribution (Conference Proceeding)

    Open Access
    18 Citations (Scopus)
    302 Downloads (Pure)
  • Static analysis of energy consumption for LLVM IR programs

    Grech, N., Georgiou, K., Pallister, J., Kerrison, S., Morse, J. C. M. & Eder, K. I., 1 Jun 2015, Proceedings of the 18th International Workshop on Software and Compilers for Embedded Systems (SCOPES '15). Association for Computing Machinery (ACM), p. 12-21 9 p.

    Research output: Chapter in Book/Report/Conference proceedingConference Contribution (Conference Proceeding)

    Open Access
    38 Citations (Scopus)
    298 Downloads (Pure)

Cite this