On Stacking a Persistent Memory File System on Legacy File Systems

Authors: 

Hobin Woo, Samsung Electronics; Daegyu Han, Sungkyunkwan University; Seungjoon Ha, Samsung Electronics; Sam H. Noh, UNIST & Virginia Tech; Beomseok Nam, Sungkyunkwan University

Abstract: 

In this work, we design and implement a Stackable Persistent memory File System (SPFS), which serves NVMM as a persistent writeback cache to NVMM-oblivious filesystems. SPFS can be stacked on a disk-optimized file system to improve I/O performance by absorbing frequent order-preserving small synchronous writes in NVMM while also exploiting the VFS cache of the underlying disk-optimized file system for non-synchronous writes. A stackable file system must be lightweight in that it manages only NVMM and not the disk or VFS cache. Therefore, SPFS manages all file system metadata including extents using simple but highly efficient dynamic hash tables. To manage extents using hash tables, we design a novel Extent Hashing algorithm that exhibits fast insertion as well as fast scan performance. Our performance study shows that SPFS effectively improves I/O performance of the lower file system by up to 9.9×.

FAST '23 Open Access Sponsored by
NetApp

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

This content is available to:

BibTeX
@inproceedings {285762,
author = {Hobin Woo and Daegyu Han and Seungjoon Ha and Sam H. Noh and Beomseok Nam},
title = {On Stacking a Persistent Memory File System on Legacy File Systems},
booktitle = {21st USENIX Conference on File and Storage Technologies (FAST 23)},
year = {2023},
isbn = {978-1-939133-32-8},
address = {Santa Clara, CA},
pages = {281--296},
url = {https://www.usenix.org/conference/fast23/presentation/woo},
publisher = {USENIX Association},
month = feb
}

Presentation Video