Commit 6257a944 authored by erwan's avatar erwan
Browse files

Set the ubuntu release explicitly in the docker image otherwise it breaks the CI!

parent f46b2a95
Pipeline #64931 failed with stages
in 21 minutes and 50 seconds
...@@ -13,7 +13,7 @@ before_script: ...@@ -13,7 +13,7 @@ before_script:
# breaks. Also use the sasa4.0.3 branch created for this purpose and # breaks. Also use the sasa4.0.3 branch created for this purpose and
# avoid to break because of API changes (in Algo) # avoid to break because of API changes (in Algo)
expe-sasa.4.0.3: expe-sasa.4.0.3:
image: ocaml/opam2:ubuntu image: ocaml/opam2:ubuntu-18.04
stage: reproduce stage: reproduce
script: script:
- opam depext -y ocamlgraph.1.8.8 camlidl.1.07 mlgmpidl.1.2.12 lutils.1.50.0 rdbg.1.188.4 lustre-v6.6.101.17 lutin.2.71.1 sasa.4.0.3 - opam depext -y ocamlgraph.1.8.8 camlidl.1.07 mlgmpidl.1.2.12 lutils.1.50.0 rdbg.1.188.4 lustre-v6.6.101.17 lutin.2.71.1 sasa.4.0.3
...@@ -27,7 +27,7 @@ expe-sasa.4.0.3: ...@@ -27,7 +27,7 @@ expe-sasa.4.0.3:
# The same experiment using the lastest opam versions # The same experiment using the lastest opam versions
expe-current: expe-current:
image: ocaml/opam2:ubuntu image: ocaml/opam2:ubuntu-18.04
stage: test stage: test
script: script:
- opam depext -y sasa - opam depext -y sasa
...@@ -50,7 +50,7 @@ expe-dockver: ...@@ -50,7 +50,7 @@ expe-dockver:
paths: paths:
- expe/results - expe/results
coloringecj: coloring:
image: jahierwan/verimag-sync-tools image: jahierwan/verimag-sync-tools
stage: reproduce stage: reproduce
script: script:
......
- [Artifact of the article **SASA: a SimulAtor of Self-stabilizing Algorithms** published in TAP 2020](#orgadcb36c) - [Artifact of the article **SASA: a SimulAtor of Self-stabilizing Algorithms** published in TAP 2020](#org8ae01f0)
- [Using The TAP Virtual Machine](#orgfa132c1) - [Using The TAP Virtual Machine](#org06c1764)
- [Using Docker](#org25735c2) - [Using Docker](#orgc68a614)
- [Instructions to generate the data contained in Fig.1 of Section 2](#orga7c708b) - [Instructions to generate the data contained in Fig.1 of Section 2](#orgb862449)
- [Instructions to generate the data contained in Table 1 of Section 4](#org7196c3c) - [Instructions to generate the data contained in Table 1 of Section 4](#org31b988d)
<a id="orgadcb36c"></a> <a id="org8ae01f0"></a>
# Artifact of the article **SASA: a SimulAtor of Self-stabilizing Algorithms** published in TAP 2020 # Artifact of the article **SASA: a SimulAtor of Self-stabilizing Algorithms** published in TAP 2020
The objective of this artifact is to show how to replicate the experiments mentioned in [this article](sasarticle.pdf). The objective of this artifact is to show how to replicate the experiments mentioned in [this article](https://hal-cnrs.archives-ouvertes.fr/hal-02521149).
<https://doi.org/10.5281/zenodo.3751283> <https://doi.org/10.5281/zenodo.3751283>
...@@ -26,7 +26,7 @@ By following the instructions, you should be able to replay the experiments, but ...@@ -26,7 +26,7 @@ By following the instructions, you should be able to replay the experiments, but
- <https://verimag.gricad-pages.univ-grenoble-alpes.fr/synchrone/sasa/> - <https://verimag.gricad-pages.univ-grenoble-alpes.fr/synchrone/sasa/>
<a id="orgfa132c1"></a> <a id="org06c1764"></a>
## Using The TAP Virtual Machine ## Using The TAP Virtual Machine
...@@ -37,7 +37,7 @@ They should be executed under a VM that you should find here: <https://doi.org/1 ...@@ -37,7 +37,7 @@ They should be executed under a VM that you should find here: <https://doi.org/1
cf <https://tap.sosy-lab.org/2020/callforartifacts.php> cf <https://tap.sosy-lab.org/2020/callforartifacts.php>
<a id="org25735c2"></a> <a id="orgc68a614"></a>
## Using Docker ## Using Docker
...@@ -61,7 +61,7 @@ If the last command has run without problem, you are inside a docker image where ...@@ -61,7 +61,7 @@ If the last command has run without problem, you are inside a docker image where
You can thus proceed with the instructions below. You can thus proceed with the instructions below.
<a id="orga7c708b"></a> <a id="orgb862449"></a>
### Instructions to generate the data contained in Fig.1 of Section 2 ### Instructions to generate the data contained in Fig.1 of Section 2
...@@ -90,7 +90,7 @@ Type `<Enter>` 3 more times to see Configurations 4, 5, and 6 of Fig.1. ...@@ -90,7 +90,7 @@ Type `<Enter>` 3 more times to see Configurations 4, 5, and 6 of Fig.1.
Type `q` to exit. Type `q` to exit.
<a id="org7196c3c"></a> <a id="org31b988d"></a>
### Instructions to generate the data contained in Table 1 of Section 4 ### Instructions to generate the data contained in Table 1 of Section 4
...@@ -135,4 +135,4 @@ make save_result ...@@ -135,4 +135,4 @@ make save_result
Some remarks, comparing the results announced in the paper and the ones obtained on your machine: Some remarks, comparing the results announced in the paper and the ones obtained on your machine:
- The number of seconds (time/step) may differ as the table was obtained using an other machine. - The number of seconds (time/step) may differ as the table was obtained using an other machine.
- Some examples may run out of memory on your machine: the dfs algo on `hugeER.dot` and `biggrid.dot`. Indeed, as one can notice in Table 1, those examples require a lot of memory (6.6 and 29 G) that your machine may not have. - Some examples may run out of memory on your machine: the dfs algo on `hugeER.dot` and `biggrid.dot`. Indeed, as one can notice in Table 1, those examples require a lot of memory (6.6 and 29 G) that your machine may not have.
\ No newline at end of file
...@@ -55,7 +55,7 @@ image where: ...@@ -55,7 +55,7 @@ image where:
You can thus proceed with the instructions below. You can thus proceed with the instructions below.
*** Instructions to generate the data contained in Fig.1 of Section 2 ** Instructions to generate the data contained in Fig.1 of Section 2
The implementation of Algorithm 1 (top of Page 3) can be found in The implementation of Algorithm 1 (top of Page 3) can be found in
{{{git(expe/async-unison/p.ml)}}} {{{git(expe/async-unison/p.ml)}}}
...@@ -92,7 +92,7 @@ Type =<Enter>= 3 more times to see Configurations 4, 5, and 6 of Fig.1. ...@@ -92,7 +92,7 @@ Type =<Enter>= 3 more times to see Configurations 4, 5, and 6 of Fig.1.
Type =q= to exit. Type =q= to exit.
*** Instructions to generate the data contained in Table 1 of Section 4 ** Instructions to generate the data contained in Table 1 of Section 4
In order to run the experiments described in Section 4, type in a In order to run the experiments described in Section 4, type in a
terminal, from the {{{git(expe)}}} directory: terminal, from the {{{git(expe)}}} directory:
...@@ -149,3 +149,4 @@ obtained on your machine: ...@@ -149,3 +149,4 @@ obtained on your machine:
1, those examples require a lot of memory (6.6 and 29 G) that your 1, those examples require a lot of memory (6.6 and 29 G) that your
machine may not have. machine may not have.
...@@ -84,9 +84,13 @@ summary: ...@@ -84,9 +84,13 @@ summary:
echo "|-" echo "|-"
echo "| log file | rif file | User time | Maximum resident set size | steps | " echo "| log file | rif file | User time | Maximum resident set size | steps | "
echo "|-" echo "|-"
for f in */*.log; do rif=`dirname $$f`/`basename $$f .log`.rif ;step=`grep step $$rif | tail -1 | cut -d ' ' -f2 | tr -d '\n'`; t=`grep -n "User time" $$f | cut -d ':' -f 3 ` ; mem=`grep -n "Maximum resident set size" $$f | cut -d ':' -f 3` ; echo "| file:$$f | file:$$rif | $$t s | $$mem | $$step | "; done for f in */*.log; do rif=`dirname $$f`/`basename $$f .log`.rif ;step0=`grep \#step $$rif | tail -1 | cut -d ' ' -f2 | tr -d '\n'`; t=`grep -n "User time" $$f | cut -d ':' -f 3 ` ; step=`echo $$step0+1|bc`; mem=`grep -n "Maximum resident set size" $$f | cut -d ':' -f 3` ; echo "| file:$$f | file:$$rif | $$t s | $$mem | $$step | "; done
echo "|-" echo "|-"
summarytex:
for f in */*.log; do lbl0=`dirname $$f``basename $$f .log` ;lbl=`echo $$lbl0|sed -e "s/-//g"`;rif=`dirname $$f`/`basename $$f .log`.rif ;step0=`grep \#step $$rif | tail -1 | cut -d ' ' -f2 | tr -d '\n'`; t=`grep -n "User time" $$f | cut -d ':' -f 3 ` ; step=`echo $$step0+1|bc`; mem=`grep -n "Maximum resident set size" $$f | cut -d ':' -f 3` ; echo "\n\\\newcommand{\\\time$$lbl}[0]{$$t} \n\\\newcommand{\\\memory$$lbl}[0]{$$mem} \n\\\newcommand{\\\stepnb$$lbl}[0]{$$step} "; done
getstep: getstep:
for f in */*.rif; do step=`grep step $$f | tail -1 | cut -d ' ' -f2 ` ; echo "file:$$f: $$step "; done for f in */*.rif; do step=`grep step $$f | tail -1 | cut -d ' ' -f2 ` ; echo "file:$$f: $$step "; done
...@@ -94,12 +98,15 @@ getstep: ...@@ -94,12 +98,15 @@ getstep:
count: count:
ls -1 */*.log | wc ls -1 */*.log | wc
save_result: save_result:
mkdir -p $(DIR) mkdir -p $(DIR)
cp --parent -f */*.log $(DIR) cp --parent -f */*.log $(DIR)
cp --parent -f */*.rif $(DIR) cp --parent -f */*.rif $(DIR)
ls -R $(DIR) ls -R $(DIR)
make -s summary > $(DIR)/summary.org make -s summary > $(DIR)/summary.org
make -s summarytex > $(DIR)/summary.tex
echo "A summary of the experiment can be found in $(DIR)/summary.org" echo "A summary of the experiment can be found in $(DIR)/summary.org"
emacs $(DIR)/summary.org & emacs $(DIR)/summary.org &
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment