Efficient Copy-on-Write for Virtual-Memory Objects

With Morsels we introduced a novel new memory-management paradigm, that shifts from the management of individual pages to larger virtual-memory objects, technically represented as subtrees of the page-table hierarchy. This reduces management overhead and enables very fast transfer between address spaces. However, such memory objects are handled as indivisible units on operating-system level and, therefore, currently do not support fine-granular copy-on-write (COW).

Implementing classical, full-featured COW with multiple nesting levels would introduce substantial management overhead on the operating system side, involving reference counting and reverse mapping information. Our goal with Morsels is to eliminate this overhead while retaining limited COW functionality for tasks like snapshotting or efficiently mapping runtime libraries with per-process states.

To achieve this, we propose a compromise that sacrifices some flexibility in exchange for a highly efficient implementation. Specifically, we want to freeze the base object and restrict COW behavior to its split child. Your task involves extending the existing Morsel implementation in Linux to incorporate the described Copy-On-Write (COW) functionality.

Topics: Linux kernel, C, Virtual Memory, Copy-on-Write

image

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.

 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Alexander Halbuer
Daniel Lohmann

 
Project
ParPerOS

 
Bearbeiter
Kenny Albes (abgegeben: 05. Dec 2023)

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

 
Project
ParPerOS

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

 
Project
ParPerOS

 
Bearbeiter
Matthias Wormann (abgegeben: 02. Oct 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

 
Project
ParPerOS

 
Bearbeiter
Darian Biastoch (abgegeben: 26. Oct 2023)

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

 
Typ
Masterarbeit

 
Status
abgeschlossen

 
Supervisors
Lars Wrenger
Florian Rommel
Christian Dietrich
Daniel Lohmann

 
Project
ParPerOS

 
Bearbeiter
Alexander Halbuer (abgegeben: 16. Nov 2022)