Commit b7c381db authored by Florian Fischer's avatar Florian Fischer
Browse files

use variable to specify computation and add pipe and waitfd 200us measurements

parent 655c3110
Pipeline #82638 failed with stage
in 59 seconds
......@@ -34,6 +34,8 @@ COMMON_ARGS_LATENCY=(${COMMON_ARGS[@]} --data-dir ${OUT}/latency \
-c "5000" --iterations 1000 -r 2 \
--additional-client-args "--histogram {BENCHDIR}/latencies.{RUN}.csv")
COMP="0us-100us-0.5"
echo "muhq's MA io eval"
echo 'Writing results to' "$OUT"
......@@ -49,7 +51,7 @@ eval_throughput() {
./eval.py "${COMMON_ARGS_THROUGHPUT[@]}" -f vanilla vanilla-200us -- emper
# No sleep measurements
./eval.py "${COMMON_ARGS_THROUGHPUT[@]}" -f no-sleep no-sleep-0us-100ms-0.5 -- emper
./eval.py "${COMMON_ARGS_THROUGHPUT[@]}" -f no-sleep no-sleep-${COMP} -- emper
# Measure parsimonious sem
./eval.py "${COMMON_ARGS_THROUGHPUT[@]}" -f parsimonious-sem -- emper
......@@ -70,7 +72,7 @@ eval_throughput() {
./eval.py "${COMMON_ARGS_THROUGHPUT[@]}" -f linked-futures -- emper
# Measurements showing sleep strategies
./eval.py "${COMMON_ARGS_THROUGHPUT[@]}" -f pipe waitfd -- emper
./eval.py "${COMMON_ARGS_THROUGHPUT[@]}" -f {pipe,waitfd}{,-200us} -- emper
# Measurements showing completer, stealing, notification benefits
./eval.py "${COMMON_ARGS_THROUGHPUT[@]}" -f \
......@@ -82,18 +84,18 @@ eval_throughput() {
# Measurements showing completer, stealing notification benefits with computation
./eval.py "${COMMON_ARGS_THROUGHPUT[@]}" -f \
vanilla-0us-100ms-0.5 io-stealing-0us-100ms-0.5 \
pipe-0us-100ms-0.5 pipe-no-comp-0us-100ms-0.5 \
io-stealing-pipe-no-comp-0us-100ms-0.5 \
waitfd-0us-100ms-0.5 waitfd-no-comp-0us-100ms-0.5 \
io-stealing-waitfd-no-comp-0us-100ms-0.5 \
io-notification-waitfd-no-comp-0us-100ms-0.5 \
vanilla-${COMP} io-stealing-${COMP} \
pipe-${COMP} pipe-no-comp-${COMP} \
io-stealing-pipe-no-comp-${COMP} \
waitfd-${COMP} waitfd-no-comp-${COMP} \
io-stealing-waitfd-no-comp-${COMP} \
io-notification-waitfd-no-comp-${COMP} \
-- emper
# Measurements waitfree notification variants benefits
./eval.py "${COMMON_ARGS_THROUGHPUT[@]}" -f \
io-notification-waitfree io-notification-waitfree-no-comp \
io-notification-waitfree-0us-100ms-0.5 io-notification-waitfree-no-comp-0us-100ms-0.5 \
io-notification-waitfree-${COMP} io-notification-waitfree-no-comp-${COMP} \
-- emper
# Measure lockless stealing variants seperatly because they are not reliable
......@@ -103,11 +105,11 @@ eval_throughput() {
#io-stealing-pipe-no-comp-lockless \
#io-stealing-waitfd-no-comp-lockless \
#io-notification-waitfd-no-comp-lockless \
#io-stealing-pipe-no-comp-lockless-0us-100ms-0.5 \
#io-stealing-waitfd-no-comp-lockless-0us-100ms-0.5 \
#io-notification-waitfd-no-comp-lockless-0us-100ms-0.5 \
#io-stealing-pipe-no-comp-lockless-${COMP} \
#io-stealing-waitfd-no-comp-lockless-${COMP} \
#io-notification-waitfd-no-comp-lockless-${COMP} \
#io-notification-waitfree-no-comp-lockless \
#io-notification-waitfree-no-comp-lockless-0us-100ms-0.5 \
#io-notification-waitfree-no-comp-lockless-${COMP} \
#-- emper
}
......@@ -118,13 +120,13 @@ eval_latency() {
mkdir -p "${OUT}"/latency
./eval.py "${COMMON_ARGS_LATENCY[@]}" -f {no-sleep,vanilla}-{200us,0us-100ms-0.5} \
./eval.py "${COMMON_ARGS_LATENCY[@]}" -f {no-sleep,vanilla}-{200us,${COMP}} \
-- emper go-200us tokio-200us
./eval.py "${COMMON_ARGS_LATENCY[@]}" -f \
{pipe,waitfd}{,-no-comp}-{200us,0us-100ms-0.5} \
io-stealing-{pipe,waitfd}-no-comp-{200us,0us-100ms-0.5} \
io-notification-{waitfree,waitfd}-no-comp-{200us,0us-100ms-0.5} \
{pipe,waitfd}{,-no-comp}-{200us,${COMP}} \
io-stealing-{pipe,waitfd}-no-comp-{200us,${COMP}} \
io-notification-{waitfree,waitfd}-no-comp-{200us,${COMP}} \
-- emper
}
......
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