MOD: Minimally Ordered Durable Datastructures for Persistent Memory
Swapnil Haria, Mark D. Hill, Michael M. Swift
摘要
Persistent Memory (PM) makes possible recoverable applications that can preserve application progress across system reboots and power failures. Actual recoverability requires careful ordering of cacheline flushes, currently done in two extreme ways. On one hand, expert programmers have reasoned deeply about consistency and durability to create applications centered on a single custom-crafted durable datastructure. On the other hand, less-expert programmers have used software transaction memory (STM) to make atomic one or more updates, albeit at a significant performance cost due largely to ordered log updates.
In this work, we propose the middle ground of composable persistent datastructures called Minimally Ordered Durable (MOD) datastructures. MOD is a C++ library of several datastructures-currently, map, set, stack, queue and vectorthat often perform better than STM and yet are relatively easy to use. They allow multiple updates to one or more datastructures to be atomic with respect to failure. Moreover, we provide a recipe to create more recoverable datastructures.
MOD is motivated by our analysis of real Intel Optane PM hardware showing that allowing unordered, overlapping flushes significantly improves performance. MOD reduces ordering by adapting existing techniques for out-of-place updates (like shadow paging) with space-reducing structural sharing (from functional programming). MOD exposes a Basic interface for single updates and a Composition interface for atomically performing multiple updates. Relative to the state-of-the-art Intel PMDK v1.5 STM, MOD improves map, set, stack, queue microbenchmark performance by 40%, and speeds up application benchmark performance by 38%.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper29
- Characterizing and Modeling Non-Volatile Memory SystemsZixuan Wang, Xiao Liu, Jian Yang, Theodore Michailidis 等MICRO 2020 · 被引用 88 次
- Understanding the Idiosyncrasies of Real Persistent MemoryShashank Gugnani, Arjun Kashyap, Xiaoyi LuVLDB 2021 · 被引用 67 次
- Persistent Memory Hash Indexes: An Experimental EvaluationDaokun Hu, Zhiwen Chen, Jianbing Wu, Jianhua Sun 等VLDB 2021 · 被引用 47 次
- Nap: A Black-Box Approach to NUMA-Aware Persistent Memory IndexesQing Wang, Youyou Lu, Junru Li, Jiwu ShuOSDI 2021 · 被引用 46 次
- Pacman: An Efficient Compaction Approach for Log-Structured Key-Value Store on Persistent MemoryJing Wang, Youyou Lu, Qing Wang, Minhui Xie 等USENIX ATC 2022 · 被引用 44 次
相关 Paper
- ASAP: A Speculative Approach to PersistenceSujay Yadalam, Nisarg Shah, Xiangyao Yu, Michael M. SwiftHPCA 2022 · 被引用 17 次
- Memento: A Framework for Detectable Recoverability in Persistent MemoryKyeongmin Cho, Seungmin Jeon, Azalea Raad, Jeehoon KangPLDI 2023 · 被引用 4 次
- Pronto: Easy and Fast Persistence for Volatile Data StructuresAmir Saman Memaripour, Joseph Izraelevitz, Steven SwansonASPLOS 2020 · 被引用 55 次
- Evaluating Persistent Memory Range Indexes: Part TwoYuliang He, Duo Lu, Kaisong Huang, Tianzheng WangVLDB 2022 · 被引用 26 次
- SPHT: Scalable Persistent Hardware TransactionsDaniel Castro, Alexandro Baldassin, João Barreto, Paolo RomanoFAST 2021 · 被引用 12 次
