TL;DR
This paper introduces a new durable queue design optimized for non-volatile memory, reducing both persist instructions and access to flushed content, leading to significant performance improvements over existing solutions.
Contribution
It presents a durable, lock-free queue that minimizes persist instructions and access to flushed data, outperforming current state-of-the-art durable queues.
Findings
Outperforms existing durable queues in benchmarks
Reduces persist instructions below previous methods
Eliminates accesses to flushed data for better performance
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
