diff --git a/muhq-ma-plots.sh b/muhq-ma-plots.sh index d5d6444eb2ff352bf79b893077c5727752298788..5b143da4f9534ee2a8d6e18fd0d053ae87df5666 100755 --- a/muhq-ma-plots.sh +++ b/muhq-ma-plots.sh @@ -25,10 +25,11 @@ DATA="$(realpath "${DATA}")" LATENCY_DATA="${DATA}/latency" THROUGHPUT_DATA="${DATA}/throughput" -COMMON_EXCLUDE="-ix *lockless*" +COMMON_EXCLUDE="-ix *lockless* *io-notification-waitfd*" PLOT="${SCRIPTDIR}/plot.py ${COMMON_EXCLUDE}" LATENCY_PLOT="${SCRIPTDIR}/plot_tail_latency.py --plot bar-tikz --" +LATENCY_LINE_PLOT="${SCRIPTDIR}/plot_tail_latency.py --plot line" LATENCIES="latencies.2.csv" COMP="0us-100ms-0.5" @@ -51,11 +52,16 @@ plot_throughput() { ${PLOT} -o ma-waitfd.tex -i emper-vanilla '*waitfd*' ${EXCLUDE_COMP} -- "$THROUGHPUT_DATA" ${PLOT} -o ma-waitfd-delay.tex -i emper-vanilla-${COMP} '*waitfd*'-${COMP} -- "$THROUGHPUT_DATA" + ${PLOT} -o ma-completer.tex -i emper-{waitfd,pipe}{,-no-comp} ${EXCLUDE_COMP} -- "$THROUGHPUT_DATA" + + ${PLOT} -o ma-vanilla-stealing.tex -i emper-vanilla emper-waitfd emper-io-stealing ${EXCLUDE_COMP} -- "$THROUGHPUT_DATA" + ${PLOT} -o ma-io-strategies-stealing.tex -i emper-io-stealing-{waitfd,pipe}* emper-{waitfd,pipe} ${EXCLUDE_COMP} -- "$THROUGHPUT_DATA" + ${PLOT} -o ma-stealing.tex -i emper-vanilla '*io-stealing*' ${EXCLUDE_COMP} -- "$THROUGHPUT_DATA" ${PLOT} -o ma-stealing-delay.tex -i emper-{vanilla,*stealing}*-${COMP} -- "$THROUGHPUT_DATA" - ${PLOT} -o ma-notification.tex -i emper-vanilla '*notification*' ${EXCLUDE_COMP} -- "$THROUGHPUT_DATA" - ${PLOT} -o ma-notification-delay.tex -i emper-vanilla-${COMP} '*notification*'-${COMP} -- "$THROUGHPUT_DATA" + ${PLOT} -o ma-notification.tex -i emper-{vanilla,waitfd} '*notification*' ${EXCLUDE_COMP} -- "$THROUGHPUT_DATA" + ${PLOT} -o ma-notification-delay.tex -i emper-{vanilla,waitfd}-${COMP} '*notification*'-${COMP} -- "$THROUGHPUT_DATA" ${PLOT} -o ma-base-strategies.tex -i emper-{vanilla,simple-arch*,pipe,waitfd} ${EXCLUDE_COMP} -- "$THROUGHPUT_DATA" ${PLOT} -o ma-strategies.tex -i emper-vanilla '*pipe*' '*waitfd*' ${EXCLUDE_COMP} -- "$THROUGHPUT_DATA" @@ -75,12 +81,26 @@ plot_throughput() { plot_latency() { echo "generating latency plots ..." ${LATENCY_PLOT} ${LATENCY_DATA}/{emper-vanilla,go,tokio}-200us/$LATENCIES > ma-runtime-latency.tex - ${LATENCY_PLOT} ${LATENCY_DATA}/{emper-vanilla,emper-waitfd,go,tokio}-200us/$LATENCIES > ma-comparision-latency.tex + ${LATENCY_PLOT} ${LATENCY_DATA}/{emper-vanilla,emper-io-notification-waitfree-no-comp,go,tokio}-200us/$LATENCIES > ma-comparision-latency.tex ${LATENCY_PLOT} ${LATENCY_DATA}/emper-{waitfd,pipe,vanilla}-${COMP}/$LATENCIES > ma-strategy-latency.tex ${LATENCY_PLOT} ${LATENCY_DATA}/emper-{pipe*,vanilla}-${COMP}/$LATENCIES > ma-pipe-latency.tex ${LATENCY_PLOT} ${LATENCY_DATA}/emper-{waitfd*,io-notification*,vanilla}-${COMP}/$LATENCIES > ma-waitfd-latency.tex + + ${LATENCY_PLOT} ${LATENCY_DATA}/emper-{waitfd,pipe}{,-no-comp}-${COMP}/$LATENCIES > ma-completer-latency.tex + ${LATENCY_PLOT} ${LATENCY_DATA}/emper-{io-stealing*,pipe,waitfd}-${COMP}/$LATENCIES > ma-stealing-latency.tex + + ${LATENCY_LINE_PLOT} --out ma-runtime-latency.png -- ${LATENCY_DATA}/{emper-vanilla,go,tokio}-200us/$LATENCIES + ${LATENCY_LINE_PLOT} --out ma-comparision-latency.png -- ${LATENCY_DATA}/{emper-vanilla,emper-io-notification-waitfree-no-comp,go,tokio}-200us/$LATENCIES + + ${LATENCY_LINE_PLOT} --out ma-strategy-latency.png -- ${LATENCY_DATA}/emper-{waitfd,pipe,vanilla}-${COMP}/$LATENCIES + + ${LATENCY_LINE_PLOT} --out ma-pipe-latency.png -- ${LATENCY_DATA}/emper-{pipe*,vanilla}-${COMP}/$LATENCIES + ${LATENCY_LINE_PLOT} --out ma-waitfd-latency.png -- ${LATENCY_DATA}/emper-{waitfd*,io-notification*,vanilla}-${COMP}/$LATENCIES + + ${LATENCY_LINE_PLOT} --out ma-completer-latency.png -- ${LATENCY_DATA}/emper-{waitfd,pipe}{,-no-comp}-${COMP}/$LATENCIES + ${LATENCY_LINE_PLOT} --out ma-stealing-latency.png -- ${LATENCY_DATA}/emper-{io-stealing*,pipe,waitfd}-${COMP}/$LATENCIES }