Nap: A Black-Box Approach to NUMA-Aware Persistent Memory Indexes
Talkat 15th USENIX Symposium on Operating Systems Design and Implementation (OSDI '21) · 2021-07-14..07-16·
summary
Nap converts existing concurrent persistent‑memory indexes into NUMA‑aware ones by adding a NUMA‑aware layer that keeps per-node partial views in PM for local updates and a global view in DRAM for lookups, eliminating most remote PM accesses. Implemented on Optane DC Persistent Memory across four nodes, Nap absorbs up to 54% of operations, boosts throughput up to 2.3× on write‑heavy and 1.56× on read‑heavy workloads, uses a three‑phase switch to handle hotspot shifts, adds <70 MB memory, and yields 300–1000 ms recovery time.
AI-written summary · about
chapters (17)
- 0:00Intro
- 0:24Persistent Memory (PM)
- 0:55NUMA impacts on PM Indexes (2)
- 2:11Limitations of Replication-based Approach
- 3:10Outline
- 3:23Key Idea (1) - Making Hot Accesses NUMA-aware
- 4:47Key Idea (2) - Minimizing PM State Synchronization
- 5:12Challenges for Practical Design
- 5:36Global View
- 6:20Version-based Updates
- 7:31NAL Switch (1) - Detect Hot Set
- 7:56NAL Switch (2) - Three Phase Switch
- 10:18Experimental Setup
- 10:56Overall Performance
- 11:24Dynamic Workloads
- 11:52Overheads of Nap
- 12:35Takeaway 2
related talks
14mArchTM: Architecture-Aware, High Performance Transaction for Persistent Memory
23mLock-free Concurrent Level Hashing for Persistent Memory
12mSPHT: Scalable Persistent Hardware Transactions
21mChasing Unicorns and Not Losing Hope in Validating Weak Memory Persistency Model...
01h 17mAMPC
15mPisces: A Scalable and Efficient Persistent Transactional Memory
44mRestartable Sequences: Scheduler-Aware Scaling of Memory Use on Many-Core Systems
35mAutomatic Parallelism Management
