-
Notifications
You must be signed in to change notification settings - Fork 0
Running JWormBenchApp
The JWormBenchApp application is deployed in jwormApp.jar located in dist folder, which depends on other configuration files and libraries located in config and lib folders respectively:
- config – contains the configuration files for worms, world and operations.
- lib - the following libraries are fundamental to run JWormBenchApp application: aopalliance.jar, guice-2.0.jar and jwormbench.jar. Inside lib folder you can also find other libraries related to synchronization strategies already suported by JWormBenchApp (e.g. jvstm.jar, deuceAgent-1.3.0.jar,etc). To run JWormBenchApp with one of those synchronization strategies you must also include the corresponding library in the Java CLASSPATH.
Before running JWormBenchApp you must configure the Java CLASSPATH to include the essential libraries contained in lib folder. You can configure the CLASSPATH and run JWormBenchApp with its default parameterization as following (in this case no synchronization is provided between concurrent worm operations):
export CLASSPATH=.:lib/guice-2.0.jar:lib/aopalliance.jar:lib/jwormbench.jar:dist/jwormApp.jar
java jwormbench.app.ConsoleApp
If you choose a synchronization strategy then you should also provide the corresponding library in the Java CLASSPATH. For instance if you run JWormBenchApp with -sync jvstm
argument then it will require the jvstm.jar. The following example shows the use of JWormBenchApp with JVSTM:
export CLASSPATH=.:lib/guice-2.0.jar:lib/aopalliance.jar:lib/jwormbench.jar:dist/jwormApp.jar:lib/jvstm.jar
java jwormbench.app.ConsoleApp -sync jvstm
If you run JWormBenchApp with Deuce then you must instrument the jwormbench.jar library as described in Deuce Documentation. We already provide an instrumented version of jwormbench.jar for each version of Deuce framework. The following example shows how do you configure and run JWormBenchApp with our optimized version of Deuce framework and TL2 STM:
export CLASSPATH=.:lib/guice-2.0.jar:lib/aopalliance.jar:lib/jwormbench-deuce-opt.jar:dist/jwormApp.jar:lib/deuceAgent-1.3.0.jar
java jwormbench.app.ConsoleApp -sync deuce
It may looks strange that we use a jwormbench.jar with a distinct suffix of deuceAgent-.jar.