Efficient Serialization of Page-Table-Based Virtual Memory Objects

The idea of morsels is to employ a new memory management paradigm where memory management shifts from individual pages to whole page-table subtrees. The handling as an indivisible unit instead of many individual pages reduces operating system overhead and bookkeeping efforts. Morsels are conceptually self-contained, meaning that a morsel memory object can be interpreted without additional metadata. This property makes morsels well-suited for new non-volatile memory that functions like conventional main memory but keeps data across power cycles. In contrast to other storing and sharing mechanisms, we can directly store pointer-based data structures in morsels if we ensure that the mapping address is always the same, thus saving costly serialization and deserialization.

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 morsels on disks when persistent memory is not available. To prioritize speed over memory efficiency, morsels can be stored and loaded entirely, rather than serializing and deserializing individual pages. This approach can help to reduce the overhead associated with serialization and deserialization, allowing the utilization of modern SSDs. In the common case the original physical page frames may not be available due to system reboots or other factors, therefore the original page table structures need to be rebuilt with different physical page frames.

Topics: Linux, C, Virtual Memory, Paging

image

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)

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)

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)