PMThreads: Persistent Memory Threads Harnessing Versioned Shadow Copies
Byte-addressable non-volatile memory (NVM) makes it possible to perform fast in-memory accesses to persistent data using standard load/store processor instructions. Some approaches for NVM are based on durable memory transactions and provide a \textit{persistent programming paradigm}. However, they cannot be applied to existing multi-threaded applications without extensive source code modifications. Durable transactions typically rely on logging to enforce failure-atomic commits that include additional writes to NVM and considerable ordering overheads.
This paper presents PMThreads, a novel user-space runtime that provides transparent failure-atomicity for lock-based parallel programs. A shadow DRAM page is used to buffer application writes for efficient propagation to a dual-copy NVM persistent storage framework during a \textit{global quiescent state}. In this state, the \textit{working} NVM copy and the crash-\textit{consistent} copy of each page are atomically updated, and their roles are switched. A \textit{global quiescent state} is entered at timed intervals by intercepting \textit{pthread} lock acquire and release operations to ensure that no thread holds a lock to persistent data.
Running on a dual-socket system with 20 cores, we show that PMThreads substantially outperforms the state-of-the-art Atlas, Mnemosyne and NVthreads systems for lock-based benchmarks (Phoenix, PARSEC benchmarks, and microbenchmark stress tests). Using Memcached, we also investigate the scalability of PMThreads and the effect of different time intervals for the quiescent state.
Thu 18 JunDisplayed time zone: Pacific Time (US & Canada) change
06:20 - 07:40 | PerformancePLDI Research Papers at PLDI Research Papers live stream Chair(s): Fredrik Kjolstad Stanford University | ||
06:20 20mTalk | PMEvo: Portable Inference of Port Mappings for Out-of-Order Processors by Evolutionary Optimization PLDI Research Papers | ||
06:40 20mTalk | PMThreads: Persistent Memory Threads Harnessing Versioned Shadow Copies PLDI Research Papers Zhenwei Wu National University of Defense Technology, China / University of Manchester, UK, Kai Lu National University of Defense Technology, China, Andrew Nisbet University of Manchester, UK, Wenzhe Zhang National University of Defense Technology, China, Mikel Luján University of Manchester, UK | ||
07:00 20mTalk | SympleGraph: Distributed Graph Processing with Precise Loop-Carried Dependency Guarantee PLDI Research Papers Youwei Zhuo University of Southern California, USA, Jingji Chen University of Southern California, USA, Qinyi Luo University of Southern California, USA, Yanzhi Wang Northeastern University, USA, Hailong Yang Beihang University, China, Depei Qian Beihang University, China, Xuehai Qian University of Southern California, USA | ||
07:20 20mTalk | SCAF: A Speculation-Aware Collaborative Dependence Analysis Framework PLDI Research Papers Sotiris Apostolakis Princeton University, USA, Ziyang Xu Princeton University, USA, Zujun Tan Princeton University, USA, Greg Chan Princeton University, USA, Simone Campanoni Northwestern University, USA, David I. August Princeton University, USA DOI Pre-print Media Attached |