Primitives and Abstractions for Self-Contained Virtual-Memory Areas in the Linux kernel
- Typ der Arbeit: Masterarbeit
- Status der Arbeit: abgeschlossen
- Projekte: ParPerOS
- Betreuer: Lars Wrenger, Florian Rommel, Christian Dietrich, Daniel Lohmann
- Bearbeiter: Alexander Halbuer
- Ende der Arbeit: 16. Nov 2022
- Ausarbeitung: [PDF]
With the advent of new and disruptive memory technologies, like non-volatile memory, high-bandwidth memory, and near-memory computing, the relationship between memory users (processing elements), the operating system, and the memory has to be revisited. Especially, the new persistency guarantes of NVRAM, which can be accesses like ususal RAM but which keeps its contents during power outages, the question arises *How much operating system do we need on our memory-access path?". For this, we want to make areas in the virtual memory (VMAs), which we call Morsels, to first class OS citizens.
The goal of this thesis is to implement the basic Morsel abstraction, for
the time being only living in the volatile RAM, as a Linux kernel
extension. Thereby, some basic operations, like create()
, send()
,
and clone()
are designed, implemented, and evaluated.
Recommended Prerequisites
- Good low-level programming skills in C
- Basic knowledge of virtual memory (page tables, copy-on-write)
- Motivation to dig into new problems and code bases.
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.