echo "<h2>Simulation logs</h2>"
echo "<table border=\"1\" cellpadding=\"5\" cellspacing=\"2\" width=\"100%\">"
-echo "<thead><tr><th>Test</th><th>Dedicated<br>core(s)</th><th>Load<br>(%)</th><th>Duration<br>(s)</th></tr></thead>"
+echo "<thead><tr><th>Test</th><th>Mode</th><th>Dedicated<br>core(s)</th><th>Load<br>(%)</th><th>Duration<br>(s)</th></tr></thead>"
echo "<tbody>"
data = 'DATA'
-set title "Test TITLE - Dedicated core(s) (CORE)"
+set title "Test TITLE - MODE - Dedicated core(s) (CORE)"
set xlabel 'load (%)'
set ylabel 'latency (µs)'
set format y "%.1f"
test=$($base/getname.sh "$title")
- for dcore in 0 1 2; do
+ for nmode in 0 1; do
- name=$test-${dcore}k
-
- case "$dcore" in
- 0) core="any core";;
- 1) core="1 core";;
- 2) core="2 cores";;
+ case "$nmode" in
+ 0) mode="thread";;
+ 1) mode="process";;
esac
- awk -F, '$1 == "'"$title"'" && $2 == '$dcore' { $1=$2=""; print }' $csv | sed 's/ //' | sort -n > $name.tab
- if [ -s "$name.tab" ]; then
- cat $base/candles.gp | \
- m4 -D CORE="$core" -D DATA="$name.tab" -D TITLE="$title" | \
- gnuplot > $name.pdf
- else
- rm -f $name.tab
- fi
+ for dcore in 0 1 2; do
+
+ name=$test-${dcore}k-m${nmode}
+
+ case "$dcore" in
+ 0) core="any core";;
+ 1) core="1 core";;
+ 2) core="2 cores";;
+ esac
+
+ awk -F, '$1 == "'"$title"'" && $2 == '$dcore' { $1=$2=""; print }' $csv | sed 's/ //' | sort -n > $name.tab
+ if [ -s "$name.tab" ]; then
+ cat $base/candles.gp | \
+ m4 -D CORE="$core" -D DATA="$name.tab" -D MODE="$mode" -D TITLE="$title" | \
+ gnuplot > $name.pdf
+ else
+ rm -f $name.tab
+ fi
+ done
done
done
done
test=$(echo $tab | awk -F'[.-]' '{ print $1 }')
dcore=$(echo $tab | awk -F'[.-]' '{ print $2 }' | sed 's/k//')
+ nmode=$(echo $tab | awk -F'[.-]' '{ print $3 }' | sed 's/m//')
title=$($base/getname.sh -r $test)
case $dcore in
1) core="1 dedicated core";;
2) core="2 dedicated cores";;
esac
+ case "$nmode" in
+ 0) mode="thread";;
+ 1) mode="process";;
+ esac
- echo "<h2>$title - $core</h2>"
+ echo "<h2>$title - $mode - $core</h2>"
echo "<h3>Statistic summary</h3>"
title=$(awk '/Test:/ { sub(/[^:]*: /, ""); print}' $log)
core=$(awk -F: '/Dedicated core/ { print ($2 == 0) ? "any core" : $2 " core" ($2 > 1 ? "s" : "") }' $log)
load=$(awk '/CPU load/ { print $3 }' $log)
+ mode=$(awk '$2 == "mode" { print $1 }' $log)
output=$(echo $data | sed 's/\.dat/-raw.pdf/')
cat $base/rawmeasures.gp | \
- m4 -D CORE="$core" -D DATA="$data" -D LOAD="$load" -D TITLE="$title" | \
+ m4 -D CORE="$core" -D DATA="$data" -D LOAD="$load" -D MODE="$mode" -D TITLE="$title" | \
gnuplot > $output
output=$(echo $data | sed 's/\.dat/-hist.pdf/')
cat $base/histogram.gp | \
- m4 -D CORE="$core" -D DATA="$data" -D LOAD="$load" -D TITLE="$title" | \
+ m4 -D CORE="$core" -D DATA="$data" -D LOAD="$load" -D MODE="$mode" -D TITLE="$title" | \
gnuplot > $output
done
{ sub (/us$/, "") }
+$2 == "mode" { mode=$1 }
/Dedicated/ { dcore=$3 }
/CPU load/ { load=$3 }
if (start == "") {
start = time
} else {
- print test, dcore, load, eval(time "-" start)
+ print test, mode, dcore, load, eval(time "-" start)
start = ""
}
}
BEGIN {
OFS=","
if (!nohead) {
- print "Test", "Dedicated core(s)", "Load (%)", "Minimum (µs)", "Average (µs)", "Maximum (µs)", "Standard Dev. (µs)", "25th % (µs)", "Median (µs)", "75th % (µs)", "99th % (µs)"
+ print "Test", "Mode", "Dedicated core(s)", "Load (%)", "Minimum (µs)", "Average (µs)", "Maximum (µs)", "Standard Dev. (µs)", "25th % (µs)", "Median (µs)", "75th % (µs)", "99th % (µs)"
}
}
{ sub (/us$/, "") }
+$2 == "mode" { mode=$1 }
/Dedicated/ { dcore=$3 }
/CPU load/ { load=$3 }
/Minimum/ { min=$3 }
/99th/ { p99=$4 }
/Histogram/ {
- print test, dcore, load, min, avg, max, std, p25, med, p75, p99
+ print test, mode, dcore, load, min, avg, max, std, p25, med, p75, p99
}
nbcpu=$(grep -c processor /proc/cpuinfo)
for exe in *.exe; do
test=$(echo $exe | sed 's/\.exe//');
- for core in $(seq 0 2); do
- for cpu in $(seq 0 $nbcpu); do
- load=$(expr $cpu \* 100 / $nbcpu)
- name=${test}-${core}k-${load}%
- [ -f "$name.log" ] && awk -f $base/gettable.awk -v nohead=1 $name.log
+ for mode in 0 1; do
+ for core in $(seq 0 2); do
+ for cpu in $(seq 0 $nbcpu); do
+ load=$(expr $cpu \* 100 / $nbcpu)
+ name=${test}-${core}k-${load}%-m${mode}
+ [ -f "$name.log" ] && [ grep -q OK "$name.log" ] && awk -f $base/gettable.awk -v nohead=1 $name.log
+ done
done
done
done
nb = STATS_records
f(x) = x / 1000.
-set title "Test TITLE - Load LOAD - Dedicated core(s) (CORE)"
+set title "Test TITLE - MODE - Load LOAD - Dedicated core(s) (CORE)"
set xlabel 'latency (µs)'
set ylabel '# of tests (%)'
set format x "%.1f"
stats data nooutput
threshold = ceil ((STATS_mean + 3 * STATS_stddev) / 1000) * 1000
-set title "Test TITLE - Load LOAD - Dedicated core(s) (CORE)"
+set title "Test TITLE - MODE - Load LOAD - Dedicated core(s) (CORE)"
set xlabel '# of test'
set ylabel 'latency (µs)'
set format y "%.1f"
load=$(expr $lcpu \* 100 / $nbcpu)
for exe in *.exe; do
test=$(echo $exe | sed 's/\.exe//')
- name=$test-${dcore}k-${load}%
+ name=$test-${dcore}k-${load}%-m${mode}
echo -e "\033[0;1mTest $test\033[0;0m"
date | tee $name.log
./getinfo.sh | tee -a $name.log