Inferring Parametric Energy Consumption Functions at Different Software Levels: ISA vs. LLVM IR

Umer Liqat, Kyriakos Georgiou, Steve Kerrison, Pedro López-García, John Patrick Gallagher, Manuel V. Hermenegildo, Kerstin Eder

Publikation: Kapitel i bog/rapport/konferenceprocesKonferencebidrag i proceedings

Resumé

The static estimation of the energy consumed by program executions is an important challenge, which has applications in program optimization and verification, and is instrumental in energy-aware software development. Our objective is to estimate such energy consumption in the form of functions on the input data sizes of programs. We have developed a tool for experimentation with static analysis which infers such energy functions at two levels, the instruction set architecture (ISA) and the intermediate code (LLVM IR) levels, and reflects it upwards to the higher source code level. This required the development of a translation from LLVM IR to an intermediate representation and its integration with existing components, a translation from ISA to the same representation, a resource analyzer, an ISA-level energy model, and a mapping from this model to LLVM IR. The approach has been applied to programs written in the XC language running on XCore architectures, but is general enough to be applied to other languages. Experimental results show that our LLVM IR level analysis is reasonably accurate (less than 6.4% average error vs. hardware measurements) and more powerful than analysis at the ISA level. This paper provides insights into the trade-off of precision versus analyzability at these levels.
The static estimation of the energy consumed by program executions is an important challenge, which has applications in program optimization and verification, and is instrumental in energy-aware software development. Our objective is to estimate such energy consumption in the form of functions on the input data sizes of programs. We have developed a tool for experimentation with static analysis which infers such energy functions at two levels, the instruction set architecture (ISA) and the intermediate code (LLVM IR) levels, and reflects it upwards to the higher source code level. This required the development of a translation from LLVM IR to an intermediate representation and its integration with existing components, a translation from ISA to the same representation, a resource analyzer, an ISA-level energy model, and a mapping from this model to LLVM IR. The approach has been applied to programs written in the XC language running on XCore architectures, but is general enough to be applied to other languages. Experimental results show that our LLVM IR level analysis is reasonably accurate (less than 6.4% average error vs. hardware measurements) and more powerful than analysis at the ISA level. This paper provides insights into the trade-off of precision versus analyzability at these levels.
SprogEngelsk
TitelFoundational and Practical Aspects of Resource Analysis : 4th International Workshop, FOPARA 2015
RedaktørerMarco C.J.D. van Eekelen, Ugo Dal Lago
Udgivelses stedSwitzerland
ForlagSpringer
Dato2016
Sider81-100
ISBN (Trykt)978-3-319-46558-6
ISBN (Elektronisk)978-3-319-46559-3
DOI
StatusUdgivet - 2016
Begivenhed4th International Workshop on Foundational and Practical Aspects of Resource Analysis - London, Storbritannien
Varighed: 11 apr. 201511 apr. 2015

Workshop

Workshop4th International Workshop on Foundational and Practical Aspects of Resource Analysis
LandStorbritannien
ByLondon
Periode11/04/201511/04/2015
NavnLecture Notes in Computer Science
Vol/bind9964
ISSN0302-9743

