What is STAMP?
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)
Please cite  if you use STAMP.
For each application, the suite includes sequential code in C and parallel code that uses coarse-grain transactions. Each application's README also describes an input data set suitable for TM simulators and an input data set suitable for TM systems onreal machines. Two of the applications, kmeans and vacation, also have descriptions for inputs with low contention and inputs with high contention.
We provide transactional code for both HTM and STM systems and provide an STM system based on TL2 .The STAMP applications first appeared in  and a detailed characterization is contained in .
We are currently working on additional STAMP applications and welcome your feedback, corrections, and suggestions. If you make some improvements to STAMP, we would appreciate receiving a copy that we can include in the next release.
Contact UsEmail us at firstname.lastname@example.org.
PlatformsSTAMP and TL2-x86 have been tested on Ubuntu 6, Ubuntu 7, Fedora Core 5, Fedora Core 6, CentOS 4, and CentOS 5, on both 32-bit i386 and 64-bit x86_64 architectures.
STAMP and TL2-x86 are maintained by:
- Chi Cao Minh
The following people have contributed to STAMP:
- TCC Group: Woongki Baek, Nathan Grasso Bronson, Austen McDonald, Chi Cao Minh, Jared Casper, Brian D. Carlstrom, Jae Woong Chung, Christos Kozyrakis, Kunle Olukotun, Martin Trautmann
- bayes/sort: Michael Ringgaard
- kmeans: Wei-keng Liao, Brendan McCane, Jay Pisharath
- lib/avltree: Julienne Walker
- lib/mt19937ar: Makoto Matsumoto, Takuji Nishimura
- lib/rbtree: Dave Dice, Ori Shalev, Nir Shavit
- ssca2: David A. Bader, Kamesh Madduri
TL2-x86 was created by Chi Cao Minh. TL2-x86 is derived from TL2, which was created by Dave Dice, Ori Shalev, and Nir Shavit.
The current releases for STAMP and TL2-x86.
STAMP 0.9.10 8 Sept 2008 (62 MB)
- Fixed score calculation for reverse operation
- Workaround for crash during clean up phase on 64-bit
- Fixing type for global_i in normal.c
- Fixing type identifiers for constants (64-bit compatibility)
- Adding missed annotation for heap_remove
- Bug fixes:
TL2-x86 0.9.6 8 Sept 2008 (32 KB)
- Disabling local write barriers (STM_LOCAL_WRITE_*) in stm.h
STAMP is distributed with a BSD license, and is provided as is without any guarantees of any kind. Unless otherwise noted in the source files, the copyright is held by Stanford University.
TL2-x86 is distributed with a BSD license, and is provided as is without any guarantees of any kind. The copyright is held by Sun Microsystems, Inc.
STAMP is based on work supported by the National Science Foundation under Grant No. 0444470.
STAMP: Stanford Transactional Applications for Multi-Processing
Chi Cao Minh, JaeWoong Chung, Christos Kozyrakis, Kunle Olukotun
In IISWC '08: Proceedings of The IEEE International Symposium on Workload Characterization, Sept. 2008.
[Paper PDF] [BibTeX]
An Effective Hybrid Transactional Memory System with Strong
Chi Cao Minh, Martin Trautmann, JaeWoong Chung, Austen McDonald, Nathan Bronson, Jared Casper, Christos Kozyrakis, Kunle Olukotun
Proceedings of the 34th Annual International Symposium on Computer Architecture, San Diego, California, 9-13 June 2007.
[Paper PDF] [BibTeX]
Transactional Locking II
Dave Dice, Ori Shalev, Nir Shavit
Proceedings of the 20th International Symposium on Distributed Computing (DISC), Stockholm, Sweeden, Sept. 2006.