People Project Prototypes Software Publications

TCC Software
We have released two software packages to facilitate further research on Transactional Memory (TM) systems:


STAMP is a new benchmark suite designed for Transactional Memory research. It currently consists of eight benchmarks with plans for more.
  • bayes: Bayesian network learning
  • genome: gene sequencing
  • intruder: network intrusion detection
  • kmeans: K-means clustering
  • labyrinth: maze routing
  • ssca2: graph kernels
  • vacation: client/server travel reservation system
  • yada: Delaunay mesh refinement (Ruppert's algorithm)
For each application, STAMP includes sequential code, parallel code that uses coarse-grain transactions, and reference data sets. We provide transactional code of each application for HTM and STM systems and an STM based on Sun's TL2.

Please visit here for more details on STAMP.


OpenTM is a high-level application programming interface (API) that extends OpenMP with memory transactions. The OpenTM environment is derived from GCC and GNU OpenMP (GOMP). It supports hardware, software, and hybrid TM systems and can be extended to support other TM systems. The current release includes the following features:
  • Language extensions to specify transactions and transactional functions
  • A modified GCC compiler that implements transactional code generation
  • Five STAMP applications written in the OpenTM API
  • A fully open-sourced environment including compiler, runtime, STM, and TM applications
Please visit here for more details on OpenTM.