TinySTM is a lightweight and efficient word-based STM implementation. Its time-based algorithm is derived from LSA and its lock-based design borrows several key elements from other word-based STMs, such as TL2.
TinySTM compiles and runs on 32 or 64-bit architectures. It was tested on various flavors of Unix, on Mac OS X, and on Windows using cygwin. It uses the atomic_ops library to implement atomic operations.
Download latest release (22 Feb 2010):
Older releases:
Support files for STAMP:
TinySTM is licensed under the GNU General Public License, version 2.
We have set up a mailing list for TinySTM users. You can also contact us at tinystm@tinystm.org for questions or to report bugs.
If you use TinySTM, please cite the following paper:
- Pascal Felber, Christof Fetzer, and Torvald Riegel, Dynamic Performance Tuning of Word-Based Software Transactional Memory, Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), 2008, [PDF]