Flat-Combining-Based Persistent Data Structures for Non-Volatile Memory
Matan Rusanovsky, Hagit Attiya, Ohad Ben-Baruch, Tom Gerby, Danny, Hendler, and Pedro Ramalhete

TL;DR
This paper introduces the first flat-combining-based persistent data structures for non-volatile memory, demonstrating improved performance and reduced persistence instructions compared to existing algorithms.
Contribution
It presents novel persistent concurrent objects using flat combining, including a stack, queue, and deque, optimized for non-volatile memory systems.
Findings
Require fewer persistence instructions than competing algorithms
Significantly outperform existing persistent data structures
Ensure recoverability and consistency after system failures
Abstract
Flat combining (FC) is a synchronization paradigm in which a single thread, holding a global lock, collects requests by multiple threads for accessing a concurrent data structure and applies their combined requests to it. Although FC is sequential, it significantly reduces synchronization overheads and cache invalidations and thus often provides better performance than that of lock-free implementations. The recent emergence of non-volatile memory (NVM) technologies increases the interest in the development of persistent concurrent objects. These are objects that are able to recover from system failures and ensure consistency by retaining their state in NVM and fixing it, if required, upon recovery. Of particular interest are detectable objects that, in addition to ensuring consistency, allow recovery code to infer if a failed operation took effect before the crash and, if it did, obtain…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Advanced Data Storage Technologies · Parallel Computing and Optimization Techniques
