Splitfs: Reducing software overhead in file systems for persistent memory

Rohan Kadekodi, Se Kwon Lee, Sanidhya Kashyap, Taesoo Kim, Aasheesh Kolli, Vijay Chidambaram

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

We present SplitFS, a file system for persistent memory (PM) that reduces software overhead significantly compared to state-of-the-art PM file systems. SplitFS presents a novel split of responsibilities between a user-space library file system and an existing kernel PM file system. The user-space library file system handles data operations by intercepting POSIX calls, memory-mapping the underlying file, and serving the read and overwrites using processor loads and stores. Metadata operations are handled by the kernel PM file system (ext4 DAX). SplitFS introduces a new primitive termed relink to efficiently support file appends and atomic data operations. SplitFS provides three consistency modes, which different applications can choose from, without interfering with each other. SplitFS reduces software overhead by up-to 4× compared to the NOVA PM file system, and 17× compared to ext4 DAX. On a number of micro-benchmarks and applications such as the LevelDB key-value store running the YCSB benchmark, SplitFS increases application performance by up to 2× compared to ext4 DAX and NOVA while providing similar consistency guarantees.

Original languageEnglish (US)
Title of host publicationSOSP 2019 - Proceedings of the 27th ACM Symposium on Operating Systems Principles
PublisherAssociation for Computing Machinery, Inc
Pages494-508
Number of pages15
ISBN (Electronic)9781450368735
DOIs
StatePublished - Oct 27 2019
Event27th ACM Symposium on Operating Systems Principles, SOSP 2019 - Huntsville, Canada
Duration: Oct 27 2019Oct 30 2019

Publication series

NameSOSP 2019 - Proceedings of the 27th ACM Symposium on Operating Systems Principles

Conference

Conference27th ACM Symposium on Operating Systems Principles, SOSP 2019
CountryCanada
CityHuntsville
Period10/27/1910/30/19

    Fingerprint

All Science Journal Classification (ASJC) codes

  • Software
  • Computational Theory and Mathematics
  • Computer Science Applications

Cite this

Kadekodi, R., Lee, S. K., Kashyap, S., Kim, T., Kolli, A., & Chidambaram, V. (2019). Splitfs: Reducing software overhead in file systems for persistent memory. In SOSP 2019 - Proceedings of the 27th ACM Symposium on Operating Systems Principles (pp. 494-508). (SOSP 2019 - Proceedings of the 27th ACM Symposium on Operating Systems Principles). Association for Computing Machinery, Inc. https://doi.org/10.1145/3341301.3359631