TinySTM  1.0.5


TinySTM is a lightweight but efficient word-based STM implementation. This distribution includes three versions of TinySTM: write-back (updates are buffered until commit time), write-through (updates are directly written to memory), and commit-time locking (locks are only acquired upon commit). The version can be selected by editing the makefile, which documents all the different compilation options.

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 comes with a few test applications, notably a linked list, a skip list, and a red-black tree.


TinySTM requires the atomic_ops library, freely available from http://www.hpl.hp.com/research/linux/atomic_ops/. A stripped-down version of the library is included in the TinySTM distribution. If you wish to use another version, you must set the environment variable LIBAO_HOME to the installation directory of atomic_ops.

If your system does not support GCC thread-local storage, set the variable TLS to TLS_POSIX value into the Makefile.common.

To compile TinySTM libraries, execute make in the main directory. To compile test applications, execute make test.