ParPerOS: Parallel Persistency OS (DFG: DI 2840/2-1)

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

ParPerOS is part of the DFG Priority Program "Disruptive Memory Technologies" (SPP 2377, Speaker: Olaf Spinczyk) and a coopration with Daniel Lohmann.

People

Latest News

2023-07-12 LLFree: Scalable and Optionally-Persistent Page-Frame Allocation at USENIX ATC '23

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!

2023-07-10 MELF: Multivariant Executables for a Heterogeneous World

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
Lars Wrenger, Florian Rommel, Alexander Halbuer, Christian Dietrich, Daniel Lohmann2023 USENIX Annual Technical Conference (USENIX '23)USENIX Association2023Distinguished Artifact Award.
PDF 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 [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 Slides [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

A Benchmark Description Language for Memory-Allocation Workloads

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

Integrating a new Bilateral User-Kernel Allocator into jemalloc

Typ: Forschungsprojekt
Status: reserviert
Supervisors: Yannick Loeck
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
Interact with the IO-MMU through fixed buffers within an in-kernel memory pool abstraction.