Semantics of Transactional Memory and Automatic Mutual Exclusion

被引:21
|
作者
Abadi, Martin [1 ,4 ]
Birrell, Andrew [2 ]
Harris, Tim [3 ]
Isard, Michael [2 ]
机构
[1] Univ Calif Santa Cruz, Microsoft Res, Santa Cruz, CA 95064 USA
[2] Microsoft Res, Silicon Valley, England
[3] Microsoft Res, Cambridge, England
[4] Coll France, Paris, France
来源
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS | 2011年 / 33卷 / 01期
关键词
Languages; Theory; Atomicity; correctness; LOCKING; MODEL;
D O I
10.1145/1889997.1889999
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software Transactional Memory (STM) is an attractive basis for the development of language features for concurrent programming. However, the semantics of these features can be delicate and problematic. In this article we explore the trade-offs semantic simplicity, the viability of efficient implementation strategies, and the flexibility of language constructs. Specifically, we develop semantics and type systems for the constructs of the Automatic Mutual Exclusion (AME) programming model; our results apply also to other constructs, such as atomic blocks. With this semantics as a point of reference, we study several implementation strategies. We model STM systems that use in-place update, optimistic concurrency, lazy conflict detection, and rollback. These strategies are correct only under nontrivial assumptions that we identify and analyze. One important source of errors is that some efficient implementations create dangerous "zombie" computations where a transaction keeps running after experiencing a conflict; the assumptions confine the effects of these computations.
引用
收藏
页数:50
相关论文
共 50 条
  • [31] Implementation tradeoffs in the design of flexible transactional memory support
    Shriraman, Arrvindh
    Dwarkadas, Sandhya
    Scott, Michael L.
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2010, 70 (10) : 1068 - 1084
  • [32] Debugging Programs that use Atomic Blocks and Transactional Memory
    Zyulkyarov, Ferad
    Harris, Tim
    Unsal, Osman S.
    Cristal, Adrian
    Valero, Mateo
    ACM SIGPLAN NOTICES, 2010, 45 (05) : 57 - 66
  • [33] Automatic Safety Proofs for Asynchronous Memory Operations
    Botincan, Matko
    Dodds, Mike
    Donaldson, Alastair F.
    Parkinson, Matthew J.
    ACM SIGPLAN NOTICES, 2011, 46 (08) : 313 - 314
  • [34] Tight RMR Lower Bounds for Mutual Exclusion and Other Problems
    Attiya, Hagit
    Hendler, Danny
    Woelfel, Philipp
    PODC'08: PROCEEDINGS OF THE 27TH ANNUAL ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING, 2008, : 447 - 447
  • [36] Transactional Memory with Strong Atomicity Using Off-the-Shelf Memory Protection Hardware
    Abadi, Martin
    Harris, Tim
    Mehrara, Mojtaba
    ACM SIGPLAN NOTICES, 2009, 44 (04) : 185 - 195
  • [37] Lazy Irrevocability for Best-Effort Transactional Memory Systems
    Quislant, Ricardo
    Gutierrez, Eladio
    Zapata, Emilio L.
    Plata, Oscar
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2017, 28 (07) : 1919 - 1932
  • [38] Leveraging irrevocability to deal with signature saturation in hardware transactional memory
    Quislant, Ricardo
    Gutierrez, Eladio
    Zapata, Emilio L.
    Plata, Oscar
    JOURNAL OF SUPERCOMPUTING, 2017, 73 (06): : 2525 - 2557
  • [39] NePaLTM: Design and Implementation of Nested Parallelism for Transactional Memory Systems
    Volos, Haris
    Welc, Adam
    Adl-Tabatabai, Ali-Reza
    Shpeisman, Tatiana
    Tian, Xinmin
    Narayanaswamy, Ravi
    ECOOP 2009 - OBJECT-ORIENTED PROGRAMMING, 2009, 5653 : 123 - +
  • [40] Characterizing Transactional Memory Consistency Conditions Using Observational Refinement
    Attiya, Hagit
    Gotsman, Alexey
    Hans, Sandeep
    Rinetzky, Noam
    JOURNAL OF THE ACM, 2018, 65 (01)