ParPerOS: Parallel Persistency OS (DFG: LO 1719/8-1 and DI 2840/2-1)
ParPerOS is a joint project with TUHH (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
Lars Wrenger presents our paper LLFree: Scalable and Optionally-Persistent Page-Frame Allocation at the 2023 USENIX Annual Technical Conference (ATC '23) in Boston, MA, USA. The page-frame allocator ist the most fundamental memory-management component in any operating system. In the paper we present LLFree, the design and design principles for a new lock- and log-free page-frame allocator that provides for excellent scalability on multi-core platforms as well as crash consistency on nonvolatile memories. Compared to the Linux frame allocator, LLFree reduces the allocation time for concurrent 4 KiB allocations by up to 88 percent and for 2 MiB allocations by up to 98 percent. For memory compaction, LLFree decreases the number of required page movements by 64 percent. LLFree is an important bulidung block for our ParPerOS project.
For the extensive and easy to reproduce benchmark results, we got the Distinguished Artifact Award. Congrats, Lars!
Dominik Töllner presents our paper MELF: Multivariant Executables for a Heterogeneous World at the 2023 USENIX Annual Technical Conference (ATC '23) in Boston, MA, USA. In the paper we present the Multivariant ELF (MELF) approach, which makes it possible to provide multiple per-function compile-time variants within the same binary and flexibly switch between them at run-time, optionally on a per-thread granularity. As MELFs are implemented on binary level (linker, loader), they do not depend on specific language features or compilers and can be easily applied to existing projects. In case studies with SQLite, memcached, MariaDB and a benchmark for heterogeneous architectures with overlapping ISAs, we show how MELFs can be employed to provide per-client performance isolation of expensive compile-time security or debugging features and adapt to extended instruction sets, when they are actually available. The support for MELFs is an important buliding block for our ATLAS project and also related to the ParPerOS project.
Publications
-
USENIX
Conference
A
Distinguished Artifact Award
LLFree: Scalable and Optionally-Persistent Page-Frame Allocation -
2023 USENIX Annual Technical Conference (USENIX '23)USENIX Association2023Distinguished Artifact Award.
PDF Details Slides [BibTex]
-
USENIX
Conference
A
MELF: Multivariant Executables for a Heterogeneous World -
2023 USENIX Annual Technical Conference (USENIX '23)USENIX Association2023.
PDF Details [BibTex]
-
ARCS
Conference
Best Paper Award
TOSTING: Investigating Total Store Ordering on ARM -
Proceedings of the 36th GI/ITG International Conference on Architecture of Computing Systems (ARCS 23)Springer International Publishing2023Best Paper Award.
PDF Details Slides [BibTex]
-
SIGMOD
Conference
A*
Virtual-Memory Assisted Buffer Management -
Proceedings of the ACM SIGMOD/PODS International Conference on Management of Data (SIGMOD'23)ACM2023.
PDF 10.1145/3588687 [BibTex]
Theses
Open Topics
Huge Pages for Virtual-Memory Objects
- Typ
- Bachelorarbeit
- Status
- offen
- Supervisors
- Alexander Halbuer
Daniel Lohmann
Currently Running
Context-Based Mitigations for Side-Channel Attacks via Kernel Address-Space Views in Linux
- Typ
- Masterarbeit
- Status
- reserviert
- Supervisors
- Florian Rommel
Daniel Lohmann
Databases on NVRAM
- Typ
- Bachelorarbeit
- Status
- reserviert
- Supervisors
- Alexander Halbuer
Daniel Lohmann - Bearbeiter
- Matthias Wormann
Efficient Copy-on-Write for Virtual-Memory Objects
- Typ
- Masterarbeit
- Status
- reserviert
- Supervisors
- Alexander Halbuer
Daniel Lohmann
Fast Memory Ballooning for Virtual Machines with LLFree
- Typ
- Masterarbeit
- Status
- reserviert
- Supervisors
- Lars Wrenger
Daniel Lohmann
IOMMU-assisted Memory Management: Sharing Virtual Memory Objects for Efficient Computing
- Typ
- Masterarbeit
- Status
- reserviert
- Supervisors
- Alexander Halbuer
Daniel Lohmann - Bearbeiter
- Kenny Albes
Integrate LLFree-C in Operating Systems
- Typ
- Bachelorarbeit
- Status
- reserviert
- Supervisors
- Lars Wrenger
Daniel Lohmann
Investigating Suspend to Disk in Linux
- Typ
- Bachelorarbeit
- Status
- laufend
- Supervisors
- Lars Wrenger
Daniel Lohmann
Investigating Total Store Ordering on the ARM M1
- Typ
- Masterarbeit
- Status
- laufend
- Supervisors
- Lars Wrenger
Dominik Töllner
Daniel Lohmann
Morsel Managment Layer: Making Morsels Actually Useful
- Typ
- Masterarbeit
- Status
- laufend
- Supervisors
- Alexander Halbuer
Daniel Lohmann - Bearbeiter
- Darian Biastoch
Page Eviction for Shared Virtual-Memory Objects
- Typ
- Masterarbeit
- Status
- reserviert
- Supervisors
- Alexander Halbuer
Daniel Lohmann
Finished Theses
Entwurf und Implementierung einer leichtgewichtigen Linux-Programmbibliothek für persistent-adressierte, nicht-flüchtige Speicherbereich
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Stefan Naumann
Daniel Lohmann - Bearbeiter
- Niklas Hoh
Erweiterung des Linux-Kerns um mehrstufige Seitenumlagerung für Systeme mit nichtflüchtigem Speicher (NVM)
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Stefan Naumann
Daniel Lohmann - Bearbeiter
- Christian Müller
Erweiterung des Python-Programmiermodells um NVRAM-persistierte Sprachobjekte
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Stefan Naumann
Daniel Lohmann
Vermeidung von Seitenfehlern zum Programmstart durch einen persistent-prädiktiven Seitenzwischenspeicher im Linux Kern
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Stefan Naumann
Daniel Lohmann - Bearbeiter
- Simon Burandt
Lo(ck|g)-free Page Allocator for Non-Volatile Memory in the Linux Kernel
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Florian Rommel
Christian Dietrich
Daniel Lohmann - Bearbeiter
- Lars Wrenger (abgegeben: 04. Apr 2022)
Primitives and Abstractions for Self-Contained Virtual-Memory Areas in the Linux kernel
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Lars Wrenger
Florian Rommel
Christian Dietrich
Daniel Lohmann - Bearbeiter
- Alexander Halbuer (abgegeben: 16. Nov 2022)
Fast Memory Compaction for Page Allocators
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Lars Wrenger
Daniel Lohmann
Efficient Serialization of Page-Table-Based Virtual Memory Objects
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Alexander Halbuer
Daniel Lohmann
LLC: DeRUSTing the Lo(ck|g)-Free Allocator for a C-Based OS Integration
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Lars Wrenger
Daniel Lohmann