Data Structure Primitives on Persistent Memory: An Evaluation
Philipp G\"otze, Arun Kumar Tharanatha, Kai-Uwe Sattler

TL;DR
This paper dissects existing persistent memory data structures to understand their design primitives, evaluates their performance on real hardware, and identifies optimal use cases and vulnerabilities, revealing new design combinations.
Contribution
It introduces a detailed analysis of data structure primitives for persistent memory, providing insights into their trade-offs, vulnerabilities, and novel combinations not previously studied.
Findings
Identified key design primitives and their trade-offs on real PM hardware.
Pinpointed optimal use cases and vulnerabilities of primitives.
Discovered new combinations of primitives for PM data structures.
Abstract
Persistent Memory (PMem), as already available, e.g., with Intel Optane DC Persistent Memory, represents a very promising, next-generation memory solution with a significant impact on database architectures. Several data structures for this new technology and its properties have already been proposed. However, primarily only complete structures are presented and evaluated. Thus, the implications of the individual ideas and PMem features are concealed. Therefore, in this paper, we disassemble the structures presented so far, identify their underlying design primitives, and assign them to appropriate design goals regarding PMem. As a result of our comprehensive experiments on real PM hardware, we can reveal the trade-offs of the primitives for various access patterns. This allowed us to pinpoint their best use cases as well as vulnerabilities. Besides our general insights regarding…
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
TopicsAdvanced Data Storage Technologies · Parallel Computing and Optimization Techniques · Distributed systems and fault tolerance
