Giter Club home page Giter Club logo

stamp-rtm's Introduction

This folder contains benchmark tests for transactional memory implementation. It has been modified to utilize Intel TSX RTM (restricted transactional memory) instruction set.

The main changes are in tm.h and rtm.h files. use Makefle.rtm files for each benchmark to build the corresponding binaries.

The original README contents follows.

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

        Stanford Transactional Applications for Multi-Processing

                       http://stamp.stanford.edu
           Announce List: [email protected]
              General List: [email protected]
             Contact: [email protected]

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 for both HTM and 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.

stamp-rtm's People

Watchers

James Cloos avatar Mohammad A Qayum avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.