ACM Home Page
Please provide us with feedback. Feedback
High-level small-step operational semantics for transactions
Full text PdfPdf (287 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 51-62  
Year of Publication: 2008
ISBN:978-1-59593-689-9
Also published in ...
Authors
Katherine F. Moore  University of Washington, Seattle, WA
Dan Grossman  University of Washington, Seattle, WA
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): 22,   Downloads (12 Months): 185,   Citation Count: 16
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.1328448
What is a DOI?

ABSTRACT

Software transactions have received significant attention as a way to simplify shared-memory concurrent programming, but insufficient focus has been given to the precise meaning of software transactions or their interaction with other language features. This work begins to rectify that situation by presenting a family of formal languages that model a wide variety of behaviors for software transactions. These languages abstract away implementation details of transactional memory, providing high-level definitions suitable for programming languages. We use small-step semantics in order to represent explicitly the interleaved execution of threads that is necessary to investigate pertinent issues.

We demonstrate the value of our core approach to modeling transactions by investigating two issues in depth. First, we consider parallel nesting, in which parallelism and transactions can nest arbitrarily. Second, we present multiple models for weak isolation, in which nontransactional code can violate the isolation of a transaction. For both, type-and-effect systems let us soundly and statically restrict what computation can occur inside or outside a transaction. We prove some key language-equivalence theorems to confirm that under sufficient static restrictions, in particular that each mutable memory location is used outside transactions or inside transactions (but not both), no program can determine whether the language implementation uses weak isolation or strong isolation.


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
Eric Allen, David Chase, Joe Hallet, Victor Luchangco, Jan-Willem Maessen, Sukyoung Ryu, Guy L. Steele Jr., and Sam Tobin-Hochstadt. The Fortress language specification, version 1.0beta, 2007. http://research.sun.com/projects/plrg/Publications/fortress1.0beta.pdf.
 
5
6
7
 
8
9
10
11
 
12
Tim Harris. Exceptions and side-effects in atomic blocks. In PODC Workshop on Concurrency and Synchronization in Java Programs, 2004.
13
14
15
16
17
18
 
19
 
20
Aaron Kimball and Dan Grossman. Software transactions meet first-class continuations. In 8th Annual Workshop on Scheme and Functional Programming, 2007.
21
 
22
James R. Larus and Ravi Rajwar. Transactional Memory. Morgan & Claypool Publishers, 2006.
 
23
Ben Liblit. An operational semantics for LogTM. Technical Report 1571, University of Wisconsin-Madison, 2006.
24
 
25
Virendra J. Marathe, William N. Scherer, and Michael L. Scott. Adaptive software transactional memory. In International Symposium on Distributed Computing, 2005.
 
26
Katherine F. Moore and Dan Grossman. High-level small-step operational semantics for transactions (technical companion). Technical report, Univ. of Wash. Dept. of Computer Science & Engineering, 2007. http://www.cs.washington.edu/homes/kfm/atomsfamily proofs.pdf.
27
 
28
 
29
J. Eliot B. Moss and Antony L. Hosking. Nested transactional memory: Model and preliminary architecture sketches. In Synchronization and Concurrency in Object-Oriented Languages (SCOOL), 2005.
30
 
31
Michael L. Scott. Sequential specification of transactional memory semantics. In Workshop on Languages, Compilers, and Hardware Support for Transactional Computing (TRANSACT), 2006.
32
 
33
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.
 
34
Jan Vitek, Suresh Jagannathan, Adam Welc, and Antony L. Hosking. A semantic framework for designer transactions. In European Symposium on Programming, volume 2986 of Lecture Notes in Computer Science, 2004.
35
36

CITED BY  16

Collaborative Colleagues:
Katherine F. Moore: colleagues
Dan Grossman: colleagues