Libnvmmio:Reconstructing Software IO Path w/ Failure-Atomic Memory-Mapped Interface
summary
Presents Libnvmmio, a user-level extension to memory-mapped I/O for non-volatile memory that provides failure-atomicity so programmers need not manage crash-consistency. Describes how Libnvmmio reconstructs the data I/O path for NVM to improve performance and scalability compared with syscall-based file systems and NVM-optimized file systems, and reports benchmark gains (microbenchmarks, SQLite Mobibench/TPC-C, and MongoDB YCSB).
AI-written summary · about
chapters (19)
- 0:00Intro
- 0:26SW Overhead Greater than Storage Laten
- 0:50Reconstruct SW IO Path with Libnvmmio
- 1:05Reconstruct SW 10 Path with Libnym
- 1:46User-Level 10 is Suitable in NVMM system
- 2:22Logging is more Efficeint than Cow
- 3:52Redo vs. Undo
- 5:15Hybrid Logging
- 5:49Centralized Logging with Fine-Grained Log
- 6:59Per-Block Logging
- 7:49Lock-Free Radix Tree
- 10:08Commit & Checkpoint based on Epoc
- 12:13Design Summary
- 12:41Experimental Setup
- 15:30FIO: Different Write Sizes
- 16:27FIO: Random Write with Multithread
- 17:15TPC-C on SQLite
- 19:04SQLite WAL vs. Libnvmmio
- 20:58Conclusion
