Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
stmbench7 [2010/12/10 09:51] transactions [Related publications] |
stmbench7 [2011/08/15 22:09] dragojev [C++ Version] |
||
---|---|---|---|
Line 9: | Line 9: | ||
==== Java Version ==== | ==== Java Version ==== | ||
- | The new Java version (07.03.2008 Beta) of STMBench7 has been | + | The new Java version integrates with the [[velox|VELOX]] stack: the code is parsed successfully using the TMJava precompiler and transactions are instrumented automatically using Deuce. |
- | released. The new features and changes from the previous version | + | |
- | (27.06.2007) are the following: | + | Apache Ant v1.8+ warnings have been fixed in v1.1 and remaining absolute path |
+ | in the build.xml that were causing portability bugs have been fixed. | ||
+ | |||
+ | The former Java version (07.03.2008 Beta) of STMBench7 added the following changes from the previous version | ||
+ | (27.06.2007): | ||
- Added correctness tests (useful for validating whether a given synchronization technique gives correct results): | - Added correctness tests (useful for validating whether a given synchronization technique gives correct results): | ||
* Invariant tests: the implementation checks whether all the invariants of the benchmark data structure are preserved. | * Invariant tests: the implementation checks whether all the invariants of the benchmark data structure are preserved. | ||
* Sequential replay of a concurrent execution: the implementation can replay a concurrent execution sequentially in order to check for violations of the opacity property. | * Sequential replay of a concurrent execution: the implementation can replay a concurrent execution sequentially in order to check for violations of the opacity property. | ||
- | - The new version does no longer use AspectJ: the coarse-grained and medium-grained locking methods are now fully implemented in Java, without adding any additional overhead when they are not used. | + | - Since 07.03.2008 Beta version it does no longer use AspectJ: the coarse-grained and medium-grained locking methods are now fully implemented in Java, without adding any additional overhead when they are not used. |
- The build procedure now uses Apache Ant instead of make. | - The build procedure now uses Apache Ant instead of make. | ||
Line 24: | Line 28: | ||
version of STMBench7. | version of STMBench7. | ||
- | - New version (07.03.2008 Beta) − source code and JAR binary file: [[http://lpd.epfl.ch/kapalka/files/stmbench7-07.03.2008-beta.tgz|stmbench7-07.03.2008-beta.tgz]] | + | - New version (25.02.2011): |
- | - Old version (21.02.2007): | + | * v1.2: [[http://lpd.epfl.ch/gramoli/doc/sw/sb7_java-v1.2.tgz|stmbench7_java-v1.2.tgz]] |
- | * Source code: [[http://lpd.epfl.ch/kapalka/files/stmbench7-21.02.2007.tgz|stmbench7-21.02.2007.tgz]] | + | - Old versions: |
- | * JAR binary file: [[http://lpd.epfl.ch/kapalka/files/stmbench7-21.02.2007.jar|stmbench7-21.02.2007.jar]] | + | * (07.03.2008 beta) source code and JAR binary file: [[http://lpd.epfl.ch/kapalka/files/stmbench7-07.03.2008-beta.tgz|stmbench7-07.03.2008-beta.tgz]] |
- | + | * (21.02.2007) source code: [[http://lpd.epfl.ch/kapalka/files/stmbench7-21.02.2007.tgz|stmbench7-21.02.2007.tgz]] | |
- | The Java version of STMBench7 is created/maintained by | + | * (21.02.2007) JAR binary file: [[http://lpd.epfl.ch/kapalka/files/stmbench7-21.02.2007.jar|stmbench7-21.02.2007.jar]] |
- | [[http://lpd.epfl.ch/kapalka|Michal Kapalka]] | + | |
==== C++ Version ==== | ==== C++ Version ==== | ||
The following files are available for download: | The following files are available for download: | ||
- | * SwissTM, TinySTM and TinySTM STMBench7 source code: {{sb7_tt_20090910.tgz}} | + | * Latest STMBench7-SwissTM code: [[http://lpd.epfl.ch/dragojev/sb7_tt-20110815.tgz|sb7_20110815]]. |
+ | * SwissTM (previous version), TinySTM and TL2 STMBench7 source code: {{sb7_tt_20090910.tgz}} | ||
+ | |||
+ | Striped down version that works with multiple platforms: | ||
+ | * [[http://lpd.epfl.ch/gramoli/doc/sw/sb7_c++-v1.0.tar_.bz2|sb7_c++_20110302]] working with gcc, DTMC, PTLSim-ASF/HyTM/HTM from [[velox|VELOX]]. | ||
Older versions: | Older versions: | ||
Line 49: | Line 56: | ||
==== Related publications ==== | ==== Related publications ==== | ||
+ | |||
+ | Dragojevic A., Felber P., Gramoli V., Guerraoui R. (2011) | ||
+ | [[http://infoscience.epfl.ch/record/144052|Why STM can be more than a Research Toy.]] | ||
+ | //Communications of the ACM (CACM).// | ||
Afek et al. (2010) | Afek et al. (2010) | ||
Line 60: | Line 71: | ||
Guerraoui, R., Kapalka, M. and Vitek, J. (2007) | Guerraoui, R., Kapalka, M. and Vitek, J. (2007) | ||
- | [[http://infoscience.epfl.ch/record/101108|STMBench7: A Benchmark for Software Transactional Memory.]] //EuroSys 2007.// | + | [[http://infoscience.epfl.ch/record/101108|STMBench7: A Benchmark for Software Transactional Memory.]] //EuroSys.// |