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
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