MorselFS: Reinventing In-Memory File Systems with the Help of Self-Contained Virtual-Memory Objects
- Typ der Arbeit: Masterarbeit
- Status der Arbeit: reserviert
- Projekte: ParPerOS
- Betreuer: Daniel Lohmann, Nils Fuhler
MorselFS concept
Context
Morsels are self-contained virtual-memory objects. They break with the Mach memory model by managing virtual memory on the granularity of objects rather than single pages. In practice, they are represented by a page table sub-tree of a virtual address space. This also allows them to be self-contained: all information needed to describe a Morsel (i.e. the page table sub-tree) is part of the morsel itself. Additionally, it makes it possible to map and unmap Morsels with a single atomic operation on a page table entry.
While Morsels are not files themselves, they are represented by file descriptors in the implementation for Linux, which allows them to integrate seemlessly into existing applications.
Problem
When Morsels are integrated into existing applications, however, they often act as replacements for traditional file mappings. This leads to additional overhead, such as copying the contents of the actual file into the morsel on its first mapping. Moreover, multiple calls into kernel space are necessary to select an existing Morsel and create a copy of it to privately map a file into an address space.
Goal
Your task will be to implement an in-memory file system that is based on morsels. Imposing the file semantics on morsels should help to reduce some of the mentioned overhead. Additionally, a file system based on Morsels opens up some new opportunities. First and foremost, as Morsels self-cotained, the FS should also be entirely self-contained. This means that the FS itself is a Morsel that contains other Morsels which hold either metadata or represent files. In a next step, secondary views on Morsels should make it possible to seemlessly share an instance of the FS with a virtual machine.
Topics: C, Linux Kernel, Virtual Memory, File Systems, Morsels
References
Weblinks
Overview of the Linux Virtual File System - The Linux Kernel documentation
Papers
-
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 []
