Concurrent Data Structures in Persistent Memory
summary
Presents two concrete tools: NVTraverse converts many lock-free pointer-based structures into persistent ones by flushing only the traversal output (typically the last one or two nodes) and the modification, yielding performance close to hand-tuned implementations as traversal length grows (hand-tuned wins on short traversals). Also delivers FLiT, a library that uses per-location counters (best as a hash-table counters layer) to avoid redundant flush/fence pairs, cutting flush overhead and improving throughput in experiments.
AI-written summary · about
chapters (8)
- 0:00Persistent memory challenges
- 3:15NVRAM consistency models
- 7:57Cache evictions in NVRAM
- 12:01Flush-after-update failure
- 15:58NVTraverse data structure
- 23:10FLiT flush reduction
- 30:24Persistent memory future
- 32:00Q&A
related talks
56mPath Tracing Three Ways: A Study of C++ Style
52mNonblocking algorithms/ CAS/Atomics
13mIntroducing PathProfiler – A Hardware Mechanism to Profile Dynamic Execution
13mMemPool Flavors: Between Versatility and Specialization in a RISC-V Manycore Cluster
10mA Programming Model for Efficient Inter-Kernel Control-Flow on Memory-Mapped Near-Data(…)
27mConsistency and Coherence of the NVIDIA Grace-Hopper Superchip
41mUsing Microarchitectural Design to Break KASLR and More
39mSecure Cache Designs: State of the Art and ...
