Overview
This course teaches the concept of per-file virtualization for userspace persistent memory filesystems. The learning outcomes include understanding how to implement per-file virtualization, manage metadata in userspace, ensure crash consistency, and control concurrency. The course covers skills such as implementing a library PM filesystem, maintaining embedded metadata, and optimizing performance for real-world applications. The teaching method involves lectures and practical evaluations. The intended audience for this course includes software developers, system architects, and individuals interested in persistent memory filesystems and virtualization techniques.
Syllabus
Intro
Background: Persistent Memory
Background: Kernel Filesystems for PM
Background: Userspace Filesystems for PN
MadFS: Metadata Embedded Filesystem
MadFS: Simplified Design
MadFS: Metadata Management
MadFS: Per-File Virtualization
Evaluation: Concurrent 4 KB Random Read
Evaluation: Concurrent 4 KB Random Overwrite
Evaluation: TPC-C on SQLite
Taught by
USENIX