Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Savina

Savina is an Actor Benchmark Suite.

Update to scala 3

Preparation

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"
Or

Simply allow sbt to download dependencies from unsafe mirrors.

How to run

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/.

How to modify benchmarks

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.

Important note

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.

Brief Description

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.

Supported actor libraries

About

Savina is an Actor Benchmark Suite (Updated for Scala3).

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages