Transactional Composition of Nonblocking Data Structures

被引:0
|
作者
Cai, Wentao [1 ]
Wen, Haosen [1 ]
Scott, Michael L. [1 ]
机构
[1] Univ Rochester, Comp Sci Dept, Rochester, NY 14627 USA
关键词
nonblocking data structures; transactions; persistent memory;
D O I
10.1145/3558481.3591079
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
This paper introduces nonblocking transaction composition (NBTC), a new methodology for atomic composition of nonblocking operations on concurrent data structures. Unlike previous software transactional memory (STM) approaches, NBTC leverages the linearizability of existing nonblocking structures, reducing the number of memory accesses that must be executed together, atomically, to only one per operation in most cases (these are typically the linearizing instructions of the constituent operations). Our obstruction-free implementation of NBTC, which we call Medley, makes it easy to transform most nonblocking data structures into transactional counterparts while preserving their liveness and high concurrency. In our experiments, Medley outperforms Lock-Free Transactional Transform (LFTT), the fastest prior competing methodology, by 40-170%. The marginal overhead of Medley's transactional composition, relative to separate operations performed in succession, is roughly 2.2x. For persistent data structures, we observe that failure atomicity for transactions can be achieved "almost for free" with epoch-based periodic persistence. Toward that end, we integrate Medley with nbMontage, a general system for periodically persistent data structures. The resulting txMontage provides ACID transactions and achieves throughput up to two orders of magnitude higher than that of the OneFile persistent STM system.
引用
收藏
页码:187 / 197
页数:11
相关论文
共 50 条
  • [1] Transaction safe nonblocking data structures
    Marathe, Virendra J.
    Spear, Michael F.
    Scott, Michael L.
    DISTRIBUTED COMPUTING, PROCEEDINGS, 2007, 4731 : 488 - +
  • [2] Proving the Correctness of Nonblocking Data Structures
    Desnoyers, Mathieu
    COMMUNICATIONS OF THE ACM, 2013, 56 (07) : 62 - 69
  • [3] Wren: Nonblocking Reads in a Partitioned Transactional Causally Consistent Data Store
    Spirovska, Kristina
    Didona, Diego
    Zwaenepoel, Willy
    2018 48TH ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS (DSN), 2018, : 1 - 12
  • [4] Proving the correctness of nonblocking data structures
    Desnoyers, Mathieu
    Queue, 2013, 11 (05):
  • [5] 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
  • [6] 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
  • [7] Nonblocking Persistent Software Transactional Memory
    Beadle, H. Alan
    Cai, Wentao
    Wen, Haosen
    Scott, Michael L.
    2020 IEEE 27TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING, DATA, AND ANALYTICS (HIPC 2020), 2020, : 283 - 293
  • [8] Nonblocking concurrent data structures with condition synchronization
    Scherer III, William N.
    Scott, Michael L.
    Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2004, 3274 : 174 - 187
  • [9] Nonblocking concurrent data structures with condition synchronization
    Scherer, WN
    Scott, ML
    DISTRIBUTED COMPUTING, PROCEEDINGS, 2004, 3274 : 174 - 187
  • [10] Transactional Acceleration of Concurrent Data Structures
    Liu, Yujie
    Zhou, Tingzhe
    Spear, Michael
    SPAA'15: PROCEEDINGS OF THE 27TH ACM SYMPOSIUM ON PARALLELISM IN ALGORITHMS AND ARCHITECTURES, 2015, : 244 - 253