ACM Home Page
Please provide us with feedback. Feedback
Safe open-nested transactions through ownership
Full text PdfPdf (719 KB)
Source
Principles and Practice of Parallel Programming archive
Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming table of contents
Raleigh, NC, USA
SESSION: Atomicity and races table of contents
Pages 151-162  
Year of Publication: 2009
ISBN:978-1-60558-397-6
Also published in ...
Authors
Kunal Agrawal  Massachusetts Institure of Technology, Cambridge, MA, USA
I-Ting Angelina Lee  Massachusetts Institure of Technology, Cambridge, MA, USA
Jim Sukha  Massachusetts Institure of Technology, Cambridge, MA, USA
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 15,   Downloads (12 Months): 102,   Citation Count: 0
Additional Information:

abstract   references   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/1504176.1504200
What is a DOI?

ABSTRACT

Researchers in transactional memory (TM) have proposed open nesting as a methodology for increasing the concurrency of transactional programs. The idea is to ignore ``low-level'' memory operations of an open-nested transaction when detecting conflicts for its parent transaction, and instead perform abstract concurrency control for the ``high-level'' operation that the nested transaction represents. To support this methodology, TM systems use an open-nested commit mechanism that commits all changes performed by an open-nested transaction directly to memory, thereby avoiding low-level conflicts. Unfortunately, because the TM runtime is unaware of the different levels of memory, unconstrained use of open-nested commits can lead to anomalous program behavior.

We describe the framework of ownership-aware transactional memory which incorporates the notion of modules into the TM system and requires that transactions and data be associated with specific transactional modules or Xmodules. We propose a new ownership-aware commit mechanism, a hybrid between an open-nested and closed-nested commit which commits a piece of data differently depending on which Xmodule owns the data. Moreover, we provide a set of precise constraints on interactions and sharing of data among the Xmodules based on familiar notions of abstraction. The ownership-aware commit mechanism and these restrictions on Xmodules allow us to prove that ownership-aware TM has clean memory-level semantics. In particular, it guarantees serializability by modules, an adaptation of the definition of multilevel serializability from database systems. In addition, we describe how a programmer can specify Xmodules and ownership in a Java-like language. Our type system can enforce most of the constraints required by ownership-aware TM statically, and can enforce the remaining constraints dynamically. Finally, we prove that if transactions in the process of aborting obey restrictions on their memory footprint, then ownership-aware TM is free from semantic deadlock.


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
K. Agrawal, I.-T. A. Lee, and J. Sukha. Safe open-nested transactions through ownership (Technical report). Technical report, Laboratory of Computer Science and Artificial Intelligence, Massachusetts Institute of Technology, June 2008. Available at: http://supertech.csail.mit.edu/papers/safe-tech.pdf.
2
3
4
5
6
7
 
8
 
9
J. E. B. Moss. Open nested transactions: Semantics and support. In Proceedings of the Workshop on Memory Performance Issues (WMPI), Austin, Texas, Feb 2006.
 
10
11
12
13

Collaborative Colleagues:
Kunal Agrawal: colleagues
I-Ting Angelina Lee: colleagues
Jim Sukha: colleagues