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