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
Alexander Halbuer presents our paper The New Costs of Physical Memory Fragmentation at the 2nd Workshop on Disruptive Memory Systems (DIMES@SOSP '24) in Austin, TX, USA. In the paper we present a study on phyiscal memory fragmention in Linux, which we think is going to become an increasing problem for huge-frame availability, DRAM energy consumption and cloud memory pricing. The paper is related to the ParPerOS and got the best paper award!
Congrats, Alex!
Alexander Halbuer presents our paper Morsels: Explicit Virtual Memory Objects at the 1st Workshop on Disruptive Memory Systems (DIMES@SOSP '23) in Koblenz, Germany. In the paper we present the first description of Morsels, a novel virtual-memory–management abstraction for the efficient sharing and mapping of large memory objects between processes and devices, which is well suited for volatile and nonvolatile memory. Morsels reduce the mapping time for a 6.82-GiB machine-learning model by up to 99.8 percent compared to conventional memory mapping in Linux. This is an important building block for the ParPerOS project.
Publications
-
JSA
Journal
Analyzing the memory ordering models of the Apple M1 -
Journal of Systems Architecture1492024.
PDF https://doi.org/10.1016/j.sysarc.2024.103102 [BibTex]
-
DIMES
Workshop
Best Paper Award
The New Costs of Physical Memory Fragmentation -
Proceedings of the 2nd Workshop on Disruptive Memory SystemsAssociation for Computing Machinery2024Best Paper Award.
PDF Details 10.1145/3698783.3699378 [BibTex]
-
DIMES
Workshop
Morsels: Explicit Virtual Memory Objects -
Proceedings 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 -
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 DataACM2023.
PDF 10.1145/3588687 [BibTex]
Theses
Currently Running
AsyncZero: Latency Hiding of Page Zeroing in Linux
- Typ
- Masterarbeit
- Status
- laufend
- Supervisors
- Lars Wrenger
Daniel Lohmann
LLMmap: Improving Memory Reclamation by Sharing the Allocation State in Linux
- Typ
- Bachelorarbeit
- Status
- reserviert
- Supervisors
- Lars Wrenger
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
LLC: DeRUSTing the Lo(ck|g)-Free Allocator for a C-Based OS Integration
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Lars Wrenger
Daniel Lohmann - Bearbeiter
- Helge Misfeldt (abgegeben: 18. Aug 2023)
Investigating Suspend to Disk in Linux
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Lars Wrenger
Daniel Lohmann - Bearbeiter
- Jannik Jahn (abgegeben: 25. Sep 2023)
Databases on NVRAM
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Alexander Halbuer
Daniel Lohmann - Bearbeiter
- Matthias Wormann (abgegeben: 02. Oct 2023)
Morsel Managment Layer: Making Morsels Actually Useful
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Alexander Halbuer
Daniel Lohmann - Bearbeiter
- Darian Biastoch (abgegeben: 26. Oct 2023)
IOMMU-assisted Memory Management: Sharing Virtual Memory Objects for Efficient Computing
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Alexander Halbuer
Daniel Lohmann - Bearbeiter
- Kenny Albes (abgegeben: 05. Dec 2023)
Context-Based Mitigations for Side-Channel Attacks via Kernel Address-Space Views in Linux
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Florian Rommel
Daniel Lohmann
Efficient Serialization of Page-Table-Based Virtual Memory Objects
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Alexander Halbuer
Daniel Lohmann
Fast Memory Ballooning for Virtual Machines with LLFree
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Lars Wrenger
Daniel Lohmann
Investigating Total Store Ordering on the ARM M1
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Lars Wrenger
Dominik Töllner
Daniel Lohmann
Huge Pages for Virtual-Memory Objects
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Alexander Halbuer
Daniel Lohmann - Bearbeiter
- Marko Bolowski (abgegeben: 18. Mar 2024)
Efficient Copy-on-Write for Virtual-Memory Objects
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Alexander Halbuer
Daniel Lohmann - Bearbeiter
- Pasha Fistanto (abgegeben: 02. May 2024)
Optimizing Memory Metadata: Dynamic Allocation of Struct Pages in the Linux Kernel
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Lars Wrenger
Alexander Halbuer
Daniel Lohmann - Bearbeiter
- Paul Aumann (abgegeben: 14. Jun 2024)
Page Eviction for Shared Virtual-Memory Objects
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Alexander Halbuer
Daniel Lohmann - Bearbeiter
- Tim Hollmann (abgegeben: 03. Jul 2024)
Efficient Swapping of Shared Virtual-Memory Objects
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Alexander Halbuer
Daniel Lohmann - Bearbeiter
- Julian-Dominik Helmsen (abgegeben: 05. Aug 2024)
Enhancing Energy Efficiency with Advanced DRAM Management in Linux
- Typ
- Masterarbeit
- Status
- abgeschlossen
- Supervisors
- Alexander Halbuer
Christian Dietrich
Daniel Lohmann - Bearbeiter
- Illia Ostapyshyn (abgegeben: 01. Nov 2024)
LLFreeBSD: Integrating the LLFree Page Frame Allocator into FreeBSD
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Lars Wrenger
Daniel Lohmann