Overview

Software Transactional Memories (or STMs) have been introduced to deal with the complexities of lock programming. STMs allow the programmer to abstract away locks and simply mark the sections of code that should appear to have been run sequentially.

Work on STMs is ongoing and new features are being investigated in every major conference. Our group has looked into relaxing the constraints imposed by STM by allowing the programmer to define groups of variables that will be assigned a consistency model. In particular, this allows the programmer to use knowledge of the program and determine what modifications are tolerable (within, for example, an acceptable error).

We have thus developed RSTM (Relaxed STM), a C/C++ API that allows the programmer to use regular STMs within a C/C++ framework and also relax certain consistency constraints. Our implementation also has an innovative book-keeping strategy to reduce the overhead associated with keeping information at a byte level (to be fully compatible with C).

Papers

This work was presented as a poster in PACT 2007. The poster is available here.