Tracking in Order to Recover - Detectable Recovery of Lock-Free Data Structures

We present the tracking approach for deriving detectable implementations of many widely-used concurrent data structures for systems with non-volatile main memory (NVRAM). Detectable recovery ensures that in the crash-recovery model, every operation executed during a crash, resumes its execution and returns a correct response, and that the state of the data structure is not corrupted.

[1]  Roy H. Campbell,et al.  Consistent and Durable Data Structures for Non-Volatile Byte-Addressable Memory , 2011, FAST.

[2]  Rajesh K. Gupta,et al.  NV-Heaps: making persistent objects fast and safe with next-generation, non-volatile memories , 2011, ASPLOS XVI.

[3]  Danny Hendler,et al.  Nesting-Safe Recoverable Linearizability: Modular Constructions for Non-Volatile Memory , 2018, PODC.

[4]  Maurice Herlihy,et al.  A persistent lock-free queue for non-volatile memory , 2018, PPoPP.

[5]  Guy E. Blelloch,et al.  Delay-Free Concurrency on Faulty Persistent Memory , 2018, SPAA.

[6]  Damian Dechev,et al.  An Efficient Wait-Free Vector , 2016, IEEE Transactions on Parallel and Distributed Systems.

[7]  Greg Barnes,et al.  A method for implementing lock-free shared-data structures , 1993, SPAA '93.

[8]  Eric Ruppert,et al.  Lock-free linked lists and skip lists , 2004, PODC '04.

[9]  Michael L. Scott,et al.  Linearizability of Persistent Memory Objects Under a Full-System-Crash Failure Model , 2016, DISC.

[10]  Danny Hendler,et al.  Tracking in Order to Recover: Recoverable Lock-Free Data Structures , 2019, ArXiv.

[11]  Faith Ellen,et al.  Non-blocking binary search trees , 2010, PODC.

[12]  Qin Jin,et al.  Persistent B+-Trees in Non-Volatile Main Memory , 2015, Proc. VLDB Endow..

[13]  Maged M. Michael,et al.  Simple, fast, and practical non-blocking and blocking concurrent queue algorithms , 1996, PODC '96.

[14]  Nir Shavit,et al.  A scalable lock-free stack algorithm , 2004, SPAA '04.

[15]  Timothy L. Harris,et al.  A Pragmatic Implementation of Non-blocking Linked-Lists , 2001, DISC.