Persistent memory and the rise of universal constructions
Andreia Correia, Pascal Felber, Pedro Ramalhete
Abstract
Non-Volatile Main Memory (NVMM) has brought forth the need for data structures that are not only concurrent but also resilient to non-corrupting failures. Until now, persistent transactional memory libraries (PTMs) have focused on providing correct recovery from non-corrupting failures without memory leaks. Most PTMs that provide concurrent access do so with blocking progress.
The main focus of this paper is to design practical PTMs with wait-free progress based on universal constructions. We first present CX-PUC, the first bounded wait-free persistent universal construction requiring no annotation of the underlying sequential data structure. CX-PUC is an adaptation to persistence of CX, a recently proposed universal construction. We next introduce CX-PTM, a PTM that achieves better throughput and supports transactions over multiple data structure instances, at the price of requiring annotation of the loads and stores in the data structure-as is commonplace in software transactional memory. Finally, we propose a new generic construction based on a finite number of replicas and Herlihy's wait-free consensus, which uses physical instead of logical logging. This PTM, which we named Redo-PTM, records all the store instructions executed on each operation and considerably improves throughput for update transactions. These generic constructions enable the creation of wait-free, failure resilient and durable linearizable data structures for NVMM, with integrated wait-free memory allocation and deallocation. By exploiting its capability of providing wait-free ACID transactions, we have used Redo-PTM to implement the world's first persistent key-value store with bounded wait-free progress.
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.
Cited by top-tier papers6
- Mirror: making lock-free data structures persistentMichal Friedman, Erez Petrank, Pedro RamalhetePLDI 2021 · 34 citations
- ResPCT: fast checkpointing in non-volatile memory for multi-threaded applicationsAna Khorguani, Thomas Ropars, Noel De PalmaEuroSys 2022 · 15 citations
- SPHT: Scalable Persistent Hardware TransactionsDaniel Castro, Alexandro Baldassin, João Barreto, Paolo RomanoFAST 2021 · 12 citations
- TENET: Memory Safe and Fault Tolerant Persistent Transactional MemoryMadhava Krishnan Ramanathan, Diyu Zhou, Wook-Hee Kim, Sudarsun Kannan et al.FAST 2023 · 12 citations
- Bridging the performance gap for copy-based garbage collectors atop non-volatile memoryYanfei Yang, Mingyu Wu, Haibo Chen, Binyu ZangEuroSys 2021 · 9 citations
Builds on1
Related papers
- Pronto: Easy and Fast Persistence for Volatile Data StructuresAmir Saman Memaripour, Joseph Izraelevitz, Steven SwansonASPLOS 2020 · 55 citations
- Crafty: efficient, HTM-compatible persistent transactionsKaan Genç, Michael D. Bond, Guoqing Harry XuPLDI 2020 · 31 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
- Memento: A Framework for Detectable Recoverability in Persistent MemoryKyeongmin Cho, Seungmin Jeon, Azalea Raad, Jeehoon KangPLDI 2023 · 4 citations
- Zen: a High-Throughput Log-Free OLTP Engine for Non-Volatile Main MemoryGang Liu, Leying Chen, Shimin ChenVLDB 2021 · 31 citations
