Some Topics to Work on...
Are you interested in working on a thesis about operating
systems, real-time, virtualization, or related issues?
Here you can find a list of possible topics for a thesis;
contact me if you are interested and want more information:
- Analysis of the real-time performance of different hypervisors
- Experimental comparison of the performance of different inter-VM
communication mechanisms (based on vhost-user)
- Development of a small Linux-based OS (userspace, based on busybox)
for embedded devices or small VMs. Something similar to
BuildCore, but based on Makefiles and more configurable
- A new migration strategy for multi-processor EDF, based on
"dynamic partitioning": theoretical analysis (a migration algorithm
already exists, but its theoretical properties have not been formally
proved yet) and/or implementation (the algorithm has been implemented
only in a simulator; an implementation in the Linux kernel is still
missing)
- Global real-time schedulers in multi-vCPU VMs: theoretical analysis
and/or implementation
- Use a kernel tracing mechanism (for example,
ftrace
with
libtracefs
/
libtraceevent)
to detect periodic tasks. The theory for the analysis / detection
(based on fourier transforms) has
already beeen developed and implemented
- Re-implement an existing C++ simulator using
the rust language. The
application heavily relies on class inheritance, so porting it to
idiomatic rust might be "interesting". A comparison between the
performance of the original C++ application and the performance of
the rust port can also be interesting.
- Use the rust language
to implement some simple system component (an OS kernel, a
hypervisor, the user-space part of a VMM, a device driver, a
networking stack, ...) and compare performance and safety with
a similar C implementation
- Developing real-time applications with a functional programming
paradigm
- Use the hardware virtualization support provided by modern CPUs
(in particular,
extended/nested
page tables) to implement cache coloring in the Linux kernel
All the descriptions are missing a lot of low-level details, do not
be scared! If you contact me, I'll provide a better and more complete
description.