Published September 11, 2019 | Version v1
Other Open

Static Local Coordination Avoidance for Distributed Objects Artifacts

Authors/Creators

  • 1. ING Bank / Centrum Wiskunde & Informatica (CWI)

Contributors

Producer:

  • 1. ING Bank / CWI

Description

Static Local Coordination Avoidance for Distributed Objects Artifacts

http://dx.doi.org/10.5281/zenodo.3405232

Artifacts accompanying: Tim Soethout, Tijs van der Storm, and Jurgen J. Vinju. 2019. Static Local Coordination Avoidance for Distributed Objects. In Proceedings of the 9th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control (AGERE ’19), October 22, 2019, Athens, Greece. ACM, New York, NY, USA, 10 pages. https://doi.org/10.1145/3358499.3361222

This folder contains the experiment data, scripts to reproduce and source code for the Rebel runtime in Scala, and the SIE analysis in Rascal.

  • (Zipped) folder benchmark-results contains all data used for performance evaluation in the paper.
    • Microbenchmarks.Rmd -- R script to analyze the data + accompanying output in HTML and PDF
    • Each folder contains the raw CSV data results and the Java Flight Recorder profile (.jfr) files (openable by JDK Mission Control application)
  • See Reproduce.md for information on how to run the microbenchmarks.
    • rebel-runtime-lib_bench_latest.tar.gz contains a docker image for reproducing results
    • docker-compose-bench.yml contains scripts to run the microbenchmarks
  • (Zipped) folder rebel-runtime-lib contains the Rebel runtime source code, implementing all the LoCA variants.
    • rebel-runtime-lib/bench/src/test/scala/com/ing/rebel/benchmark/vs/loca for the microbenchmark source
    • rebel-runtime-lib/src/main/scala/com/ing/rebel/sync/pathsensitive/AllowCommandDecider.scala for LoCA. StaticCommandDecider is LoCA^S. DynamicPsacCommandDecider is LoCA^D.
  • (Zipped) folder SIE-analysis the Rascal source code used for doing the SIE analyses.

SIE-analysis

The Rascal source code can be run using Eclipse with the Rascal plugin (unstable version: https://update.rascal-mpl.org/unstable/).

This folder contains an Eclipse workspace containing all the modules required to run the Analysis.

  • rebel-core: Rebel DSL core
  • rebel-eclipse: Rebel DSL tooling to use in Eclipse
  • rebel-psac-static: The analysis tool
  • smtlib2: Grammar and tools to output SMTLIB constraints

Run the SIE analysis

In order to run this, you require Eclipse (https://www.eclipse.org/) and Z3 (https://github.com/Z3Prover/z3/wiki). Z3 can be installed on Mac OSX via homebrew (brew cask install z3).

  • Open the Rascal REPL in Eclipse by right clicking on source file: |project://rebel-psac-static/src/psac/IngSpecsRunner.rsc| and selecting Run as > Rascal Application.

  • After loading type/copy: allTpcc(). The tool will run the analysis on all the TPC-C benchmarks Rebel specification.

  • Run and view the Account and Transaction example SIE analysis by entering:

    • import psac::Analysis;
    • getResults(accountLoc)

Unfortunately we can not share the ING Prototype Rebel specifications. The TPC-C examples are found in |project://rebel-psac-static/examples/tpc_c|.

Files

benchmark-results.zip

Files (2.1 GB)

Name Size Download all
md5:4e31926112264155599a8f5982715f7b
1.1 GB Preview Download
md5:4e201ad01a052379f6ca6890935efc1f
2.3 kB Download
md5:d5105ab614ac344c6e73ea061d2045e0
3.0 kB Preview Download
md5:38f1a9f826418ee496c2e8b9a4142676
198.2 kB Preview Download
md5:cf7ccc6308f0f62c585130650496187c
1.0 GB Download
md5:48a7bed762aa8579ac3c4cf85a1ab71a
1.7 kB Preview Download
md5:ebfc3b3053242c60d07791a20236ff49
23.1 MB Preview Download

Additional details

Related works

Is cited by
10.1145/3358499.3361222 (DOI)

References

  • Tim Soethout, Tijs van der Storm, and Jurgen J. Vinju. 2019. Static Local Coordination Avoidance for Distributed Objects. In Proceedings of the 9th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control (AGERE '19), October 22, 2019, Athens, Greece. ACM, New York, NY, USA, 10 pages. https://doi.org/10.1145/3358499.3361222