Emneord

    Citer dette

    Liqat, U., Georgiou, K., Kerrison, S., López-García, P., Gallagher, J. P., Hermenegildo, M. V., & Eder, K. (2016). Inferring Parametric Energy Consumption Functions at Different Software Levels: ISA vs. LLVM IR. I M. C. J. D. van Eekelen, & U. Dal Lago (red.), Foundational and Practical Aspects of Resource Analysis: 4th International Workshop, FOPARA 2015 (s. 81-100). Switzerland: Springer. Lecture Notes in Computer Science, Bind. 9964, DOI: 10.1007/978-3-319-46559-3_5
    Liqat, Umer ; Georgiou, Kyriakos ; Kerrison, Steve ; López-García, Pedro ; Gallagher, John Patrick ; Hermenegildo, Manuel V. ; Eder, Kerstin. / Inferring Parametric Energy Consumption Functions at Different Software Levels : ISA vs. LLVM IR. Foundational and Practical Aspects of Resource Analysis: 4th International Workshop, FOPARA 2015. red. / Marco C.J.D. van Eekelen ; Ugo Dal Lago. Switzerland : Springer, 2016. s. 81-100 (Lecture Notes in Computer Science, Bind 9964).
    @inproceedings{0bbbb10b9b794830a41f0d33b955c811,
    title = "Inferring Parametric Energy Consumption Functions at Different Software Levels: ISA vs. LLVM IR",
    abstract = "The static estimation of the energy consumed by program executions is an important challenge, which has applications in program optimization and verification, and is instrumental in energy-aware software development. Our objective is to estimate such energy consumption in the form of functions on the input data sizes of programs. We have developed a tool for experimentation with static analysis which infers such energy functions at two levels, the instruction set architecture (ISA) and the intermediate code (LLVM IR) levels, and reflects it upwards to the higher source code level. This required the development of a translation from LLVM IR to an intermediate representation and its integration with existing components, a translation from ISA to the same representation, a resource analyzer, an ISA-level energy model, and a mapping from this model to LLVM IR. The approach has been applied to programs written in the XC language running on XCore architectures, but is general enough to be applied to other languages. Experimental results show that our LLVM IR level analysis is reasonably accurate (less than 6.4\{%} average error vs. hardware measurements) and more powerful than analysis at the ISA level. This paper provides insights into the trade-off of precision versus analyzability at these levels.",
    keywords = "Energy savings, Static analysis",
    author = "Umer Liqat and Kyriakos Georgiou and Steve Kerrison and Pedro L\{'o}pez-Garc\{'i}a and Gallagher, {John Patrick} and Hermenegildo, {Manuel V.} and Kerstin Eder",
    year = "2016",
    doi = "10.1007/978-3-319-46559-3_5",
    language = "English",
    isbn = "978-3-319-46558-6",
    pages = "81--100",
    editor = "{van Eekelen}, {Marco C.J.D.} and {Dal Lago}, Ugo",
    booktitle = "Foundational and Practical Aspects of Resource Analysis",
    publisher = "Springer",

    }

    Liqat, U, Georgiou, K, Kerrison, S, López-García, P, Gallagher, JP, Hermenegildo, MV & Eder, K 2016, Inferring Parametric Energy Consumption Functions at Different Software Levels: ISA vs. LLVM IR. i MCJD van Eekelen & U Dal Lago (red), Foundational and Practical Aspects of Resource Analysis: 4th International Workshop, FOPARA 2015. Springer, Switzerland, Lecture Notes in Computer Science, bind. 9964, s. 81-100, 4th International Workshop on Foundational and Practical Aspects of Resource Analysis, London, Storbritannien, 11/04/2015. DOI: 10.1007/978-3-319-46559-3_5

    Inferring Parametric Energy Consumption Functions at Different Software Levels : ISA vs. LLVM IR. / Liqat, Umer; Georgiou, Kyriakos; Kerrison, Steve; López-García, Pedro; Gallagher, John Patrick; Hermenegildo, Manuel V.; Eder, Kerstin.

    Foundational and Practical Aspects of Resource Analysis: 4th International Workshop, FOPARA 2015. red. / Marco C.J.D. van Eekelen; Ugo Dal Lago. Switzerland : Springer, 2016. s. 81-100.

    Publikation: Kapitel i bog/rapport/konferenceprocesKonferencebidrag i proceedings

    TY - GEN

    T1 - Inferring Parametric Energy Consumption Functions at Different Software Levels

    T2 - ISA vs. LLVM IR

    AU - Liqat,Umer

    AU - Georgiou,Kyriakos

    AU - Kerrison,Steve

    AU - López-García,Pedro

    AU - Gallagher,John Patrick

    AU - Hermenegildo,Manuel V.

    AU - Eder,Kerstin

    PY - 2016

    Y1 - 2016

    N2 - The static estimation of the energy consumed by program executions is an important challenge, which has applications in program optimization and verification, and is instrumental in energy-aware software development. Our objective is to estimate such energy consumption in the form of functions on the input data sizes of programs. We have developed a tool for experimentation with static analysis which infers such energy functions at two levels, the instruction set architecture (ISA) and the intermediate code (LLVM IR) levels, and reflects it upwards to the higher source code level. This required the development of a translation from LLVM IR to an intermediate representation and its integration with existing components, a translation from ISA to the same representation, a resource analyzer, an ISA-level energy model, and a mapping from this model to LLVM IR. The approach has been applied to programs written in the XC language running on XCore architectures, but is general enough to be applied to other languages. Experimental results show that our LLVM IR level analysis is reasonably accurate (less than 6.4% average error vs. hardware measurements) and more powerful than analysis at the ISA level. This paper provides insights into the trade-off of precision versus analyzability at these levels.

    AB - The static estimation of the energy consumed by program executions is an important challenge, which has applications in program optimization and verification, and is instrumental in energy-aware software development. Our objective is to estimate such energy consumption in the form of functions on the input data sizes of programs. We have developed a tool for experimentation with static analysis which infers such energy functions at two levels, the instruction set architecture (ISA) and the intermediate code (LLVM IR) levels, and reflects it upwards to the higher source code level. This required the development of a translation from LLVM IR to an intermediate representation and its integration with existing components, a translation from ISA to the same representation, a resource analyzer, an ISA-level energy model, and a mapping from this model to LLVM IR. The approach has been applied to programs written in the XC language running on XCore architectures, but is general enough to be applied to other languages. Experimental results show that our LLVM IR level analysis is reasonably accurate (less than 6.4% average error vs. hardware measurements) and more powerful than analysis at the ISA level. This paper provides insights into the trade-off of precision versus analyzability at these levels.

    KW - Energy savings

    KW - Static analysis

    U2 - 10.1007/978-3-319-46559-3_5

    DO - 10.1007/978-3-319-46559-3_5

    M3 - Article in proceedings

    SN - 978-3-319-46558-6

    SP - 81

    EP - 100

    BT - Foundational and Practical Aspects of Resource Analysis

    PB - Springer

    CY - Switzerland

    ER -

    Liqat U, Georgiou K, Kerrison S, López-García P, Gallagher JP, Hermenegildo MV et al. Inferring Parametric Energy Consumption Functions at Different Software Levels: ISA vs. LLVM IR. I van Eekelen MCJD, Dal Lago U, red., Foundational and Practical Aspects of Resource Analysis: 4th International Workshop, FOPARA 2015. Switzerland: Springer. 2016. s. 81-100. (Lecture Notes in Computer Science, Bind 9964). Tilgængelig fra, DOI: 10.1007/978-3-319-46559-3_5