Available Thesis Topics

When applying for a thesis topic, follow the procedure described here and CC the advisor(s) in your email.

Click on a topic for more details.

Note: Some topics are marked as “B.Sc.” level, but we might make an extended version for M.Sc. students if you are really interested.


We currently do not accept new thesis students for this semester. If you want to do a thesis with us, please contact us for the winter semester. We will start taking new applications in July/August.


In a NUMA system, kernel text is distributed across all nodes. This causes latency overhead when userspace applications require access to kernel functions, because the memory might be located on another node. A solution has been proposed on the Linux Kernel Mailing List to tackle this problem, which is to replicate kernel text across all NUMA nodes.

Goal of this thesis: In this thesis, you’ll work directly inside the Linux Kernel. You will apply and test a provided kernel patchset. You’ll use virtualisation tools and a real NUMA server to execute and benchmark the new kernel. Based on your observations, you will propose improvements to the solution.

  • Evaluate the patch with a set of defined benchmarks (or develop new benchmarks)
  • Find ways to extend and improve the patch

Target: B.Sc./M.Sc. students

Prerequisites:

  • Programming language: C
  • Linux Kernel Programming

Advisor: Jérôme Coquisart

Most operating systems provide a page cache that stores data accessed from storage devices in memory for faster future access. The page cache is an important component in terms of performance for IO-intensive applications. However, the utilization of the page cache is not optimal in a virtualized environment:

  • Different VMs could be caching the same data, which duplicates the page cache across different VMs.
  • The host and the guest could be caching the same data, resulting in double-caching.
  • The data cached by a VM cannot be reclaimed by the host operating system in case of memory pressure.

Goals of this thesis: Find a way to skip the guest’s page cache, so that only the host system is caching data from the disk, and compare this solution with different caching strategies.

Target: B.Sc./M.Sc. students

Prerequisites:

  • Programming language: C

Advisor: Jérôme Coquisart

In the last few years, ARM-based CPUs have greatly improved in terms of performance, challenging the x86 domination, while also having better efficiency. However, for end users, legacy applications need to be ported to ARM in order to properly work. To avoid this work, one can use an emulator to execute x86 binaries on an ARM system.

Goals of the thesis: You will study the design of various x86-to-ARM emulators (QEMU, FEX, box64) and evaluate their performance. In addition to this, you will also study the quality of the translated code and optimisation techniques, and compare them.

Target: B.Sc./M.Sc. students

Prerequisites:

  • Previous knowledge emulation/computer architecture is appreciated
  • Previous experience in reverse engineering is appreciated

Advisor: Redha Gouicem

Page table management is one of the main contributor to the overall performance of NUMA systems. Page table self-replication is one of the recent techniques that aims at addressing the challenges toward efficient management of NUMA systems.

Goal & Steps: In this thesis, you will investigate the impact of recent advances in TLB & page table management on NUMA systems’ efficiency:

  • Reviewing recent kernel improvements with a focus on page table & TLB management
  • Implementing the state-of-the-art schemes on top of the latest Linux kernel release
  • Benchmarking each scheme & investigating statistics such as TLB flushes and shootdowns

Target: B.Sc./M.Sc. students

Prerequisites:

  • Proficiency in C programming
  • Strong interest in kernel development
  • Basic knowledge of OS & computer architecture (address translation, TLB, page table)
  • Problem solving & research capability

Advisor: Mostafa Hadizadeh

Computational Storage Devices (CSDs) are emerging devices aiming to improve the performance of computer systems by reducing data movement between storage & computation subsystems. Contrary to Von-Neumann paradigm where the data was delivered to central processing unit for computation, recent computational paradigms such as in-memory processing and computational storage devices introduce an alternative approach. By offloading a part of computation to CSD, the system can get rid of extra data movements, and accordingly, achieve higher performance.

Goal & Steps: In this thesis, you will explore CSD and the opportunities provided by this new paradigm:

  • Setting-up an emulation/simulation CSD frameworks: 1) Exploring existing frameworks, 2) Evaluating existing the frameworks in terms of compliance with the standards such SNIA and NVMe
  • Literature review with concentration on application domains that suites CSD paradigm
  • Evaluating the impact of advanced compression algorithms on overall application performance and device lifetime

Target: M.Sc.

Prerequisites:

  • Proficiency in C/C++ programming
  • Problem solving & research capability

Advisor: Mostafa Hadizadeh