Département Informatique

Computer Science Department of Telecom SudParis

Fine grain energy consumption measurement

Keywords: energy consumption, HPC, runtime system, parallel programming, monitoring


The power consumption of supercomputers is and will be a major concern. As a matter of fact, Frontier, the fastest super computer in the world consumes around 20 MW. As a consequence, reducing the power consumtion of HPC applications is mandatory.

The first step towards reducing the power consumption of programs is being able to monitor their energy consumption. Servers usually contain wattmeters able to measure the power consumption of the CPU[1], the memory, the GPU[2], etc. However, these wattmeters only provide coarse grain energy measurement, with a typical measurement period of dozens of milliseconds. During this period of time, the application may execute hundreds of tasks. As a result, analyzing the power consumption of an application at the microsecond scale is tedious.

Research project

The goal of this internship is to investigate fine grain energy measurement in StarPU[3]. StarPU is a task-based runtime system that executes microsecond-scale tasks on CPUs and GPUs. Since StarPU executes many instances of a few types of tasks, it should be possible to build an energy consumption model of each type of task.

The proposed approach would be to measure the energy consumption of a server (its CPU, GPU, etc.) at coarse-grain (typically, one sample every 20 ms), and to log which tasks were executed during this period of time. By repeating this many times, it should be possible to solve a linear system that models the energy consumption of microsecond-scale tasks.

The main steps of this project are:
– Study the StarPU task-based runtime system
– Study the energy monitoring systems [4]
– Design a tool that logs the tasks executed by StarPU as well as the server power consumption
– Analyze the collected data to define a fine-grain energy consumption model


The internship will be located in the Inria Benagil group (at Télécom SudParis in Evry or Palaiseau) or in the Inria Storm group in Bordeaux (but preferably in Evry/Palaiseau). The internship may continue with a PhD co-advised by François Trahay (Inria Benagil), and Amina Guermouche (Inria Storm in Bordeaux).

Application: Candidates must have a master in computer science. Good programming skills are required. Applications should be sent to francois.trahay@telecom-sudparis.eu.
They should include:
– a curriculum vitae;
– a motivation letter;
– at least one referee with their e-mail address;

François Trahay francois.trahay@telecom-sudparis.eu
Inria Benagil group
Télécom SudParis

Amina Guermouche amina.guermouche@inria.fr
Inria Storm group
Université de Bordeaux

[1] Intel RAPL https://www.kernel.org/doc/html/next/power/powercap/powercap.html
[2] NVidia Management Library (NVML) https://developer.nvidia.com/nvidia-management-library-nvml
[3] StarPU https://starpu.gitlabpages.inria.fr/
[4] MPI wattmeter https://github.com/trahay/mpi-wattmeter