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 条
  • [1] Semantics of Transactional Memory and Automatic Mutual Exclusion
    Abadi, Martin
    Birrell, Andrew
    Harris, Tim
    Isard, Michael
    POPL'08: PROCEEDINGS OF THE 35TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2008, : 63 - 74
  • [2] Semantics of transactional memory and automatic mutual exclusion
    Abadi, Martin
    Birrell, Andrew
    Harris, Tim
    Isard, Michael
    ACM SIGPLAN NOTICES, 2008, 43 (01) : 63 - 74
  • [3] SME: A New Software Transactional Memory Based Mutual Exclusion Algorithm for Distributed Systems
    Kanrar, Sukhendu
    COMPUTER INFORMATION SYSTEMS AND INDUSTRIAL MANAGEMENT, CISIM 2018, 2018, 11127 : 354 - 369
  • [4] Towards Transactional Memory Semantics for C plus
    Shpeisman, Tatiana
    Adl-Tabatabai, Ali-Reza
    Geva, Robert
    Ni, Yang
    Welc, Adam
    SPAA'09: PROCEEDINGS OF THE TWENTY-FIRST ANNUAL SYMPOSIUM ON PARALLELISM IN ALGORITHMS AND ARCHITECTURES, 2009, : 49 - 58
  • [5] A Transactional Memory with Automatic Performance Tuning
    Wang, Qingping
    Kulkarni, Sameer
    Cavazos, John
    Spear, Michael
    ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2012, 8 (04)
  • [6] The Semantics of Progress in Lock-Based Transactional Memory
    Guerraoui, Rachid
    Kapalka, Michal
    ACM SIGPLAN NOTICES, 2009, 44 (01) : 404 - 415
  • [7] On the Correctness of Transactional Memory
    Guerraoui, Rachid
    Kapalka, Michal
    PPOPP'08: PROCEEDINGS OF THE 2008 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING, 2008, : 175 - 184
  • [8] Closing the Complexity Gap Between Mutual Exclusion and FCFS Mutual Exclusion
    Danek, Robert
    Golab, Wojciech
    PODC'08: PROCEEDINGS OF THE 27TH ANNUAL ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING, 2008, : 448 - 448
  • [9] Perspectives on Transactional Memory
    Abadi, Martin
    Harris, Tim
    CONCUR 2009 - CONCURRENCY THEORY, PROCEEDINGS, 2009, 5710 : 1 - 14
  • [10] A flexible framework for implementing software transactional memory
    Herlihy, Maurice
    Luchangco, Victor
    Moir, Mark
    ACM SIGPLAN NOTICES, 2006, 41 (10) : 253 - 261