Running Theses

A Benchmark Description Language for Memory-Allocation Workloads

Typ: Bachelorarbeit
Status: reserviert
Supervisors: Yannick Loeck
Project: ParPerOS
Create the base for the VMStress Benchmark Generator with a language that describes benchmark execution patterns.

Core-Specialized Program Execution on Heterogenous Multi-Core Processors Using Address-Space Views

Typ: Bachelor-/Masterarbeit
Status: laufend
Supervisors: Niklas Gollenstede, Christian Dietrich
Project: ATLAS
Explore new program structures that run on and fully utilize CPUs with heterogeneous ISAs.

Integrating a new Bilateral User-Kernel Allocator into jemalloc

Typ: Forschungsprojekt
Status: reserviert
Supervisors: Yannick Loeck
Project: ParPerOS
Integrate the LLFree page frame allocator as a backend into jemalloc.

Making an Explicit Virtual-Memory Abstraction Device-Accessible through Fixed IOMMU Mappings

Typ: Masterarbeit
Status: laufend
Supervisors: Yannick Loeck, Christian Dietrich
Project: ParPerOS
Interact with the IO-MMU through fixed buffers within an in-kernel memory pool abstraction.

Finished Theses

Lua as a General-Purpose Extension Language in Linker Scripts for Embedded Systems

Typ: Bachelor-/Masterarbeit
Status: abgeschlossen
Supervisors: Niklas Gollenstede, Christian Dietrich
Project: ATLAS
Embed Lua into the llvm-lld linker as a Turing-complete alternative to .ld-scripts.

System-call offloading via Linux' io_uring on the Jailhouse partitioning hypervisor

Typ: Bachelorarbeit
Status: abgeschlossen
Supervisors: Christian Dietrich
Bearbeiter: Kelvin Andres Reichenbach (abgegeben: 17. Nov 2021)
Integrate the io_uring asynchronous system-call interface with the partioning hypervisor Jailhouse. Thereby, hypervisor cells are able to offload I/O to the bystanding Linux cell. [PDF]

Dynamic Firmware Reconfiguration in Heterogeneous Embedded Multi-Core Systems

Typ: Masterarbeit
Status: abgeschlossen
Supervisors: Christian Dietrich
Run-time reconfiguration of running processes via dynamic-library replacement

Data-Flow Sensitive Fault Space Pruning for RISC-V

Typ: Bachelor-/Masterarbeit
Status: abgeschlossen
Supervisors: Christian Dietrich
Refactor the existing DFPrune algorithm to also support the RISC-V architecture

Porting and integration the StuBS operating system with the Jailhouse partioning hypervisor

Typ: Bachelorarbeit
Status: abgeschlossen
Supervisors: Christian Dietrich
Porting and integration the StuBS operating system with the Jailhouse partioning hypervisor.

Primitives and Abstractions for Self-Contained Virtual-Memory Areas in the Linux kernel

Typ: Masterarbeit
Status: abgeschlossen
Supervisors: Christian Dietrich
This thesis implements the basic abstraction for self-contained virtual-address-space areas in Linux, by which we want to ease the allocation, the sharing, and the management of huge amounts of memory.

Programmierbare asynchrone Ein-/Ausgabe auf Basis von io_uring und eBPF

Typ: Masterarbeit
Status: abgeschlossen
Supervisors: Christian Dietrich, Horst Schirmeier
[External at TU Dortmund] Ziel dieser Masterarbeit ist es, eine in der Community in Entwicklung befindliche eBPF-Erweiterung [2] für io_uring anhand realistischer und komplexer Anwendungsfälle wie dem Key-Value-Store MrCache, aber auch der in der Vorarbeit identifizierten Problemfälle, zu analysieren.

High-Level Interface with C++20 Coroutines for Asynchronous I/O using io_uring and eBPF

Typ: Forschungsprojekt
Status: abgeschlossen
Supervisors: Christian Dietrich
Bearbeiter: Hendrik Sieck (abgegeben: 17. Mar 2022)
Use C++20 Co-Routines to ease the usage multi-system-calls in Linux

Design and Implementation of a Light-Weight Container Runtime for Real-Time Applications

Typ: Masterarbeit
Status: abgeschlossen
Supervisors: Christian Dietrich
Bearbeiter: Niklas Gollenstede (abgegeben: 31. Aug 2022)
Create a light-weight container run-time that adheres to the statical-configuration paradigm.

Implementing CPU-Local Free-Page Management for an Explicit Virtual-Memory Interface in Linux

Typ: Bachelor-/Masterarbeit
Status: abgeschlossen
Supervisors: Yannick Loeck, Christian Dietrich
Rework the distribution strategy for memory pages in exmap, a new OS interface for explicit Memory-Mapped File I/O.

Static Multivariant ELFs for Memory-Constrained Systems

Typ: Masterarbeit
Status: abgeschlossen
Supervisors: Christian Dietrich
Goal of this thesis is to modify the LLVM Linker to produce ELF binaries with static multivariant code overlays. Thereby, different pointer coalescing stategies should be developed and compared.

NixDiff: Offline Compression of Differential Updates for Declaratively-Configured Embedded Linux Systems

Typ: Bachelorarbeit
Status: abgeschlossen
Supervisors: Niklas Gollenstede, Christian Dietrich
Decrease the size of NixOS updates, especially for embedded systems, by removing redundant file blocks from the transferred packages

Design and Prototypical Implementation of a Message-Broker Proxy for Mixed-Criticality Real-Time Systems

Typ: Bachelorarbeit
Status: abgeschlossen
Supervisors: Christian Dietrich
This bachelor thesis aims to design and implement a message-broker proxy for mixed-criticality real-time systems that use a data-centric architecture and UDP for communication. The thesis evaluates different scheduling algorithms that ensure data refreshness and round trip times.

NVMe Disk Driver for the OSv Unikernel

Typ: Bachelor-/Masterarbeit
Status: abgeschlossen
Supervisors: Christian Dietrich
Implement an NVMe disk driver for the OSv unikernel

Investigating the Usage and Protection of CHERI Capabilities with Shared Memory-based IPC

Typ: Bachelorarbeit
Status: abgeschlossen
Supervisors: Niklas Gollenstede, Christian Dietrich
Project: ATLAS
Sharing virtual-address based memory capabilities between address spaces circumvents protection models. Is limiting shared memory a sufficient and appropriate counter-measure?.

Pruning of Soft-Error Fault Spaces by Dynamic Register-Usage Tracing in a Formal Instruction-Set Model

Typ: Masterarbeit
Status: abgeschlossen
Supervisors: Christian Dietrich, Daniel Lohmann
Project: CLASSY-FI
[External at Leibniz Universität Hannover] In this thesis, the SAIL compiler should be extended to allow the C-emulator to record all dynamic register reads and writes to these state registers. This information should then be integrated into the FAIL* toolchain to inject only those state registers that are actually used by a given executed instruction.