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 条
  • [21] Towards formally specifying and verifying transactional memory
    Doherty, Simon
    Groves, Lindsay
    Luchangco, Victor
    Moir, Mark
    FORMAL ASPECTS OF COMPUTING, 2013, 25 (05) : 769 - 799
  • [22] Software Transactional Memory for Multicore Embedded Systems
    Mankin, Jennifer
    Kaeli, David
    Ardini, John
    ACM SIGPLAN NOTICES, 2009, 44 (07) : 90 - 98
  • [23] Software Transactional Memory for Multicore Embedded Systems
    Mankin, Jennifer
    Kaeli, David
    Ardini, John
    LCTES'09: PROCEEDINGS OF THE 2009 ACM SIGPLAN/SIGBED CONFERENCE ON LANGUAGES, COMPILERS, AND TOOLS FOR EMBEDDED SYSTEMS, 2009, : 90 - 98
  • [24] 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
  • [25] Verifying mutual exclusion and liveness properties with split preconditions
    Singh, AK
    Bandyopadhyay, AK
    JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 2004, 19 (06) : 795 - 802
  • [26] An improved lower bound for the time complexity of mutual exclusion
    Anderson, JH
    Kim, YJ
    DISTRIBUTED COMPUTING, 2002, 15 (04) : 221 - 253
  • [27] Verifying mutual exclusion and liveness properties with split preconditions
    Awadhesh Kumar Singh
    Anup Kumar Bandyopadhyay
    Journal of Computer Science and Technology, 2004, 19 : 795 - 802
  • [28] Compiler and runtime techniques for software transactional memory optimization
    Wu, Peng
    Michael, Maged M.
    von Praun, Christoph
    Nakalke, Takuya
    Bordawekar, Rajesh
    Cain, Harold W.
    Cascaval, Calin
    Chatterjee, Siddhartha
    Chiras, Stefame
    Hou, Rui
    Mergen, Mark
    Shen, Xiaowei
    Spear, Michael F.
    Wang, Hua Yong
    Wang, Kun
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2009, 21 (01): : 7 - 23
  • [29] Scalable Object-Aware Hardware Transactional Memory
    Khan, Behram
    Horsnell, Matthew
    Lujan, Mikel
    Watson, Ian
    EURO-PAR 2010 PARALLEL PROCESSING, PT I, 2010, 6271 : 268 - 279
  • [30] Exploring Garbage Collection with Haswell Hardware Transactional Memory
    Ritson, Carl G.
    Ugawa, Tomoharu
    Jones, Richard E.
    ACM SIGPLAN NOTICES, 2014, 49 (11) : 105 - 115