ParPerOS: Parallel Persistency OS (DFG: LO 1719/8-1 and DI 2840/2-1)

ParPerOS is a joint project with IBR (Co-PI: Christian Dietrich) and part of the DFG Priority Program "Disruptive Memory Technologies" (SPP 2377, Speaker: Olaf Spinczyk).

The management of memory resources has always been a core task of the operating system. However, OS designers are now facing disruptive changes on the memory side: New memory types, such as high-bandwith memory (HBM) or non-volatile memory (NVM) have arrived and more types of processing elements, such as RDMA-capable NICs, GPGPUs, or FPGA-based accellerators, access virtual memory directly via the IO-MMU. These heterogenious memory systems (HMSs) put not only the suitability of the classical memory hierarchy and memory access patterns at question, but also challenge the way memory is managed inside the kernel.

In ParPerOS, we examine new abstractions for unified but efficient and optionally crash-consistent low-level memory management for data objects in heterogeneous memory systems that may consist of volatile, persistent, distributed and other types of main memory, accessed in parallel by a multitude of different processing elements (CPU, GPU, NIC, RDMA).

People

Latest News

2025-10-23 Lars Wrenger Awarded Google PhD Fellowship in Systems, Networking and Cloud Computing

Lars Wrenger receives a Google PhD Fellowship in Systems, Networking and Cloud Computing. Congrats, Lars!

“These PhD Fellowships recognize outstanding graduate students who are conducting exceptional and innovative research in computer science and related fields, specifically focusing on candidates who seek to influence the future of technology. The program provides vital direct financial support for their PhD pursuits and connects each Fellow with a dedicated Google Research Mentor, reinforcing our commitment to nurturing the academic community.”

2025-09-01 New DFG Grant: Parallel Persistency OS (SPP 2377, Phase 2)
ParPerOS: Parallel Persistency OS (DFG: LO 1719/8-1 and DI 2840/2-1)
In ParPerOS, we examine new abstractions for unified but efficient and optionally crash-consistent low-level memory management for data objects in heterogeneous memory systems that consist of volatile, persistent, distributed and other types of main memory.
ParPerOS is part of the DFG Priority Program "Disruptive Memory Technologies" (SPP 2377). After the excellent work in phase 1, DFG is supporting us for another three years with two positions for doctoral researchers (E13, one at SRA), two positions for student researchers (one at SRA), and some additional lab equipment. ParPerOS is a cooperation project with the OSG group of Christian Dietrich.

Publications

