IncludeOS is a unikernel operating system developed at University of Oslo and OsloMet. In IncludeOS, the operating itself is a library that you can link with your application, producing a VM that just contains the operating system components you need. For example, if you develop a network application that will run in the cloud, you may not need a full file system or the ability to run other applications. This produces a very resource efficient and small virtual machine that is only a few megabytes in size and can boot in nanoseconds.
As IncludeOS produces smaller VMs which runs less code and has a smaller memory footprint it should use fewer resources and save energy. If we switch all our cloud services to a smaller OS like IncludeOS, how much energy could we save?
The goal of this thesis is to instrument IncludeOS with energy measurement capabilities and implement support for Intel RAPL. As IncludeOS is able to boot on bare-metal, we will then use the RAPL driver to measure the energy cost of different OS operations and optimise them. One key part of the evaluation will be to change compiler parameters to see the effect on energy use. We may use IncludeOS' multicore capabilities to run isolated tasks on single cores to get more accurate measurements.
Learning outcome
Experience
- deep understanding of operating system internals and virtual machines
- experience in operating system development
- contribute to an open source project
- 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++ programming and low level systems programming