"docs/vscode:/vscode.git/clone" did not exist on "17f9aed79cd073f4475bd3af1c6f34b681839685"
Commit 37d0705d authored by Antoine Kaufmann's avatar Antoine Kaufmann
Browse files

results: calculate nopaxos results

parent 8af24420
...@@ -3,7 +3,8 @@ all: build/results.tex ...@@ -3,7 +3,8 @@ all: build/results.tex
clean: clean:
rm -rf build rm -rf build
build/results.tex: build/loc_corundum_bm build/loc_corundum_verilator build/results.tex: build/loc_corundum_bm build/loc_corundum_verilator \
build/nopaxos_eval
@echo '%' This is generated with make in the results directory \ @echo '%' This is generated with make in the results directory \
of the ehsim repo >$@ of the ehsim repo >$@
cat $^ >>$@ cat $^ >>$@
...@@ -16,3 +17,7 @@ build/loc_corundum_bm: loccount_corundum_bm.sh ...@@ -16,3 +17,7 @@ build/loc_corundum_bm: loccount_corundum_bm.sh
build/loc_corundum_verilator: loccount_corundum_verilator.sh build/loc_corundum_verilator: loccount_corundum_verilator.sh
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
bash loccount_corundum_verilator.sh >$@ bash loccount_corundum_verilator.sh >$@
build/nopaxos_eval: nopaxos_eval.sh
@mkdir -p $(dir $@)
bash nopaxos_eval.sh >$@
#!/bin/bash
average() {
awk '{s+=$1}END{print (NR?s/NR:"NaN")}'
}
min() {
awk 'BEGIN{x="NaN"}{x=(x=="NaN" || $1<x ? $1 : x)}END{print x}'
}
max() {
awk 'BEGIN{x="NaN"}{x=(x=="NaN" || $1>x ? $1 : x)}END{print x}'
}
exp_durations() {
for e in ../experiments/out/$1/*/
do
[ ! -f $e/endtime ] && continue
start="$(date --date "`head -n 1 $e/starttime`" +%s)"
end="$(date --date "`tail -n 1 $e/endtime`" +%s)"
echo $(($end - $start))
done
}
nopaxos_avglatencies() {
for f in ../experiments/out/$1/*/qemu.c0.log \
../experiments/out/$1/*/gem5.c0.log
do
[ ! -f $f ] && continue
grep "Average latency is" $f | sed 's/.*latency is \([0-9]*\) ns.*/\1/'
done
}
#!/bin/bash
source common-functions.sh
for exp in QemuBm QemuVerilator GemBm GemVerilator
do
case $exp in
QemuBm) dn=qemu-ns3-nopaxos ;;
QemuVerilator) dn=qemu-ns3-nopaxos-verilator ;;
GemBm) dn=gem5-timing-corundum-bm-ns3-nopaxos-nocp ;;
GemVerilator) dn=gem5-timing-corundum-verilator-ns3-nopaxos-nocp ;;
*) echo "bad experiment $exp" 1>&2 ; exit 1 ;;
esac
avg_lat="`nopaxos_avglatencies $dn | average`"
min_lat="`nopaxos_avglatencies $dn | min`"
max_lat="`nopaxos_avglatencies $dn | max`"
avg_dur="`exp_durations $dn | average`"
min_dur="`exp_durations $dn | min`"
max_dur="`exp_durations $dn | max`"
echo "\\newcommand{\\DataNopaxos${exp}AvgLat}{$avg_lat}"
echo "\\newcommand{\\DataNopaxos${exp}MinLat}{$min_lat}"
echo "\\newcommand{\\DataNopaxos${exp}MaxLat}{$max_lat}"
echo "\\newcommand{\\DataNopaxos${exp}AvgDur}{$avg_dur}"
echo "\\newcommand{\\DataNopaxos${exp}MinDur}{$min_dur}"
echo "\\newcommand{\\DataNopaxos${exp}MaxDur}{$max_dur}"
done
Markdown is supported
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