TANGER
Tanger is a tool to support transactions in C and C++ programs. It transforms an application that uses a minimal application-level API consisting of calls to hook functions into an application that contains proper calls to an STM for all accesses in transactional code. You can find a more detailed description in this paper. If you use Tanger in your work, please cite this paper (or the paper that we link to on this page).
You can download version 0.7.0 of Tanger here and here.
(Old versions: 0.6.0, 0.5.1, 0.5.0)
Tanger is licensed under the GNU General Public License, version 2.
There is a mailing list.
You can use Tanger to compile the benchmarks from the STAMP STM benchmark suite. Patches to STAMP including Makefiles and a few changes are available for STAMP version 0.9.6. A more complete package (support files for Tanger, TinySTM, TinySTM++) with STAMP 0.9.10 is available here.
If you are interested in the Tanger versions that support object-based STMs or automatic data partitioning, please contact us directly. If you would like to track development more closely, please ask us for access to our Subversion repository.
We will add more documentation in the near future (hopefully). Contact us under tanger_at_host_tinystm.org if you have questions regarding Tanger itself or licensing.
