当前位置: X-MOL 学术arXiv.cs.PF › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Fast Nonblocking Persistence for Concurrent Data Structures
arXiv - CS - Performance Pub Date : 2021-05-20 , DOI: arxiv-2105.09508
Wentao Cai, Haosen Wen, Vladimir Maksimovski, Mingzhe Du, Rafaello Sanna, Shreif Abdallah, Michael L. Scott

We present a fully lock-free variant of the recent Montage system for persistent data structures. Our 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.

中文翻译:

并发数据结构的快速非阻塞持久性

我们为持久性数据结构提供了最新的Montage系统的完全无锁的变体。我们的变体nbMontage,几乎在任何非阻塞并发结构中都增加了持久性,而没有引入大量开销或任何形式的阻塞。像其前身一样,nbMontage可以持久线性化地进行缓冲:它确保崩溃后恢复的状态将代表崩溃前执行的一致前缀。与它的前任不同,nbMontage确保持久性边界的无等待进展,从而限制了崩溃可能丢失的最近更新的数量,并允许线程强制边界的更新(即,执行同步操作)没有阻塞的风险。另外一个好处是,我们的免等待同步所采用的帮助机制大大减少了其延迟。
更新日期:2021-05-22
down
wechat
bug