OSDI Conference A*
MettEagle: Costs and Benefits of Implementing Containers on Microkernels
Till Miemietz, Matthias Hille, Viktor Reusch, Lars Wrenger, Jana Eisoldt, Jan Klötzke, Max Kurze, Adam Lackorzynski, Michael Roitzsch, Hermann Härtig19th Symposium on Operating System Design and Implementation (OSDI '25)2025.
PDF [BibTex]
EuroSys Conference A
HyperAlloc: Efficient VM Memory De/Inflation via Hypervisor-Shared Page-Frame Allocators
Lars Wrenger, Kenny Albes, Marco Wurps, Christian Dietrich, Daniel LohmannProceedings of the Twentieth European Conference on Computer SystemsACM2025.
PDF Details 10.1145/3689031.3717484 [BibTex]
JSA Journal
Analyzing the memory ordering models of the Apple M1
Lars Wrenger, Dominik Töllner, Daniel LohmannJournal of Systems Architecture1492024.
PDF 10.1016/j.sysarc.2024.103102 [BibTex]
DIMES Workshop Best Paper Award
The New Costs of Physical Memory Fragmentation
Alexander Halbuer, Illia Ostapyshyn, Lukas Steiner, Lars Wrenger, Matthias Jung, Christian Dietrich, Daniel LohmannProceedings of the 2nd Workshop on Disruptive Memory Systems (SOSP-DIMES '24)Association for Computing Machinery2024Best Paper Award.
PDF Details 10.1145/3698783.3699378 [BibTex]
DIMES Workshop
Morsels: Explicit Virtual Memory Objects
Alexander Halbuer, Christian Dietrich, Florian Rommel, Daniel LohmannProceedings of the 1st Workshop on Disruptive Memory SystemsAssociation for Computing Machinery2023.
PDF Details Slides 10.1145/3609308.3625267 [BibTex]
USENIX Conference A Distinguished Artifact Award
LLFree: Scalable and Optionally-Persistent Page-Frame Allocation
Lars Wrenger, Florian Rommel, Alexander Halbuer, Christian Dietrich, Daniel Lohmann2023 USENIX Annual Technical Conference (USENIX '23)USENIX Association2023Distinguished Artifact Award.
PDF Details Slides [BibTex]
USENIX Conference A
MELF: Multivariant Executables for a Heterogeneous World
Dominik Töllner, Christian Dietrich, Illia Ostapyshyn, Florian Rommel, Daniel Lohmann2023 USENIX Annual Technical Conference (USENIX '23)USENIX Association2023.
PDF Details [BibTex]
ARCS Conference Best Paper Award
TOSTING: Investigating Total Store Ordering on ARM
Lars Wrenger, Dominik Töllner, Daniel LohmannProceedings of the 36th GI/ITG International Conference on Architecture of Computing Systems (ARCS 23)Springer International Publishing2023Best Paper Award.
PDF Details Slides 10.1007/978-3-031-42785-5_10 [BibTex]
SIGMOD Conference A*
Virtual-Memory Assisted Buffer Management
Viktor Leis, Adnan Alhomssi, Tobias Ziegler, Yannick Loeck, Christian DietrichProceedings of the ACM SIGMOD/PODS International Conference on Management of DataACM2023.
PDF 10.1145/3588687 [BibTex]

Theses

Currently Running

AllocAPI: Designing and Introducing a Flexible Page Allocator API in Linux

Designing and implementing a new minimal but powerful API that decouples Linux's allocator implementation from its users.

 
Typ
Masterarbeit

 
Status
laufend

 
Supervisors
Lars Wrenger
Daniel Lohmann

Application-Specific Hash-Table Optimization for Scalable Metadata-Management in the Linux Kernel

The rosebush hash table shows promising results for metadata management inside the kernel. Nevertheless, it is still slow compared to static data structures (struct page). Application-specific tailoring of rosebush could unleash its full potential.

 
Typ
Bachelorarbeit

 
Status
laufend

 
Supervisors
Alexander Halbuer
Daniel Lohmann

 
Bearbeiter
Linus Wolkersdorfer

Developing a low-level NVMe driver for microbenchmarks

Development of a low-level open-source NVMe driver to enable microbenchmarks exploring performance characteristics of modern NVMe drives.

 
Typ
Bachelorarbeit

 
Status
laufend

 
Supervisors
Kenny Albes
Daniel Lohmann

 
Bearbeiter
Ash Vollmer

LLZig: Highly-Parallel Page Frame Allocation in Zig

We want evaluate Zig as systems language by implementing a highly-parallel page frame allocator in Zig.

 
Typ
Bachelorarbeit

 
Status
laufend

 
Supervisors
Lars Wrenger
Daniel Lohmann

Shared Virtual-Memory Objects for ARM64

Morsels are currently limited to x86-based systems. To show the general applicability of the concept and to prepare Morsels for the use in heterogeneous systems, the support for an additonal microarchitecture is requried.

 
Typ
Bachelorarbeit

 
Status
laufend

 
Supervisors
Alexander Halbuer
Daniel Lohmann

 
Bearbeiter
Philipp Bischoff

Shared Virtual-Memory Objects for Disaggregated Memory with Limited Coherency

CXL will bring shared, disaggregated memory with limited coherency. We will utilize the available coherency to build efficient synchronization for the remaining memory in software.

 
Typ
Bachelor-/Masterarbeit

 
Status
laufend

 
Supervisors
Alexander Halbuer
Daniel Lohmann

 
Bearbeiter
Daria Richter

VLLFree: Improving Memory Reclamation by Giving the Linux Kernel Direct Access to Userspace Allocators

We want to give the kernel a better way to see which pages are used in processes so that it can reclaim unused memory more effectively.

 
Typ
Masterarbeit

 
Status
reserviert

 
Supervisors
Lars Wrenger
Daniel Lohmann

Finished Theses

Transparent Huge Pages for Virtual-Memory Objects

Morsels are currently limited to a single, unified page size per object (4 KiB, 2 MiB, or 1 GiB), which must be defined at creation time. To better accommodate real-world application needs, a more flexible implementation that supports variable page sizes is required.

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Alexander Halbuer
Daniel Lohmann

 
Bearbeiter
Marvin Steiner (abgegeben: 29. Dec 2025)

Multi-Target Virtual-Memory Objects

Paging has established as goto solution for memory virtualization, but actual implementations differ. Multiple sychronized views could fill the gap to allow direct sharing between different domains. [PDF]

 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Alexander Halbuer
Daniel Lohmann

 
Bearbeiter
Nils Fuhler (abgegeben: 12. Sep 2025)

Spatially Grouping Allocations based on their Context to avoid Memory Fragmentation in Linux

We want to give the kernel page frame allocator more information allowing it group allocations intelligently and avoid fragmentation.

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Lars Wrenger
Daniel Lohmann

Dynamic Metadata Management for Virtual-Memory Objects

Hash tables allow for memory-efficient handling of metadata, particularly in scenarios where numerous properties remain unused for extended periods of time. Nevertheless, existing implementations are not optimized for workloads characterized by a large number of small objects and stringent low-latency requirements.

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Alexander Halbuer
Daniel Lohmann

 
Bearbeiter
Alex Alfonso Trigo (abgegeben: 07. Aug 2025)

AsyncZero: Latency Hiding of Page Zeroing in Linux

This thesis focuses on techniques to pre-zero pages or offload page zeroing to DMA devices. [PDF]

 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Lars Wrenger
Daniel Lohmann

 
Bearbeiter
Henrik Cohrs (abgegeben: 15. Apr 2025)

LLMmap: Improving Memory Reclamation by Sharing the Allocation State in Linux

We want to give the kernel a better way to see which pages are used in processes so that it can reclaim unused memory more effectively.

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Lars Wrenger
Daniel Lohmann

LLFreeBSD: Integrating the LLFree Page Frame Allocator into FreeBSD

We now have a C-based LLFree implementation that can be integrated into other OS's. This topic focuses on the integration of LLFree into the FreeBSD operating system.

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Lars Wrenger
Daniel Lohmann

Enhancing Energy Efficiency with Advanced DRAM Management in Linux

Modern computer systems face a significant challenge in managing physical memory efficiently, especially in the context of energy consumption. Specifically, the DRAM (Dynamic Random-Access Memory) components in these systems consume a considerable amount of energy due to their constant refresh requirements. [PDF]

 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Alexander Halbuer
Christian Dietrich
Daniel Lohmann

 
Bearbeiter
Illia Ostapyshyn (abgegeben: 01. Nov 2024)

Efficient Swapping of Shared Virtual-Memory Objects

By design, morsels exist in main memory without being just an intermediate representation of a file. However, for some applications it would be desirable to store objects on a disk in order to persist its data during reboots or to cope with limited main memory.

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Alexander Halbuer
Daniel Lohmann

 
Bearbeiter
Julian-Dominik Helmsen (abgegeben: 05. Aug 2024)

Page Eviction for Shared Virtual-Memory Objects

The translation lookaside buffer (TLB) caches present page table entries, so that pages can not be unmapped by simply clearing the related page table entry. However, page eviction is vital for implementing advanced features like swapping and huge-page merging. [PDF]

 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Alexander Halbuer
Daniel Lohmann

 
Bearbeiter
Tim Hollmann (abgegeben: 03. Jul 2024)

Optimizing Memory Metadata: Dynamic Allocation of Struct Pages in the Linux Kernel

Dynamically allocate a struct page in cases where it is needed and omit the memory overhead in cases where it is not.

 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Lars Wrenger
Alexander Halbuer
Daniel Lohmann

 
Bearbeiter
Paul Aumann (abgegeben: 14. Jun 2024)

Fast Memory Ballooning for Virtual Machines with LLFree

Implementing hypervisor memory overcommitment with shared LLFree allocators.

 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Lars Wrenger
Daniel Lohmann

 
Bearbeiter
Marco Wurps (abgegeben: 02. May 2024)

Efficient Copy-on-Write for Virtual-Memory Objects

Implementing classical, full-featured COW with multiple nesting levels would introduce substantial management overhead on the operating system side. Our goal with Morsels is to eliminate this overhead while retaining limited COW functionality.

 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Alexander Halbuer
Daniel Lohmann

 
Bearbeiter
Pasha Fistanto (abgegeben: 02. May 2024)

Huge Pages for Virtual-Memory Objects

Currently, Morsels only support 4-KiB pages, but with larger page sizes the management overhead could be further reduced and the average memory access could be sped up, due to faster page-table walks and an increased TLB coverage.

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Alexander Halbuer
Daniel Lohmann

 
Bearbeiter
Marko Bolowski (abgegeben: 18. Mar 2024)

Investigating Total Store Ordering on the ARM M1

Analyzing the performance impact of Total Store Ordering on the M1 ARM Processor.

 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Lars Wrenger
Dominik Töllner
Daniel Lohmann

Efficient Serialization of Page-Table-Based Virtual Memory Objects

With the discontinuation of Intel Optane and persistent memory being rarely available in general, alternative solutions need to be considered. One approach is to persist virtual memory objects on disk when persistent memory is not available.

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Alexander Halbuer
Daniel Lohmann

Context-Based Mitigations for Side-Channel Attacks via Kernel Address-Space Views in Linux

Using Linux kernel address-space views to selectively enable kernel side-channel mitigations for specific tasks

 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Florian Rommel
Daniel Lohmann

IOMMU-assisted Memory Management: Sharing Virtual Memory Objects for Efficient Computing

Efficient Memory Management for Modern Computing Systems: Sharing Morsel Virtual Memory Objects between Processors and Devices via IOMMU. [PDF]

 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Alexander Halbuer
Daniel Lohmann

 
Bearbeiter
Kenny Albes (abgegeben: 05. Dec 2023)

Morsel Managment Layer: Making Morsels Actually Useful

Bringing the new morsel memory abstraction to applications.

 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Alexander Halbuer
Daniel Lohmann

 
Bearbeiter
Darian Biastoch (abgegeben: 26. Oct 2023)

Databases on NVRAM

Bringing the advantages of non-volatile memory to database applications using the new morsel memory primitive as efficient abstraction layer.

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Alexander Halbuer
Daniel Lohmann

 
Bearbeiter
Matthias Wormann (abgegeben: 02. Oct 2023)

Investigating Suspend to Disk in Linux

Researching and optionally extending the Linux Suspend to Disk Mechanism.

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Lars Wrenger
Daniel Lohmann

 
Bearbeiter
Jannik Jahn (abgegeben: 25. Sep 2023)

LLC: DeRUSTing the Lo(ck|g)-Free Allocator for a C-Based OS Integration

Porting the LLFree concept from Rust to C, to simplify the integration into C-based OSs.

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Lars Wrenger
Daniel Lohmann

 
Bearbeiter
Helge Misfeldt (abgegeben: 18. Aug 2023)

Fast Memory Compaction for Page Allocators

Active memory defragmentation for page allocators.

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Lars Wrenger
Daniel Lohmann

Self-Contained Virtual-Memory Areas for Non-Volatile RAM in the Linux Kernel

Implement 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. [PDF]

 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Lars Wrenger
Florian Rommel
Christian Dietrich
Daniel Lohmann

 
Bearbeiter
Alexander Halbuer (abgegeben: 16. Nov 2022)

Lo(ck|g)-free Page Allocator for Non-Volatile Memory in the Linux Kernel

Designing and implementing a lock-free and log-free page allocator for morsels, a new abstraction for the management of non-volatile memory in the linux kernel [PDF]

 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Florian Rommel
Christian Dietrich
Daniel Lohmann

 
Bearbeiter
Lars Wrenger (abgegeben: 04. Apr 2022)

Vermeidung von Seitenfehlern zum Programmstart durch einen persistent-prädiktiven Seitenzwischenspeicher im Linux Kern

Seitenfehler beim Start von Programmen sollen durch einen Seitenzwischenspeicher im NVRAM vermieden werden. Dazu soll der Linux Kern entsprechend erweitert werden, die Zugriffe zu speichern und bei späteren Programmstarts ohne Pagefault einzublenden.

 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Stefan Naumann
Daniel Lohmann

 
Bearbeiter
Simon Burandt

Erweiterung des Python-Programmiermodells um NVRAM-persistierte Sprachobjekte

Entwurf eines Persistenz-Moduls für Python auf Basis von NVM

 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Stefan Naumann
Daniel Lohmann

Erweiterung des Linux-Kerns um mehrstufige Seitenumlagerung für Systeme mit nichtflüchtigem Speicher (NVM)

Extending the Linux memory management to use NVM for swapping.

 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Stefan Naumann
Daniel Lohmann

 
Bearbeiter
Christian Müller

Entwurf und Implementierung einer leichtgewichtigen Linux-Programmbibliothek für persistent-adressierte, nicht-flüchtige Speicherbereich

Eine leichtgewichtige User Space Bibliothek soll entworfen und implementiert werden um effizient mit einem persistent-addressierten nicht-flüchtigen Speicherbereich arbeiten zu können.

 
Typ
Bachelorarbeit

 
Status
abgeschlossen

 
Supervisors
Stefan Naumann
Daniel Lohmann

 
Bearbeiter
Niklas Hoh