ACM Home Page
Please provide us with feedback. Feedback
Open nesting in software transactional memory
Full text PdfPdf (228 KB)
Source
Principles and Practice of Parallel Programming archive
Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming table of contents
San Jose, California, USA
SESSION: Transactional approaches table of contents
Pages: 68 - 78  
Year of Publication: 2007
ISBN:978-1-59593-602-8
Authors
Yang Ni  Intel Corporation, Santa Clara, CA
Vijay S. Menon  Intel Corporation, Santa Clara, CA
Ali-Reza Adl-Tabatabai  Intel Corporation, Santa Clara, CA
Antony L. Hosking  Purdue University, West Lafayette, IN
Richard L. Hudson  Intel Corporation, Santa Clara, CA
J. Eliot B. Moss  University of Massachusetts, Amherst, MA
Bratin Saha  Intel Corporation, Santa Clara, CA
Tatiana Shpeisman  Intel Corporation, Santa Clara, CA
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 25,   Downloads (12 Months): 183,   Citation Count: 17
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/1229428.1229442
What is a DOI?

ABSTRACT

Transactional memory (TM) promises to simplify concurrent programming while providing scalability competitive to fine-grained locking. Language-based constructs allow programmers to denote atomic regions declaratively and to rely on the underlying system to provide transactional guarantees along with concurrency. In contrast with fine-grained locking, TM allows programmers to write simpler programs that are composable and deadlock-free.

TM implementations operate by tracking loads and stores to memory and by detecting concurrent conflicting accesses by different transactions. By automating this process, they greatly reduce the programmer's burden, but they also are forced to be conservative. Incertain cases, conflicting memory accesses may not actually violate the higher-level semantics of a program, and a programmer may wish to allow seemingly conflicting transactions to execute concurrently.

Open nested transactions enable expert programmers to differentiate between physical conflicts, at the level of memory, and logical conflicts that actually violate application semantics. A TMsystem with open nesting can permit physical conflicts that are not logical conflicts, and thus increase concurrency among application threads.

Here we present an implementation of open nested transactions in a Java-based software transactional memory (STM)system. We describe new language constructs to support open nesting in Java, and we discuss new abstract locking mechanisms that a programmer can use to prevent logical conflicts. We demonstrate how these constructs can be mapped efficiently to existing STM data structures. Finally, we evaluate our system on a set of Java applications and data structures, demonstrating how open nesting can enhance application scalability.


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
6
7
8
9
10
11
 
12
J. Eliot B. Moss. Nested transactions: an approach to reliable distributed computing. PhD thesis, Massachusetts Institute of Technology, Cambridge, MA, USA, 1981.
 
13
J. Eliot B. Moss. Open nested transactions: Semantics and support. In WMPI 2005, 2005. Poster presentation.
 
14
J. Eliot B. Moss and Antony L. Hosking. Nested transactional memory: model and preliminary architecture sketches. In OOPSLA Workshop on Synchronization and Concurrency in Object-Oriented Languages (SCOOL), 2005.
 
15
 
16
Nathaniel Nystrom, Michael R. Clarkson, and Andrew C. Myers. Polyglot: an extensible compiler framework for Java. In CC: International Conference on Compiler Construction, Lecture Notes in Computer Science 2622, pages 138--152, April 2003.
17
18
19
20
21
22
 
23
Adam Welc, Suresh Jagannathan, and Antony L. Hosking. Transactional monitors for concurrent objects. In ECOOP 2004: European Conference on Object-Oriented Programming, volume 3086 of Lecture Notes in Computer Science, pages 519--542. Springer-Verlag, 2004.

CITED BY  17

Collaborative Colleagues:
Yang Ni: colleagues
Vijay S. Menon: colleagues
Ali-Reza Adl-Tabatabai: colleagues
Antony L. Hosking: colleagues
Richard L. Hudson: colleagues
J. Eliot B. Moss: colleagues
Bratin Saha: colleagues
Tatiana Shpeisman: colleagues