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:41] transactions [The STMBench7 Benchmark] |
stmbench7 [2011/02/18 16:17] transactions [Java 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: | + | |
+ | 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 26: | ||
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 (18.02.2011): |
- | - Old version (21.02.2007): | + | * v1.1: [[http://lpd.epfl.ch/gramoli/doc/sw/sb7_java-v1.1|stmbench7_java-v1.0.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 ==== | ||
Line 46: | Line 47: | ||
The C++ version of STMBench7 is created/maintained by Aleksandar | The C++ version of STMBench7 is created/maintained by Aleksandar | ||
Dragojevic. | Dragojevic. | ||
+ | |||
+ | |||
+ | ==== 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) | ||
+ | [[http://dx.doi.org/10.1109/MM.2010.80|The VELOX Transactional Memory Stack.]] | ||
+ | //IEEE Micro Special Issue - European Multicore Computing. IEEE MICRO 30(5):76-87. // | ||
+ | |||
+ | Dragojevic, A., Guerraoui, R. and Kapalka, M. (2008) | ||
+ | [[http://infoscience.epfl.ch/search?recid=117529|Dividing | ||
+ | Transactional Memories by Zero.]] //3rd ACM SIGPLAN Workshop on | ||
+ | Transactional Computing (Transact 2008).// | ||
+ | |||
+ | Guerraoui, R., Kapalka, M. and Vitek, J. (2007) | ||
+ | [[http://infoscience.epfl.ch/record/101108|STMBench7: A Benchmark for Software Transactional Memory.]] //EuroSys.// | ||
+ | |||
+ | |||
+ |