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 条
  • [41] 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
    ACM SIGPLAN NOTICES, 2009, 44 (04) : 291 - 292
  • [42] Context-oriented Software Transactional Memory in Common Lisp
    Costanza, Pascal
    Herzeel, Charlotte
    D'Hondt, Theo
    ACM SIGPLAN NOTICES, 2009, 44 (12) : 59 - 68
  • [43] Memory Policy Analysis for Semantics Specifications in Maude
    Riesco, Adrian
    Asavoae, Irina Mariuca
    Asavoae, Mihail
    LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION (LOPSTR 2015), 2015, 9527 : 293 - 310
  • [44] The Representation of Orientation Semantics in Visual Sensory Memory
    Hu, Jingjing
    Zheng, Xutao
    Xu, Haokui
    BEHAVIORAL SCIENCES, 2025, 15 (01)
  • [45] Automatic data layout for distributed-memory machines
    Kennedy, K
    Kremer, U
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1998, 20 (04): : 869 - 916
  • [46] A New Voting-based Mutual Exclusion Algorithm for Distributed Systems
    Kanrar, Sukhendu
    Chattopadhyay, Samiran
    Chaki, Nabendu
    2013 4TH NIRMA UNIVERSITY INTERNATIONAL CONFERENCE ON ENGINEERING (NUICONE 2013), 2013,
  • [47] A queuing model-based approach for the analysis of transactional memory systems
    Yu, Xiao
    He, Zhengyu
    Hong, Bo
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2013, 25 (06): : 808 - 825
  • [48] Enhancing scalability in best-effort hardware transactional memory systems
    Quislant, Ricardo
    Gutierrez, Eladio
    Zapata, Emilio L.
    Plata, Oscar
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2017, 104 : 73 - 87
  • [49] Exploiting Semantics of Virtual Memory to Improve the Efficiency of the On-Chip Memory System
    Li, Bin
    Fang, Zhen
    Zhao, Li
    Jiang, Xiaowei
    Li, Lin
    Herdrich, Andrew
    Iyer, Ravishankar
    Makineni, Srihari
    EURO-PAR 2012 PARALLEL PROCESSING, 2012, 7484 : 232 - 245
  • [50] Invited Paper: The Inherent Complexity of Transactional Memory and What to Do about It
    Attiya, Hagit
    DISTRIBUTED COMPUTING AND NETWORKING, 2011, 6522 : 1 - 11