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.
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.
- 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)
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:
Please visit here for more
details on OpenTM.
- 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