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 条
  • [21] Software Transactional Distributed Shared Memory
    Dash, Alokika
    Demsky, Brian
    ACM SIGPLAN NOTICES, 2009, 44 (04) : 297 - 298
  • [22] Transaction Scheduling for Software Transactional Memory
    Popovic, Miroslav
    Kordic, Branislav
    Basicevic, Ilija
    2017 2ND IEEE INTERNATIONAL CONFERENCE ON CLOUD COMPUTING AND BIG DATA ANALYSIS (ICCCBDA 2017), 2017, : 191 - 195
  • [23] A Software Transactional Memory Service for Grids
    Moeller, Kim-Thomas
    Mueller, Marc-Florian
    Sonnenfroh, Michael
    Schoettner, Michael
    ALGORITHMS AND ARCHITECTURES FOR PARALLEL PROCESSING, PROCEEDINGS, 2009, 5574 : 67 - 78
  • [24] Open Nesting in Software Transactional Memory
    Ni, Yang
    Menon, Vijay
    Adl-Tabatabai, Ali-Reza
    Hosking, Antony L.
    Hudson, Richard L.
    Moss, J. Eliot B.
    Saha, Bratin
    Shpeisman, Tatiana
    PROCEEDINGS OF THE 2007 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING PPOPP'07, 2007, : 68 - 78
  • [25] Privatization Techniques for Software Transactional Memory
    Spear, Michael F.
    Marathe, Virendra J.
    Dalessandro, Luke
    Scott, Michael L.
    PODC'07: PROCEEDINGS OF THE 26TH ANNUAL ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING, 2007, : 338 - 339
  • [26] Software Transactional Memory for GPU Architectures
    Xu, Yunlong
    Wang, Rui
    Goswami, Nilanjan
    Li, Tao
    Qian, Depei
    IEEE COMPUTER ARCHITECTURE LETTERS, 2014, 13 (01) : 49 - 52
  • [27] Data Independence for Software Transactional Memory
    Koenig, Juergen
    Wehrheim, Heike
    NASA FORMAL METHODS (NFM 2019), 2019, 11460 : 263 - 279
  • [28] Architectural support for software transactional memory
    Saha, Bratin
    Adl-Tabatabai, Ali-Reza
    Jacobson, Quinn
    MICRO-39: PROCEEDINGS OF THE 39TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE, 2006, : 185 - +
  • [29] Thread Affinity in Software Transactional Memory
    Pasqualin, Douglas Pereira
    Diener, Matthias
    Du Bois, Andre Rauber
    Pilla, Mauricio Lima
    2020 19TH INTERNATIONAL SYMPOSIUM ON PARALLEL AND DISTRIBUTED COMPUTING (ISPDC 2020), 2020, : 180 - 187
  • [30] The Cost of Privatization in Software Transactional Memory
    Attiya, Hagit
    Hillel, Eshcar
    IEEE TRANSACTIONS ON COMPUTERS, 2013, 62 (12) : 2531 - 2543