Software transactional memory

被引:225
|
作者
Shavit, N
Touitou, D
机构
[1] School of Mathematical Sciences, Tel-Aviv University, Ramat Aviv
关键词
multiprocessor synchronization; lock-free; transactional memory; distributed shared memory;
D O I
10.1007/s004460050028
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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 Lond-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
页数:18
相关论文
共 50 条
  • [41] A Novel Mechanism for Enhancing Software Transactional Memory
    Mokhtar, Hoda M. O.
    Hussein, Nariman Adel
    PROCEEDINGS OF THE 18TH INTERNATIONAL DATABASE ENGINEERING AND APPLICATIONS SYMPOSIUM (IDEAS14), 2014, : 278 - 283
  • [42] A review of software transactional memory in multicore processors
    Fu, Chen
    Wu, Zhibo
    Wang, Xiaoqun
    Yang, Xiaozong
    Information Technology Journal, 2009, 8 (08) : 1269 - 1274
  • [43] Towards a Formal Account for Software Transactional Memory
    Medic, Doriana
    Mezzina, Claudio Antares
    Phillips, Iain
    Yoshida, Nobuko
    REVERSIBLE COMPUTATION (RC 2020), 2020, 12227 : 255 - 263
  • [44] Practical Parallel Nesting for Software Transactional Memory
    Diegues, Nuno
    Cachopo, Joao
    DISTRIBUTED COMPUTING, 2013, 8205 : 149 - 163
  • [45] Software Transactional Memory for Large Scale Clusters
    Bocchino, Robert L., Jr.
    Adve, Vikram S.
    Chamberlain, Bradford L.
    PPOPP'08: PROCEEDINGS OF THE 2008 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING, 2008, : 247 - 257
  • [46] Concurrency for the Masses: The Paradigm of Software Transactional Memory
    Fatourou, Panagiota
    2017 19TH INTERNATIONAL SYMPOSIUM ON SYMBOLIC AND NUMERIC ALGORITHMS FOR SCIENTIFIC COMPUTING (SYNASC 2017), 2017, : 17 - 22
  • [47] Time-Based Software Transactional Memory
    Felber, Pascal
    Fetzer, Christof
    Marlier, Patrick
    Riegel, Torvald
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2010, 21 (12) : 1793 - 1807
  • [48] A flexible framework for implementing software transactional memory
    Herlihy, Maurice
    Luchangco, Victor
    Moir, Mark
    ACM SIGPLAN NOTICES, 2006, 41 (10) : 253 - 261
  • [49] Transactional memory: The hardware-software interface
    McDonald, Austen
    Carlstrom, Brian D.
    Chung, JaeWoong
    Minh, Chi Cao
    Chafi, Hassan
    Kozyrakis, Christos
    Olukotun, Kunle
    IEEE MICRO, 2007, 27 (01) : 67 - 76
  • [50] AN EFFICIENT MEMORY MANAGEMENT SCHEME IN SOFTWARE TRANSACTIONAL MEMORY SYSTEM
    Huang Guo-rui
    Zhang Ping
    Liu Xiao-xian
    Xiao Jin-ge
    Wei Guang-bo
    DCABES 2009: THE 8TH INTERNATIONAL SYMPOSIUM ON DISTRIBUTED COMPUTING AND APPLICATIONS TO BUSINESS, ENGINEERING AND SCIENCE, PROCEEDINGS, 2009, : 367 - 371