LibTM and SynQuake
LibTM and SynQuake
libTM is a highly-customizable implementation of a Software Transactional Memory (STM). Some of its main features are:
Four methods of conflict detection (conflict detection methods determine when locks are to be acquired for any shared data during a transaction):
1. Fully Pessimistic: both read and write locks are acquired at access time.
2. Partially Read-optimistic: write locks are acquired on access, readers wait if a writer exists, otherwise readers proceed optimistically without locks.
3. Read-optimistic: write locks are acquired on access, readers always proceed optimistically without locks.
4. Fully Optimistic: write locks are acquired at commit time, readers always proceed optimistically without locks.
Two methods of conflict resolution: wait-for-readers and abort-readers
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
Past Members
Don Pinto
Matthew Misler
William Krick
Download
The current releases for SynQuake. Please download it using the following link.
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] 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] 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] 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] MASc Thesis, Daniel Lupei.
[5] MS Thesis, Bogdan Simion.
Publications