Persistent Memory Programming Abstractions in Context of Concurrent Applications
Ajay Singh, Marc Shapiro, Gael Thomas

TL;DR
This paper evaluates different programming abstractions for non-volatile memory in concurrent applications, analyzing their tradeoffs in ease of programming, performance, and consistency through practical data structure implementations.
Contribution
It provides a comparative analysis of NVthreads, Mnemosyne, and NVML abstractions by implementing concurrent persistent data structures and assessing their tradeoffs.
Findings
NVML is easiest to program but less efficient.
Mnemosyne offers better performance but is more complex to develop with.
Tradeoffs involve balancing ease of programming, efficiency, and consistency.
Abstract
The advent of non-volatile memory (NVM) technologies like PCM, STT, memristors and Fe-RAM is believed to enhance the system performance by getting rid of the traditional memory hierarchy by reducing the gap between memory and storage. This memory technology is considered to have the performance like that of DRAM and persistence like that of disks. Thus, it would also provide significant performance benefits for big data applications by allowing in-memory processing of large data with the lowest latency to persistence. Leveraging the performance benefits of this memory-centric computing technology through traditional memory programming is not trivial and the challenges aggravate for parallel/concurrent applications. To this end, several programming abstractions have been proposed like NVthreads, Mnemosyne and intel's NVML. However, deciding upon a programming abstraction which is easier…
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.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Advanced Memory and Neural Computing · Ferroelectric and Negative Capacitance Devices
