Static Local Coordination Avoidance for Distributed Objects Artifacts
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-resultscontains 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.mdfor information on how to run the microbenchmarks.rebel-runtime-lib_bench_latest.tar.gzcontains a docker image for reproducing resultsdocker-compose-bench.ymlcontains scripts to run the microbenchmarks
- (Zipped) folder
rebel-runtime-libcontains the Rebel runtime source code, implementing all the LoCA variants.rebel-runtime-lib/bench/src/test/scala/com/ing/rebel/benchmark/vs/locafor the microbenchmark sourcerebel-runtime-lib/src/main/scala/com/ing/rebel/sync/pathsensitive/AllowCommandDecider.scalafor LoCA.StaticCommandDecideris LoCA^S.DynamicPsacCommandDecideris LoCA^D.
- (Zipped) folder
SIE-analysisthe 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