Savina is an Actor Benchmark Suite.
In order to run the benchmark habanero-java-lib 0.1.3 is needed. SBT (nor Maven) can automatically download this dependency since it hosted on HTTP (not HTTPS).
The habanero-java-lib can be downloaded manually at: https://www.cs.rice.edu/~vs3/hjlib/code/maven-repo/habanero-java-lib/habanero-java-lib/ and then added to the local maven repository with:
mvn install:install-file -Dfile="path\to\habanero-java-lib-0.1.3.jar" -DgroupId="edu.rice.habanero" -DartifactId="habanero-java-lib" -Dversion="0.1.3" -Dpackaging="jar"Simply allow sbt to download dependencies from unsafe mirrors.
The biggest change from savina is that savina3 uses sbt to compile. This allows a user to start the CLI with ´sbt´ and then list all available benchmarks with ´run´.
There are also two scripts (powershelll and bash) that will run all benchmarks in ´src/main/scala/edu/rice/habanero/benchmarks´ and save the results as files in the folder resultBenchmarks/.
changing the iterations, size and other benchmark parameters is done in the corresponding Java benchmark file. I.e. to change the number of iterations of GuidedSearchAkkaActorBenchmark, navigate to the GuidedSearchConfig.java file and make the required changes.
Easiest way to change general behavior (of for example pekko actors) is by making changes to the PekkoActor.scala file.
Some benchmarks seem to be either very slow or not working correctly. The easiest work around for this is to temporarily remove the affected benchmarks, if using the script files.
Our goal is to provide a standard benchmark suite that enables researchers and application developers to compare different actor implementations and identify those that deliver the best performance for a given use-case. The benchmarks in Savina are diverse, realistic, and represent compute (rather than I/O) intensive applications. They range from popular micro-benchmarks to classical concurrency problems to applications that demonstrate various styles of parallelism. Implementations of the benchmarks on various actor libraries will be made publicly available through this open source release. This will allow other developers and researchers to compare the performance of their actor libraries on these common set of benchmarks.
Please refer to the following paper for further details:
Savina - An Actor Benchmark Suite.
Shams Imam,
Vivek Sarkar.
4th International Workshop on Programming based on Actors, Agents, and Decentralized Control (AGERE! 2014),
October 2014.
- Pekko 1.2.1