Intel PMDK Transactions: Specification, Validation and Concurrency (Extended Version)
Azalea Raad, Ori Lahav, John Wickerson, Piotr Balcer, Brijesh Dongol

TL;DR
This paper explores integrating Software Transactional Memory with Intel's Persistent Memory Development Kit to create concurrent, persistent transactional systems, introducing a new correctness criterion called dynamic durable opacity.
Contribution
It demonstrates how to adapt STM systems for persistent memory and introduces dynamic durable opacity as a new correctness criterion for such systems.
Findings
Successfully integrated STM with Intel PMDK for persistence.
Developed and validated the new correctness criterion, dynamic durable opacity.
Proved that PMDK-TML and PMDK-NORec satisfy dynamic durable opacity.
Abstract
Software Transactional Memory (STM) is an extensively studied paradigm that provides an easy-to-use mechanism for thread safety and concurrency control. With the recent advent of byte-addressable persistent memory, a natural question to ask is whether STM systems can be adapted to support failure atomicity. In this article, we answer this question by showing how STM can be easily integrated with Intel's Persistent Memory Development Kit (PMDK) transactional library (which we refer to as txPMDK) to obtain STM systems that are both concurrent and persistent. We demonstrate this approach using known STM systems, TML and NOrec, which when combined with txPMDK result in persistent STM systems, referred to as PMDK-TML and PMDK-NORec, respectively. However, it turns out that existing correctness criteria are insufficient for specifying the behaviour of txPMDK and our concurrent extensions. We…
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
