当前位置: 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.)
Durable Queues: The Second Amendment
arXiv - CS - Performance Pub Date : 2021-05-18 , DOI: arxiv-2105.08706
Gal Sela, Erez Petrank

We consider durable data structures for non-volatile main memory, such as the new Intel Optane memory architecture. Substantial recent work has concentrated on making concurrent data structures durable with low overhead, by adding a minimal number of blocking persist operations (i.e., flushes and fences). In this work we show that focusing on minimizing the number of persist instructions is important, but not enough. We show that access to flushed content is of high cost due to cache invalidation in current architectures. Given this finding, we present a design of the queue data structure that properly takes care of minimizing blocking persist operations as well as minimizing access to flushed content. The proposed design outperforms state-of-the-art durable queues. We start by providing a durable version of the Michael Scott queue (MSQ). We amend MSQ by adding a minimal number of persist instructions, fewer than in available durable queues, and meeting the theoretical lower bound on the number of blocking persist operations. We then proceed with a second amendment to this design, that eliminates accesses to flushed data. Evaluation shows that the second amendment yields substantial performance improvement, outperforming the state of the art and demonstrating the importance of reduced accesses to flushed content. The presented queues are durably linearizable and lock-free. Finally, we discuss the theoretical optimal number of accesses to flushed content.

中文翻译:

持久队列:第二修正案

我们考虑了非易失性主内存的持久数据结构,例如新的Intel Optane内存体系结构。最近的大量工作集中在通过添加最少数量的阻塞持久性操作(即刷新​​和隔离)来使并发数据结构持久且开销低。在这项工作中,我们表明专注于最小化持久性指令的数量很重要,但还不够。我们表明,由于当前体系结构中的缓存无效,对刷新内容的访问成本很高。鉴于此发现,我们提出了队列数据结构的设计,该设计适当地负责最小化阻塞持久性操作以及最小化对刷新内容的访问。提议的设计胜过最先进的持久队列。我们从提供迈克尔·斯科特队列(MSQ)的持久版本开始。我们通过添加最少数量的持久性指令(少于可用的持久队列中的持久性指令)并满足阻塞持久性操作数量的理论下限来修改MSQ。然后,我们对该设计进行第二次修订,以消除对刷新数据的访问。评估表明,第二个修正案产生了显着的性能改进,性能超过了现有技术,并证明了减少访问已刷新内容的重要性。所呈现的队列持久地可线性化且无锁。最后,我们讨论了刷新内容的理论上的最佳访问次数。然后,我们对该设计进行第二次修订,以消除对刷新数据的访问。评估表明,第二个修正案产生了显着的性能改进,性能超过了现有技术,并证明了减少访问已刷新内容的重要性。呈现的队列持久地可线性化且无锁。最后,我们讨论了刷新内容的理论上的最佳访问次数。然后,我们对该设计进行第二次修订,以消除对刷新数据的访问。评估表明,第二个修正案产生了显着的性能改进,性能超过了现有技术,并证明了减少访问已刷新内容的重要性。呈现的队列持久地可线性化且无锁。最后,我们讨论了刷新内容的理论上的最佳访问次数。
更新日期:2021-05-19
down
wechat
bug