Energy consumption of programs and computation

In this project, you will investigate to which extend we can an understanding of models for energy-aware programming and implement the needed tools to support it. The idea of an energy-aware programming model is to support the programmer, such that programming choices for lower energy consumption become more clear. Today, we teach students how to optimise their code for memory and cache behaviour for faster execution; program libraries and algorithms are implemented to follow this. It is not possible to give similar skills for energy consumption. 

Project

I the project you will the existing understanding about energy of computation and current knowledge of programming languages and program transformations (compilers, optimisers, etc.). Modern compilers (both static compilers like the ones for C of C# or just-in-time compiler like the one for Java) implement extensive optimisations to programs, but this does not necessarily result in less energy usage. These optimisations have historically solely focused on making the programs faster.

You will also work with methods to better quantify and evaluate the efficiency of specific and representative programs. To evaluate the programs and different program transformation, we need to understand their behaviour. This is not different from how efficiency of programs is investigated by running the programs. 

Relevant IFI courses for this project

During this master project, you will need to get good foundational understanding of programming languages and transformation. Relevant courses during this project would be:

Related project:
https://www.mn.uio.no/ifi/english/research/projects/leap/index.html

Publisert 9. okt. 2023 17:51 - Sist endret 10. okt. 2023 13:23

Veileder(e)

Omfang (studiepoeng)

60