ACM Home Page
Please provide us with feedback. Feedback
A flexible framework for implementing software transactional memory
Full text PdfPdf (168 KB)
Source ACM SIGPLAN Notices archive
Volume 41 ,  Issue 10  (October 2006) table of contents
Proceedings of the 2006 OOPSLA Conference
SESSION: Concurrency table of contents
Pages: 253 - 262  
Year of Publication: 2006
ISSN:0362-1340
Also published in ...
Authors
Maurice Herlihy  Brown University
Victor Luchangco  Sun Microsystems Laboratories
Mark Moir  Sun Microsystems Laboratories
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 13,   Downloads (12 Months): 174,   Citation Count: 19
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/1167515.1167495
What is a DOI?

ABSTRACT

We describe DSTM2, a Java™ software library that provides a flexible framework for implementing object-based software transactional memory (STM). The library uses transactional factories to transform sequential (unsynchronized) classes into atomic (transactionally synchronized) ones, providing a substantial improvement over the awkward programming interface of our previous DSTM library. Furthermore, researchers can experiment with alternative STM mechanisms by providing their own factories. We demonstrate this flexibility by presenting two factories: one that uses essentially the same mechanisms as the original DSTM (with some enhancements),and another that uses a completely different approach.Because DSTM2 is packaged as a Java library, a wide range of programmers can easily try it out, and the community can begin to gain experience with transactional programming. Furthermore, researchers will be able to use the body of transactional programs that arises from this community experience to test and evaluate different STM mechanisms simply by supplying new transactional factories. We believe that this flexible approach will help to build consensus about the best ways to implement transactions, and will avoid the premature "lock-in" that may arise if STM mechanisms are baked into compilers before such experimentation is done.


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
Apache Software Foundation. Byte-code engineering library. http://jakarta.apache.org/bcel/manual.html.
 
5
Keir Fraser and Tim Harris. Concurrent programming without locks. Submitted for publication.
 
6
Rachid Guerraoui, Maurice Herlihy, and Bastian Pochon. Polymorphic contention management in SXM. In Proceedings of the 19th International Conference on Distributed Computing, September 2005.
7
8
9
 
10
Maurice Herlihy. http://www.cs.brown.edu/~mph/.
 
11
12
13
 
14
W. N. Scherer III and M. L. Scott. Contention management in dynamic software transactional memory. In PODC Workshop on Concurrency and Synchronization in Java Programs, July 2004.
15
16
 
17
Virendra Marathe, William Scherer, and Michael Scott. Adaptive software transactional memory. In Proceedings of the 19th International Conference on Distributed Computing, September 2005.
18
 
19
Kevin E. Moore, Jayaram Bobba, Michelle J. Moravan, Mark D. Hill, and David A. Wood. LogTM: Log-based transactional memory. In Proc. 12th Annual International Symposium on High Performance Computer Architecture, 2006.
 
20
Kevin E. Moore, Mark D. Hill, and David A. Wood. Thread-level transactional memory. Technical Report CS-TR-2005-1524, Dept. of Computer Sciences University of Wisconsin, March 2005.
 
21
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, October 2005.
22
23
 
24
N. Shavit and D. Touitou. Software transactional memory. Distributed Computing, Special Issue(10):99--116, 1997.
 
25
Sun Microsystems Laboratories. Scalable synchronization research group. http://research.sun.com/scalable.
 
26
Adam Welc, Suresh Jagannathan, and Antony L. Hosking. Transactional monitors for concurrent objects. In Proceedings of the 18th European Conference on Object-Oriented Programming, pages 519--542, June 2004.

CITED BY  19

Collaborative Colleagues:
Maurice Herlihy: colleagues
Victor Luchangco: colleagues
Mark Moir: colleagues