Spool: Reliable Virtualized NVMe Storage Pool in Public Cloud Infrastructure
summary
Spool is a NVMe virtualization system built on SPDK and a user-space NVMe driver that diagnoses device-failure type and resets controllers for link errors instead of replacing media. It implements a cross-process journal to atomically persist ring indices and in‑flight request state, reuses memory-mapped controller and runtime layouts to avoid reinitialization, and uses SMART checks to classify faults. Evaluation reports <3% performance loss and fast restart reduced by 91%, with SPDK user-space driver and journaling as the enabling techniques.
AI-written summary · about
chapters (8)
- 0:00Introduction
- 4:09Design of Amoeba
- 5:14Reliable Cross-Process Journal
- 10:48Optimizing Spool Restart
- 15:51Reliability of Handling Hardware Failure
- 16:42Reliability of Handling Random Upgrades
- 17:19Reducing Restart Time
- 19:13Overhead of the Cross-Process Journal
related talks
48mSPDK Under the Hood: Diving into the Disk Subsystem in User Space
17mHow advancements in storage are triggering innovations in open-source and vice-versa
14mScaleSwap: A Scalable OS Swap System for All-Flash Swap Arrays
39mSecured I/O in the Cloud with NVMe-Over-TCP
48mSoftware Defined Storage the Linux way
24mLatest storage status on Arm
30mStRAID: Stripe-threaded Architecture for Parity-based RAIDs with Ultra-fast SSDs
21mVirtio Devices Emulation in SPDK Based on Vfio-User Protocol
