ACM Home Page
Please provide us with feedback. Feedback
Semantics of transactional memory and automatic mutual exclusion
Full text PdfPdf (240 KB)
Source
Annual Symposium on Principles of Programming Languages archive
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
San Francisco, California, USA
SESSION: Session 2 table of contents
Pages 63-74  
Year of Publication: 2008
ISBN:978-1-59593-689-9
Also published in ...
Authors
Martín Abadi  Microsoft Research, Silicon Valley
Andrew Birrell  Microsoft Research, Silicon Valley
Tim Harris  Microsoft Research, Cambridge, United Kingdom
Michael Isard  Microsoft Research, Silicon Valley
Sponsors
ACM: Association for Computing Machinery
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 16,   Downloads (12 Months): 209,   Citation Count: 18
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1328438.1328449
What is a DOI?

ABSTRACT

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 paper we explore the tradeoffs between semantic simplicity, the viability of efficient implementation strategies, and the flexibilityof 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 roll-back. These strategies are correct only under non-trivial 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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
3
 
4
 
5
Eric Allen, David Chase, Joe Hallett, Victor Luchangco, Jan-Willem Maessen, Sukyoung Ryu, Guy LSteele Jr., and Sam Tobin-Hochstadt. The Fortress language specification, v1.0β. Technical report, 2007.
 
6
Colin Blundell, E. Christopher Lewis, and Milo M. K. Martin. Deconstructing transactional semantics: The subtleties of atomicity. In Proc. 2005 Workshop on Duplicating, Deconstructing and Debunking, 2005.
7
 
8
David Dice, Ori Shalev, and Nir Shavit. Transactional locking II. In Proc. of the 20th International Symposium on Distributed Computing (DISC 2006), pages 194--208, 2006.
9
10
11
12
13
 
14
 
15
 
16
Bradley C. Kuszmaul and Charles E. Leiserson. Transactions everywhere. Technical report, 2003. http://hdl.handle.net/1721.1/3692.
 
17
Ben Liblit. An operational semantics for LogTM. Technical Report 1571, U. Wisconsin-Madison, 2006. Version 1.0.
 
18
19
20
 
21
Kevin E. Moore, Jayaram Bobba, Michelle J. Moravan, Mark D. Hill, and David A. Wood. LogTM: Log--based transactional memory. In Proc. 12th International Symposium on High-Performance Computer Architecture, pages 254--265. 2006.
22
23
 
24
Michael L. Scott. Sequential specification of transactional memory semantics. In Proc. 1st ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing. 2006.
25
26
 
27
Michael F. Spear, Virendra J. Marathe, Luke Dalessandro, and Michael L. Scott. Privatization techniques for software transactional memory. Technical Report #915, Computer Science Department, University of Rochester, 2007.
 
28
Nicholas Sterling. Warlock: A static data race analysis tool. In Proc. USENIX Winter Technical Conference, 1993.
29

CITED BY  18

Collaborative Colleagues:
Martín Abadi: colleagues
Andrew Birrell: colleagues
Tim Harris: colleagues
Michael Isard: colleagues