Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
stmbench7 [2010/11/10 10:50]
transactions created
stmbench7 [2015/12/17 18:02]
chatzopoulos
Line 6: Line 6:
 implementation (in Java and C++) contains a lock-based synchronization implementation (in Java and C++) contains a lock-based synchronization
 strategy that can serve as a baseline for comparison with various TMs. strategy that can serve as a baseline for comparison with various TMs.
-The following paper describes STMBench7 in more detail: 
- 
-Guerraoui, R., Kapalka, M. and Vitek, J. (2007) ​ 
-[[http://​infoscience.epfl.ch/​search?​recid=101108|STMBench7:​ A Benchmark for Software Transactional Memory.]] ​ 
-//​Proceedings of the Second European Systems Conference EuroSys 2007.// 
- 
-The following paper describes our recent experiments with the 
-benchmark using various available STM implementations:​ 
- 
-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).// 
- 
-**Important note:** The benchmark is still a work in progress. The code and the specification may still undergo many, maybe significant,​ changes that should reflect the feedback we will get. 
- 
-Any suggestions,​ comments or criticism are more than welcome and 
-should be send to [[http://​lpd.epfl.ch/​kapalka|Michal Kapalka]]. 
  
 ==== 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 41: 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: {{:​sb7_tt-20110815.tar.gz|sb7-20110815}}. 
 +  ​* SwissTM ​(previous version), TinySTM and TL2 STMBench7 source code: {{sb7_tt_20090910.tgz}} 
 + 
 +Stripped 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 63: Line 53:
 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.//​
 +
 +
 +
stmbench7.txt · Last modified: 2015/12/17 18:02 by chatzopoulos
Trace:
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0