Nonblocking Persistent Software Transactional Memory

被引:1
|
作者
Beadle, H. Alan [1 ]
Cai, Wentao [1 ]
Wen, Haosen [1 ]
Scott, Michael L. [1 ]
机构
[1] Univ Rochester, Dept Comp Sci, Rochester, NY 14627 USA
关键词
transactional memory; non-volatile memory; lock-free algorithm; PHASE-CHANGE MEMORY; NONVOLATILE;
D O I
10.1109/HiPC50609.2020.00042
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Newly emerging nonvolatile alternatives to DRAM raise the possibility that applications might compute directly on long-lived data, rather than serializing them to and from a file system or database. To ensure crash consistency, such data must, like a file system or database, provide failure-atomic transactional semantics. Several persistent software transactional memory (STM) systems have been devised to provide these semantics, but only one-the OneFile system of Ramalhete et al.-is nonblocking. Nonblocking progress is desirable to avoid both performance anomalies due to process preemption or failures and deadlock due to priority inversion. Unfortunately, OneFile achieves nonblocking progress at the cost of 2 x space overhead, sacrificing much of the cost and density benefit of nonvolatile memory relative to DRAM. OneFile also requires extensive and intrusive changes to data declarations, and works only on a machine with double-width compare-and-swap (CAS) or load-linked/store-conditional (LL/SC) instructions. To address these limitations, we introduce QSTM, a non-blocking persistent STM that requires neither the modification of target data structures nor the availability of a wide CAS instruction. We describe our system, give arguments for safety and liveness, and compare performance to that of the Mnemosyne and OneFile persistent STM systems. We argue that modest performance costs (within a factor of 2 of OneFile in almost all cases) are easily justified by dramatically lower space overhead and higher programmer convenience.
引用
收藏
页码:283 / 293
页数:11
相关论文
共 50 条
  • [1] Nonblocking Persistent Software Transactional Memory
    Beadle, H. Alan
    Cai, Wentao
    Wen, Haosen
    Scott, Michael L.
    PROCEEDINGS OF THE 25TH ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING (PPOPP '20), 2020, : 429 - 430
  • [2] Efficient Nonblocking Software Transactional Memory
    Marathe, Virendra J.
    Moir, Mark
    PROCEEDINGS OF THE 2007 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING PPOPP'07, 2007, : 136 - 137
  • [3] Toward High Performance Nonblocking Software Transactional Memory
    Marathe, Virendra J.
    Moir, Mark
    PPOPP'08: PROCEEDINGS OF THE 2008 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING, 2008, : 227 - 236
  • [4] Persistent Software Transactional Memory in Haskell
    Krauter, Nicolas
    Raaf, Patrick
    Braam, Peter
    Salkhordeh, Reza
    Erdweg, Sebastian
    Brinkmann, Andre
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5
  • [5] Persistent Transactional Memory
    Wang, Zhaoguo
    Yi, Han
    Liu, Ran
    Dong, Mingkai
    Chen, Haibo
    IEEE COMPUTER ARCHITECTURE LETTERS, 2015, 14 (01) : 58 - 61
  • [6] NZTM: Nonblocking Zero-indirection Transactional Memory
    Tabba, Fuad
    Moir, Mark
    Goodman, James R.
    Hay, Andrew W.
    Wang, Cong
    SPAA'09: PROCEEDINGS OF THE TWENTY-FIRST ANNUAL SYMPOSIUM ON PARALLELISM IN ALGORITHMS AND ARCHITECTURES, 2009, : 204 - 213
  • [7] Software transactional memory
    Shavit, N
    Touitou, D
    DISTRIBUTED COMPUTING, 1997, 10 (02) : 99 - 116
  • [8] Software transactional memory
    Nir Shavit
    Dan Touitou
    Distributed Computing, 1997, 10 : 99 - 116
  • [9] Defining and Verifying Durable Opacity: Correctness for Persistent Software Transactional Memory
    Bila, Eleni
    Doherty, Simon
    Dongol, Brijesh
    Derrick, John
    Schellhorn, Gerhard
    Wehrheim, Heike
    FORMAL TECHNIQUES FOR DISTRIBUTED OBJECTS, COMPONENTS, AND SYSTEMS, FORTE 2020, 2020, 12136 : 39 - 58
  • [10] Software transactional memory
    Tel-Aviv Univ, Tel-Aviv, Israel
    Distrib Comput, 2 (99-116):