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.


Bachelor Topics

dm-pcache is recently introduced to Linux kernel to provide software support for PM-based cache for block devices. It uses DAX devices instead of block devices, and targets PMEM & CXL-attached storage. Currently, it supports limited caching modes (only write-back) and policies (only FIFO).

Goal & Steps:

  • Comprehensive analysis of dm-pcache
    • Reading & understaing of dm-pcache design at kernel level
    • Benchmarking dm-pcache & comparing it against conventional solutions such as dm-cache, bcache, and Open CAS
  • Extending eviction & admission policies based on eBPF
    • Providing eBPF-based framework for implementing custom eviction policies
    • Implementing several policies such as LRU using the framework and benchmarkig them

Target: B.Sc. Students

Prerequisites & Considerations:

  • Proficiency in C/C++ & Python programming
  • Strong interest in system research, with focus on Linux kernel developement
  • Required system setup & benchmarking
  • Problem solving, research capability, and addressing challenges independently

If you are interested in applying for this topic, it is expected to read some or all of the following materials before contacting us, to have a better idea of the project:

To get familiar with the dm-pcache:

  • https://lwn.net/Articles/1042621/
  • https://docs.kernel.org/admin-guide/device-mapper/dm-pcache.html
  • https://www.phoronix.com/news/Linux-PCACHE-RFC

To get familiar with the general idea of IO caching:

  • Re-architecting I/O caches for emerging fast storage devices [ASPLOS’24]

To get familiar with eBPF-based policy implementation:

  • PageFlex: Flexible and Efficient User-space Delegation of Linux Paging Policies with eBPF [ATC’2025]
  • cache_ext: Customizing the Page Cache with eBPF [SOSP’25]

Advisor: Mostafa Hadizadeh

Master Topics

Arancini is a hybrid binary translator developed in our group, that translates x86 binaries to Arm and RISC-V architectures. Currently, it only supports translating Linux applications. To increase its usability, we want to add support for Windows applications to be translated and executed on Linux platforms.

Goals of the thesis: In this context, you will add support for Windows applications in Arancini by:

  • Exploring existing Windows emulation layers such as Wine or Proton
  • Implementing the necessary system call translations in Arancini
  • Testing and evaluating the performance of Windows applications executed through Arancini

Target: Master

Prerequisites:

  • Programming language: C++
  • Previous knowledge in operating systems and system programming is appreciated

Advisor: Redha Gouicem

To reduce disk access latency, modern operating systems rely on page caches to keep frequently accessed data in memory.

In virtualized environments, however, modern hypervisors typically enforce static memory partitioning, allocating a fixed amount of RAM to each virtual machine (VM). If one VM becomes highly I/O-intensive, its guest page cache remains constrained by this fixed memory limit. Ideally, this I/O-bound VM should be able to utilize the unused memory of the host machine or idle neighboring VMs, preventing resource stranding.

Therefore, instead of each VM managing its own isolated page cache, the core idea behind this thesis is to bypass the guest page caches entirely and rely on a unified, dynamically shared page cache managed at the host level.

Goal of this thesis: This project offers significant room for independent research and architectural design. Your main objectives will be to:

  • Design and implement an optimized, host-level page cache shared across co-located VMs, exploring the best mechanisms to minimize latency and context-switching overhead.
  • Investigate and propose global page cache eviction policies, evaluating your own algorithms for managing memory pressure fairly under diverse workloads.
  • Explore architectural extensions, such as supporting efficient file sharing or memory deduplication, driving the project toward the optimizations you find most promising.

Target: M.Sc. students

Prerequisites:

  • Programming language: C
  • Linux Kernel Programming

Advisor: Jérôme Coquisart

A lot of smartphones nowadays operate on top of Android operating system. Although Android is a Linux-based operating system, kernel developers employ specific optimizations to address device specific challenges such as limited memory. In this thesis, you will explore the recent advances in kernel-level memory management for mobile devices.

Goal & Steps:

  • Comprehensive literature review
    • Developing a thorough understanding of memory management for mobile devices (swapping, garbage collection, reclamation, …)
    • Reviewing the performance metrics (application launching, GC time, …) used in the state-of-the-art papers.
    • Reviewing the state-of-the-art papers
    • Analyzing algorithmic and system-level optimizations
  • Benchmarking the state-of-the-art schemes
    • Identifying the common baseline and schemes to evaluate
    • Conducting empirical benchmarking study of existing schemes on realistic system setups and workloads
  • Proposing novel schemes
    • Designing and implementing novel solutions and evaluating them against the existing solutions

Target: M.Sc. Students

Prerequisites & Considerations:

  • Proficiency in C/C++ programming
  • Strong interest in system research, with focus on Linux kernel developement
  • Required system setup & benchmarking
  • Problem solving, research capability, and addressing challenges independently

If you are interested in applying for this topic, it is expected to read some or all of the following materials before contacting us, to have a better idea of the project:

  • More apps, faster hot-launch on mobile devices via fore/background-aware gc-swap co-design [ASPLOS’24]
  • Ariadne: A Hotness-Aware and Size-Adaptive Compressed Swap Technique for Fast Application Relaunch and Reduced CPU Usage on Mobile Devices [HPCA’25]
  • PMR: Fast Application Response via Parallel Memory Reclaim on Mobile Devices [ATC’25]
  • LifeLine: An Object-Page Lifetime Alignment GC Enabling Minimal Memory Copying for Mobile Devices [OSDI’2026]

Advisor: Mostafa Hadizadeh