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

2022-06-13 New DFG Grant: Parallel Persistency OS (SPP 2377)
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). DFG is supporting us for three years with two positions for doctoral researchers (E13, one at SRA), two positions for student researchers (one at SRA), and some additional lab equippment. ParPerOS is a cooperation project with the OSG group from Christian Dietrich.

Theses

Currently Running

Primitives and Abstractions for Self-Contained Virtual-Memory Areas 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.

 
Typ
Masterarbeit

 
Status
laufend

 
Supervisors
Lars Wrenger
Florian Rommel
Christian Dietrich
Daniel Lohmann

Finished Theses

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

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