OS-level tool for reproducible energy measurements

How do we know if a program or algorithm uses less energy?

Energy measurements on real hardware can be difficult to perform accurately. Small changes in how the measured application, operating system and computing environment is configured (or compiled) can lead to very different results. As a consequence it can be difficult to replicate results from research papers without extensive knowledge of the system that was used in the experiments. It’s not enough to publish the full source code as many of the energy optimisations will happen in the operating system kernel and drivers.

The goal of this master thesis is to create a tool that helps researchers specify the full system that runs energy experiments -- from operating system to application — and publish it as a single git-repository. Anyone can then use the tool to reproduce a bootable image that can be written to a USB stick and run the exact same benchmarks on any computer.

The master thesis will build on previous results from https://www.mn.uio.no/ifi/studier/masteroppgaver/nd/includeos-energy-measurements.html 

Learning outcome

Experience

  • experience in running energy measurements on real hardware
  • better understanding of operating system internals and how they affect energy use
  • experience with reproducible build systems (nix)
  • conducting, evaluating and interpreting research results

Conditions

We expect that you:

  • have been admitted to a master's program at MatNat@UiO (primarily PROSA)
  • take this as a long thesis
  • are interested in and have some knowledge of C/C++ (or rust) programming and low level systems programming
  • are interested in learning nix (or other suitable package management tools)
Published Sep. 23, 2026 11:18 AM - Last modified Oct. 5, 2026 3:56 PM

Supervisor(s)

Scope (credits)

60