Dresden TM Compiler / TANGER
NOTE: The following describes an old tool, which is now integrated in the newer Dresden TM Compiler (DTMC). You can find further information about it here.
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 the most recent version of Tanger here.
(Old versions: 0.7.0, 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.
