SplitFS
SplitFS is a research persistent-memory file system that divides data handling in a user-space library from metadata handling in ext4 DAX.
The library intercepts application calls through LD_PRELOAD. The prototype requires its kernel setup; this is not a switch on an arbitrary ext4 installation. [3]
Its POSIX mode protects metadata; sync adds durable operation completion; strict also makes individual data operations atomic. Applications select their guarantees through separate library instances. [2]
In POSIX mode, overwrites are synchronous but appends need fsync. Strict mode does not combine multiple calls into one atomic transaction. The paper separately delays cross-process append visibility until fsync: durability and visibility must not be conflated. [1]
Staging and relink move prepared data into the target file through journaled metadata changes. [2]
Relations
Limitations
- The paper's guarantees are operation- and mode-specific, not a general multi-file transaction contract. [1]
Citations
- Kadekodi et al. SplitFS: Reducing Software Overhead in File Systems for Persistent Memory. SOSP 2019, sections 3.2-3.4, 5.1-5.3. DOI: 10.1145/3341301.3359631.
- SplitFS authors. README at commit 1ac6412676724760557b587e85cc21f26f654fee: interception and setup.
Further reading
Sources & caveats
- Primary-source synthesis of the SOSP 2019 design and pinned prototype documentation; no execution or power-loss experiment.