Skip to content

kohler/stamp-mp

Repository files navigation

                    ____    _____      _      __  __   ____
                   / ___|  |_   _|    / \    |  \/  | |  _ \
                   \___ \    | |     / _ \   | |\/| | | |_) |
                    ___) |   | |    / ___ \  | |  | | |  __/
                   |____/    |_|   /_/   \_\ |_|  |_| |_|

            Stanford Transactional Applications for Multi-Processing

                           http://stamp.stanford.edu
               Announce List: stamp-announce@lists.stanford.edu
                  General List: stamp-users@lists.stanford.edu
                 Contact: stamp-users-owner@lists.stanford.edu


Introduction
------------

The Stanford Transactional Applications for Multi-Processors (STAMP) is a
collection of applications well suited for transactional memory research. For
each application, STAMP includes sequential code, parallel code that uses
coarse-grain transactions, and reference data sets. We provide transactional
code STM systems, and provide an STM system based on TL2 [3]. A
characterization of the applications is given in [1] and [2].

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.

If you use STAMP in your work, please cite [1]. Thanks for using STAMP!


Distribution Contents
---------------------

This directory contains the following items:

    AUTHORS ----- A list of people who have contributed to STAMP
    LICENSE ----- BSD-style license; if you use STAMP, please let us know
    README ------ This file
    VERSIONS ---- Revision history
    bayes/ ------ Bayesian network structure learning benchmark  
    common/ ----- Common Makefile variables and rules
    labyrinth/ -- Maze routing benchmark
    lib/ -------- Common libraries (data structures, etc.)
    genome/ ----- Gene sequencing benchmark
    intruder/ --- Network intrusion detectino benchmark
    kmeans/ ----- K-means clustering benchmark
    ssca2/ ------ Graph kernel benchmark
    vacation/ --- Travel reservation system benchmark
    yada/ ------- Delaunay mesh refinement benchmark

Each of the benchmarks contains a README file that has a description of the
program and inputs and instructions for compilation and running. There are
different Makefiles to build different flavors (e.g., sequential, stm, etc.).

To adapt the benchmarks for a particular TM system, change lib/tm*. These files
contain documentation on the purpose and usage of each of the macros.

For general compilation changes (e.g., choice of compiler), edit common/*.


Platforms
---------

STAMP has 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.


References
----------

[1] C. Cao Minh, J. Chung, C. Kozyrakis, and K. Olukotun. STAMP: Stanford 
    Transactional Applications for Multi-processing. In IISWC '08: Proceedings
    of The IEEE International Symposium on Workload Characterization,
    September 2008. 

[2] C. Cao Minh, M. Trautmann, J. Chung, A. McDonald, N. Bronson, J. Casper,
    C. Kozyrakis, and K. Olukotun. An Effective Hybrid Transactional Memory
    System with Strong Isolation Guarantees. In Proceedings of the 34th Annual
    International Symposium on Computer Architecture, 2007.

[2] D. Dice, O. Shalev, and N. Shavit. Transactional Locking II. In
    Proceedings of the 20th International Symposium on Distributed Computing
    (DISC), 2006.

About

STAMP Software Transactional Memory Multiprocess

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published