Mirror: making lock-free data structures persistent
Michal Friedman, Erez Petrank, Pedro Ramalhete
Abstract
With the recent launch of the Intel Optane memory platform, non-volatile main memory in the form of fast, dense, byteaddressable non-volatile memory has now become available. Nevertheless, designing crash-resilient algorithms and data structures is complex and error-prone as caches and machine registers are still volatile and the data residing in memory after a crash might not reflect a consistent view of the program state. This complex setting has often led to durable data structures being inefficient or incorrect, especially in the concurrent setting.
In this paper, we present MirrorÐa simple, general automatic transformation that adds durability to lock-free data structures, with a low performance overhead. Moreover, in the current non-volatile main memory configuration, where non-volatile memory operates side-by-side with a standard fast DRAM, our mechanism exploits the hybrid system to substantially improve performance. Evaluation shows a significant performance advantage over NVTraverse, which is the state-of-the-art general transformation technique, and over Intel's concurrent lock-based key-value datastore. Unlike some previous transformations, Mirror does not require any restriction on the lock-free data structure format.
• Computing methodologies → Concurrent algorithms; • Software and its engineering → Software libraries and repositories.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext fda30920-c1b1-47da-a041-86d21e81be88Cited by top-tier papers9
- Elimination (a, b)-trees with fast, durable updatesAnubhav Srivastava, Trevor BrownPPoPP 2022 · 12 citations
- NVM: Is it Not Very Meaningful for Databases?Dimitrios Koutsoukos, Raghav Bhartia, Michal Friedman, Ana Klimovic et al.VLDB 2023 · 9 citations
- The performance power of software combining in persistencePanagiota Fatourou, Nikolaos D. Kallimanis, Eleftherios KosmasPPoPP 2022 · 8 citations
- TL4x: Buffered Durable Transactions on Disk as Fast as in MemoryGal Assa, Andreia Correia, Pedro Ramalhete, Valerio Schiavoni et al.PPoPP 2023 · 8 citations
- The Path to Durable LinearizabilityEmanuele D'Osualdo, Azalea Raad, Viktor VafeiadisPOPL 2023 · 6 citations
Builds on4
- Persistency semantics of the Intel-x86 architectureAzalea Raad, John Wickerson, Gil Neiger, Viktor VafeiadisPOPL 2020 · 61 citations
- Pronto: Easy and Fast Persistence for Volatile Data StructuresAmir Saman Memaripour, Joseph Izraelevitz, Steven SwansonASPLOS 2020 · 55 citations
- NVTraverse: in NVRAM data structures, the destination is more important than the journeyMichal Friedman, Naama Ben-David, Yuanhao Wei, Guy E. Blelloch et al.PLDI 2020 · 52 citations
- Persistent memory and the rise of universal constructionsAndreia Correia, Pascal Felber, Pedro RamalheteEuroSys 2020 · 22 citations
Related papers
- Detectable recovery of lock-free data structuresHagit Attiya, Ohad Ben-Baruch, Panagiota Fatourou, Danny Hendler et al.PPoPP 2022 · 12 citations
- NBTree: a Lock-free PM-friendly Persistent B+-Tree for eADR-enabled PM SystemsBowen Zhang, Shengan Zheng, Zhenlin Qi, Linpeng HuangVLDB 2022 · 41 citations
- FliT: a library for simple and efficient persistent algorithmsYuanhao Wei, Naama Ben-David, Michal Friedman, Guy E. Blelloch et al.PPoPP 2022 · 19 citations
- Memento: A Framework for Detectable Recoverability in Persistent MemoryKyeongmin Cho, Seungmin Jeon, Azalea Raad, Jeehoon KangPLDI 2023 · 4 citations
- ResPCT: fast checkpointing in non-volatile memory for multi-threaded applicationsAna Khorguani, Thomas Ropars, Noel De PalmaEuroSys 2022 · 15 citations
