LibTM and SynQuake

 
 

libTM is a highly-customizable implementation of a Software Transactional Memory (STM). Some of its main features are:

  1. Bullet Four methods of conflict detection (conflict detection methods determine when locks are to be acquired for any shared data during a transaction):


  1. 1.    Fully Pessimistic: both read and write locks are acquired at access time.

  2. 2.    Partially Read-optimistic: write locks are acquired on access, readers wait if a writer exists, otherwise readers proceed optimistically without locks.

  3. 3.    Read-optimistic: write locks are acquired on access, readers always proceed optimistically without locks.

  4. 4.    Fully Optimistic: write locks are acquired at commit time, readers always proceed optimistically without locks.


  1. Bullet Two methods of conflict resolution: wait-for-readers and abort-readers


  1. Bullet Dynamic variable-granularity conflict tracking

LibTM

SynQuake is a game benchmark that extracts the main data structures and the essential features of the popular game Quake. The download package consists of a transactionalized game server code (TM library not included) and a synthetic workload generator that flexibly emulates client game actions and various hot-spot scenarios in the game world.

Please cite publication [1] if you use this benchmark.

SynQuake



Members





Burcea Mihai

Sina Meraji

Prof. Amza



Past  Members





Daniel Lupei

Bogdan Simion

Cedomir Segulja

Adam Czajkowski

Don Pinto

Matthew Misler

William Krick



 

Download

The current releases for SynQuake. Please download it using the following link.

SynQuake-Benchmark

This code has been tested on Debian Linux kernel 2.6.24 and gcc version 4.2.4.

SynQuake 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 the by authors of publication [1].


  1. [1] Transactional memory support for scalable and transparent parallelization of multiplayer games
    Daniel Lupei, Bogdan Simion, Don Pinto, Matthew Misler, Mihai Burcea, William Krick and Cristiana Amza
    EuroSys '10: Proceedings of the 5th European conference on Computer systems.
    [Paper link]

  2. [2] Towards Scalable and Transparent Parallelization of Multiplayer Games using Transactional Memory Support
    Daniel Lupei, Bogdan Simion, Don Pinto, Matthew Misler, Mihai Burcea, William Krick and Cristiana Amza
    PPoPP '10 Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (poster)
    [Paper link]

  3. [3] Automatic Adaptation of Transactional Memory State Management to Application Conflict Patterns
    Daniel Lupei, Adam Czajkowski, Cedomir Segulja, Michael Stumm and Cristiana Amza
    Interact '09: 13th Workshop on Interaction between Compilers and Computer Architectures 2009 (held in conjunction with HPCA 2009)

  4. [4] MASc Thesis, Daniel Lupei.

  5. [5] MS Thesis, Bogdan Simion.

Publications