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 条
  • [41] Lightweight, Robust Adaptivity for Software Transactional Memory
    Spear, Michael F.
    SPAA '10: PROCEEDINGS OF THE TWENTY-SECOND ANNUAL SYMPOSIUM ON PARALLELISM IN ALGORITHMS AND ARCHITECTURES, 2010, : 273 - 283
  • [42] Characterizing the Energy Consumption of Software Transactional Memory
    Baldassin, Alexandro
    Klein, Felipe
    Araujo, Guido
    Azevedo, Rodolfo
    Centoducatte, Paulo
    IEEE COMPUTER ARCHITECTURE LETTERS, 2009, 8 (02) : 56 - 59
  • [43] Software Transactional Memory Friendly Slot Schedulers
    Aggarwal, Pooja
    Sarangi, Smruti R.
    DISTRIBUTED COMPUTING AND INTERNET TECHNOLOGY, ICDCIT 2014, 2014, 8337 : 79 - 85
  • [44] Proving Isolation Properties for Software Transactional Memory
    Bieniusa, Annette
    Thiemann, Peter
    PROGRAMMING LANGUAGES AND SYSTEMS, 2011, 6602 : 38 - 56
  • [45] Software Transactional Memory for Multicore Embedded Systems
    Mankin, Jennifer
    Kaeli, David
    Ardini, John
    ACM SIGPLAN NOTICES, 2009, 44 (07) : 90 - 98
  • [46] PSTM: Python']Python Software Transactional Memory
    Popovic, Miroslav
    Kordic, Branislav
    2014 22ND TELECOMMUNICATIONS FORUM TELFOR (TELFOR), 2014, : 1106 - 1109
  • [47] Developing Libraries Using Software Transactional Memory
    Dias, Ricardo
    Lourenco, Joao
    Cunha, Goncalo
    COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2008, 5 (02) : 103 - 117
  • [48] Software Transactional Memory for Multicore Embedded Systems
    Mankin, Jennifer
    Kaeli, David
    Ardini, John
    LCTES'09: PROCEEDINGS OF THE 2009 ACM SIGPLAN/SIGBED CONFERENCE ON LANGUAGES, COMPILERS, AND TOOLS FOR EMBEDDED SYSTEMS, 2009, : 90 - 98
  • [49] An Extensible Interpreter Framework for Software Transactional Memory
    Herzeel, Charlotte
    Costanza, Pascal
    D'Hondt, Theo
    JOURNAL OF UNIVERSAL COMPUTER SCIENCE, 2010, 16 (02) : 221 - 245
  • [50] Relaxed Concurrency Control in Software Transactional Memory
    Aydonat, Utku
    Abdelrahman, Tarek S.
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2012, 23 (07) : 1312 - 1325