figshare
Browse

Energy-Languages-PowerCap

Download (39.09 MB)
software
posted on 2024-09-23, 09:51 authored by Simão CunhaSimão Cunha, Luís SilvaLuís Silva, João Paulo Fernandes, João Saraiva

Trading Runtime for Energy Efficiency: Leveraging Power Caps to Save Energy Across Programming Languages

1. Authors:

  • Simão Cunha (a93262@alunos.uminho.pt)
  • Luís Silva (pg50564@alunos.uminho.pt)
  • João Saraiva (saraiva@di.uminho.pt)
  • João Paulo Fernandes (jpf9731@nyu.edu)

Requirements

  • Debian-based Linux distributions (needs to work with RAPLCap)
  • Intel processor
  • Non containerized environment

Directory Structure

  • benchmarks/
    • Contains benchmark tests (see benchmarks/README.md for more details), including:
      • Dacapo
      • Nofib
      • PyPerformance
  • inputs/
    • Required input files for specific problem executions.
  • Languages/
    • Folder with all the languages and problems used for evaluations.
  • NoteBooks/
    • Jupyter notebooks with graphs and calculations used in the paper.
  • RAPL/
    • C program for measuring and limiting CPU power.

Required Libraries

  • RAPL
  • lm-sensors
  • Powercap
  • Raplcap

These libraries can be installed with the following command:

sudo sh raplLibrariesSetup.sh

Setup

To install all the required language compilers, interpreters and libraries, execute the script:

sudo sh languagesSetup.sh

Note: This setup was not fully tested and might require manual interaction (such as accepting permissions).

Generate the input files:

sudo sh gen-input.sh

Execute the script to generate the CSV file (this script iterates all the Languages and all of the programs):

sh measure.sh

Note: You might need to update some of the compilers' paths since the script uses default installation paths from the authors' machine. These paths are defined on config.env.

Meaning of the CSV file columns

Column

Meaning

Language

Programming language of the sorting algorithm

ProgramName

Name of the sorting algorithm

Package

Energy consumption of the entire socket - all cores consumption, GPU, and external core components

Core

Energy consumption by all cores and caches

GPU

Energy consumption by the GPU

DRAM

Energy consumption by the RAM

Time

Algorithm's execution time (in ms)

Temperature

Mean temperature in all cores (in Celsius degrees)

Memory

Total physical memory assigned to the algorithm execution (in KBytes)

PowerLimit

Power cap of the cores (in Watts)

ACM Reference Format

Simão Cunha, Luís Silva, João Saraiva, and João Paulo Fernandes. 2024. Trading Runtime for Energy Efficiency: Leveraging Power Caps to Save Energy Across Programming Languages. In Proceedings of the 17th ACM SIGPLAN International Conference on Software Language Engineering (SLE '24), October 20–21, 2024, Pasadena, CA, USA. ACM, New York, NY, USA, 13 pages. https://doi.org/10.1145/3687997.3695638

Funding

CERCIRAS: Connecting Education and Research Communities for an Innovative Resource Aware Society

Coordenação de Aperfeicoamento de Pessoal de Nível Superior

Find out more...

Protocolo FCT/FCG

Fundação para a Ciência e Tecnologia

Find out more...

History

Usage metrics

    Licence

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC