Tracking in Order to Recover: Recoverable Lock-Free Data Structures.

arXiv: Distributed, Parallel, and Cluster Computing(2019)

引用 0|浏览0
暂无评分
摘要
We present the \emph{tracking approach} for deriving \emph{recoverable} implementations of several widely-used concurrent data structures. Recoverability is appealing for emerging systems featuring byte-addressable \emph{non-volatile main memory} (\emph{NVRAM}), whose durability allows to efficiently resurrect a failed process after it crashes. The tracking approach ensures that after a crash occurs, every executed operation is able to recover and return a correct response, in addition to guaranteeing that the state of the data structure is not corrupted. The approach is applicable to lock-free concurrent data structures that use helping and rely on information structures to track the progress of operations. Such a tracking mechanism is already present in a wide range of well-known concurrent data structures, in particular, linked lists, trees and elimination stacks, making it relatively easy to derive their recoverable versions using the tracking approach. The tracking approach illustrates that full-fledged logging is not needed and ensures that the progress of concurrent operations is tracked in a \emph{per-process} manner, thus reducing the cost of ensuring recoverability.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要