program registration submissions committee lodging portland

A Flexible Framework for Implementing Software Transactional Memory

A Flexible Framework for Implementing Software Transactional Memory

Research Paper

Wednesday, Oct 25, from 15:30 to 17:00

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 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.

Maurice Herlihy, Brown University
Victor Luchangco, Sun Microsystems Laboratories
Mark Moir, Sun Microsystems Laboratories

Research Papers in the same session
Related Onward! Papers
Related Panels
Related Practitioner Reports
Related Research Papers
Related Tutorials
Related Workshops

While Space Available
program registration submissions committee lodging portland
For comments and questions about the web site
please contact us at
© 2005 OOPSLA