/savina

Savina is an Actor Benchmark Suite.

Primary LanguageScalaMIT LicenseMIT

This Fork

This is a fork of the original Savina Benchmark suite (see below). This fork extends the benchmark runner by a CLI option (-workers) for specifying the precise number of workers for processing the benchmark workload.

Savina

Savina is an Actor Benchmark Suite.

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

Requirements

  • Optional
    • Java + Scala + Maven
    • CAF

Compile Benchmarks

  • Java/Scala benchmarks

      cd savina
      mvn compile
      mvn package
    
  • CAF benchmarks

      cd savina
      mkdir build
      cd build
      cmake [-DCAF_ROOT_DIR=/path/to/caf/build/directory] ..
      make
    

Run Benchmarks

  • Java/Scala

      cd savina/target
      java -cp savina-0.0.1-SNAPSHOT-jar-with-dependencies.jar edu/rice/habanero/benchmarks/pingpong/PingPongAkkaActorBenchmark [--iterations=X] [--no_evaluation] -- [benchmark specific options]
    
  • CAF

      cd build/bin
      ./caf_01_pingpong [--iterations=X] [--no_evaluation] -- [benchmark specific options]