Fast Nonblocking Persistence for Concurrent Data Structures
Autor: | Cai, Wentao, Wen, Haosen, Maksimovski, Vladimir, Du, Mingzhe, Sanna, Rafaello, Abdallah, Shreif, Scott, Michael L. |
---|---|
Jazyk: | angličtina |
Rok vydání: | 2021 |
Předmět: |
FOS: Computer and information sciences
D.1.3 Computer Science - Performance B.2.3 Computing methodologies → Concurrent algorithms Buffered Durable Linearizability Persistent Memory Computer systems organization → Reliability Performance (cs.PF) Computer Science - Distributed Parallel and Cluster Computing Theory of computation → Parallel computing models Computer Science - Data Structures and Algorithms Nonblocking Progress Data Structures and Algorithms (cs.DS) 68W10 68Q85 68M15 Distributed Parallel and Cluster Computing (cs.DC) |
DOI: | 10.4230/lipics.disc.2021.14 |
Popis: | We present a fully lock-free variant of our recent Montage system for persistent data structures. The variant, nbMontage, adds persistence to almost any nonblocking concurrent structure without introducing significant overhead or blocking of any kind. Like its predecessor, nbMontage is buffered durably linearizable: it guarantees that the state recovered in the wake of a crash will represent a consistent prefix of pre-crash execution. Unlike its predecessor, nbMontage ensures wait-free progress of the persistence frontier, thereby bounding the number of recent updates that may be lost on a crash, and allowing a thread to force an update of the frontier (i.e., to perform a sync operation) without the risk of blocking. As an extra benefit, the helping mechanism employed by our wait-free sync significantly reduces its latency. Performance results for nonblocking queues, skip lists, trees, and hash tables rival custom data structures in the literature - dramatically faster than achieved with prior general-purpose systems, and generally within 50% of equivalent non-persistent structures placed in DRAM. LIPIcs, Vol. 209, 35th International Symposium on Distributed Computing (DISC 2021), pages 14:1-14:20 |
Databáze: | OpenAIRE |
Externí odkaz: |