This paper presents a generic approach for deriving detectably recoverable implementations of many widely-used concurrent data structures. Such implementations are appealing for emerging systems featuring byte-addressable nonvolatile main memory (NVMM), whose persistence allows to efficiently resurrect failed threads after crashes. Detectable recovery ensures that after a crash, every executed operation is able to recover and return a correct response, and that the state of the data structure is not corrupted.
Our approach, called Tracking, amends descriptor objects used in existing lock-free helping schemes with additional fields that track an operation’s progress towards completion and persists these fields in order to ensure detectable recovery. Tracking avoids full-fledged logging and tracks the progress of concurrent operations in a per-thread manner, thus reducing the cost of ensuring detectable recovery.
We have applied Tracking to derive detectably recoverable implementations of a linked list, a binary search tree, and an exchanger. Our experimental analysis introduces a new way of analyzing the cost of persistency instructions, not by simply counting them but by separating them into categories based on the impact they have on the performance. The analysis reveals that understanding the actual persistence cost of an algorithm in machines with real NVMM, is more complicated than previously thought, and requires a thorough evaluation, since the impact of different persistence instructions on performance may greatly vary. We consider this analysis to be one of the major contributions of the paper.
Wed 6 AprDisplayed time zone: Eastern Time (US & Canada) change
10:20 - 11:20 | |||
10:20 15mTalk | Deadlock-Free Asynchronous Message Reordering in Rust with Multiparty Session Types Main Conference Zak Cutner Imperial College London, Nobuko Yoshida Imperial College London, Martin Vassor Imperial College London | ||
10:35 15mTalk | Detectable Recovery of Lock-Free Data Structures Main Conference Hagit Attiya Technion, Ohad Ben-Baruch Ben-Gurion University of the Negev, Panagiota Fatourou FORTH ICS and University of Crete, Greece, Danny Hendler BGU, Eleftherios Kosmas Department of Computer Science, University of Crete, Greece | ||
10:50 15mTalk | Lock-Free Locks Revisited Main Conference Naama Ben-David VMware, Guy E. Blelloch Carnegie Mellon University, USA, Yuanhao Wei Carnegie Mellon University, USA | ||
11:05 15mTalk | Asymmetry-aware Scalable Locking Main Conference Nian Liu Shanghai Jiao Tong University, Jinyu Gu Shanghai Jiao Tong University, Dahai Tang Hunan university, Kenli Li National Supercomputing Center in Changsha, Hunan University, Binyu Zang Shanghai Jiao Tong University, Haibo Chen Shanghai Jiao Tong University |