Software transactional memory

被引:0
|
作者
Nir Shavit
Dan Touitou
机构
[1] School of Mathematical Sciences,
[2] Tel-Aviv University,undefined
[3] Ramat Aviv,undefined
[4] Tel-Aviv 69978,undefined
[5] Israel,undefined
来源
Distributed Computing | 1997年 / 10卷
关键词
Key words: Multiprocessor synchronization; Lock-free; Transactional memory; Distributed shared memory;
D O I
暂无
中图分类号
学科分类号
摘要
 As we learn from the literature, flexibility in choosing synchronization operations greatly simplifies the task of designing highly concurrent programs. Unfortunately, existing hardware is inflexible and is at best on the level of a Load–Linked/Store–Conditional operation on a single word. Building on the hardware based transactional synchronization methodology of Herlihy and Moss, we offer software transactional memory (STM), a novel software method for supporting flexible transactional programming of synchronization operations. STM is non-blocking, and can be implemented on existing machines using only a Load–Linked/Store–Conditional operation. We use STM to provide a general highly concurrent method for translating sequential object implementations to non-blocking ones based on implementing a k-word compare&swap STM-transaction. Empirical evidence collected on simulated multiprocessor architectures shows that our method always outperforms the non-blocking translation methods in the style of Barnes, and outperforms Herlihy’s translation method for sufficiently large numbers of processors. The key to the efficiency of our software-transactional approach is that unlike Barnes style methods, it is not based on a costly “recursive helping” policy.
引用
收藏
页码:99 / 116
页数:17
相关论文
共 50 条
  • [1] Software transactional memory
    Shavit, N
    Touitou, D
    [J]. DISTRIBUTED COMPUTING, 1997, 10 (02) : 99 - 116
  • [2] Preemptive Software Transactional Memory
    Silvestri, Emiliano
    Economo, Simone
    Di Sanzo, Pierangelo
    Pellegrini, Alessandro
    Quaglia, Francesco
    [J]. 2017 17TH IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTER, CLOUD AND GRID COMPUTING (CCGRID), 2017, : 294 - 303
  • [3] Extensible Software Transactional Memory
    Noel, Cyprien
    [J]. PROCEEDINGS OF THE THIRD C* CONFERENCE ON COMPUTER SCIENCE AND SOFTWARE ENGINEERING 2010 (C3S2E '10), 2010, : 23 - 34
  • [4] Adaptive software transactional memory
    Marathe, VJ
    Scherer, WN
    Scott, ML
    [J]. DISTRIBUTED COMPUTING, PROCEEDINGS, 2005, 3724 : 354 - 368
  • [5] Snapshots and software transactional memory
    Cole, C
    Herlihy, M
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2005, 58 (03) : 310 - 324
  • [6] Software Transactional Memory on Relaxed Memory Models
    Guerraoui, Rachid
    Henzinger, Thomas A.
    Singh, Vasu
    [J]. COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2009, 5643 : 321 - 336
  • [7] RobuSTM: A Robust Software Transactional Memory
    Wamhoff, Jons-Tobias
    Riegel, Torvald
    Fetzer, Christof
    Felber, Pascal
    [J]. STABILIZATION, SAFETY, AND SECURITY OF DISTRIBUTED SYSTEMS, 2010, 6366 : 388 - +
  • [8] Investigating Software Transactional Memory on clusters
    Kotselidis, Christos
    Ansari, Mohammad
    Jarvis, Kimberly
    Lujan, Mikel
    Kirkham, Chris
    Watson, Ian
    [J]. 2008 IEEE INTERNATIONAL SYMPOSIUM ON PARALLEL & DISTRIBUTED PROCESSING, VOLS 1-8, 2008, : 2137 - 2142
  • [9] Persistent Software Transactional Memory in Haskell
    Krauter, Nicolas
    Raaf, Patrick
    Braam, Peter
    Salkhordeh, Reza
    Erdweg, Sebastian
    Brinkmann, Andre
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5
  • [10] Transaction Scheduling for Software Transactional Memory
    Popovic, Miroslav
    Kordic, Branislav
    Basicevic, Ilija
    [J]. 2017 2ND IEEE INTERNATIONAL CONFERENCE ON CLOUD COMPUTING AND BIG DATA ANALYSIS (ICCCBDA 2017), 2017, : 191 - 195