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

generate computation flavors instead of hard coding them

Replace all occurrences of computation* with vanilla*.
parent 41d12153
Pipeline #82022 passed with stage
in 1 minute and 2 seconds
......@@ -30,6 +30,7 @@ import fnmatch
import logging
from pathlib import Path
import os
import re
import subprocess
import sys
from typing import Dict, List, Sequence, Union
......@@ -89,87 +90,34 @@ FLAVORS: Flavors = {
'checkout': PIPE_CHECKOUT,
'meson_options': '-Dworker_sleep_strategy=pipe'
},
'pipe-0us-200us': {
'checkout': PIPE_CHECKOUT,
'meson_options': '-Dworker_sleep_strategy=pipe',
'server_cmd_suffix': ' 0 200',
},
'pipe-0us-1ms': {
'checkout': PIPE_CHECKOUT,
'meson_options': '-Dworker_sleep_strategy=pipe',
'server_cmd_suffix': ' 0 1000',
},
# 'pipe-2iow': {
# 'checkout': PIPE_CHECKOUT,
# 'meson_options': '-Dworker_sleep_strategy=pipe',
# 'server_cmd_prefix': ENV_CMD_UIOWM2,
# },
# 'pipe-2iow-0us-200us': {
# 'checkout': PIPE_CHECKOUT,
# 'meson_options': '-Dworker_sleep_strategy=pipe',
# 'server_cmd_suffix': ' 0 200',
# 'server_cmd_prefix': ENV_CMD_UIOWM2,
# },
'pipe-no-comp': {
'checkout':
PIPE_CHECKOUT,
'meson_options':
'-Dworker_sleep_strategy=pipe -Dio_completer_behavior=none',
},
'pipe-no-comp-0us-1ms': {
'checkout': PIPE_CHECKOUT,
'meson_options':
'-Dworker_sleep_strategy=pipe -Dio_completer_behavior=none',
'server_cmd_suffix': ' 0 1000',
},
'waitfd': {
'meson_options': '-Dworker_sleep_strategy=waitfd',
'checkout': WAITFD_CHECKOUT,
},
'waitfd-0us-1ms': {
'meson_options': '-Dworker_sleep_strategy=waitfd',
'server_cmd_suffix': ' 0 1000',
'checkout': WAITFD_CHECKOUT,
},
# 'waitfd-2iow': {
# 'meson_options': '-Dworker_sleep_strategy=waitfd',
# 'checkout': WAITFD_CHECKOUT,
# 'server_cmd_prefix': ENV_CMD_UIOWM2,
# },
# 'waitfd-2iow-0us-200us': {
# 'meson_options': '-Dworker_sleep_strategy=waitfd',
# 'server_cmd_suffix': ' 0 200',
# 'checkout': WAITFD_CHECKOUT,
# 'server_cmd_prefix': ENV_CMD_UIOWM2,
# },
'waitfd-no-comp': {
'meson_options':
'-Dworker_sleep_strategy=waitfd -Dio_completer_behavior=none',
'checkout': WAITFD_CHECKOUT,
},
'waitfd-no-comp-0us-200us': {
'meson_options':
'-Dworker_sleep_strategy=waitfd -Dio_completer_behavior=none',
'server_cmd_suffix': ' 0 200',
'checkout': WAITFD_CHECKOUT,
},
'waitfd-no-comp-0us-1ms': {
'meson_options':
'-Dworker_sleep_strategy=waitfd -Dio_completer_behavior=none',
'server_cmd_suffix': ' 0 1000',
'checkout': WAITFD_CHECKOUT,
},
'io-stealing': {
'meson_options': '-Dio_stealing=true',
},
'io-stealing-0us-200us': {
'meson_options': '-Dio_stealing=true',
'server_cmd_suffix': ' 0 200',
},
'io-stealing-0us-1ms': {
'meson_options': '-Dio_stealing=true',
'server_cmd_suffix': ' 0 1000',
},
'io-stealing-lockless': {
'meson_options': '-Dio_stealing=true -Dio_lockless_cq=true',
},
......@@ -189,18 +137,6 @@ FLAVORS: Flavors = {
'meson_options':
'-Dio_stealing=true -Dworker_sleep_strategy=pipe -Dio_completer_behavior=none',
},
'io-stealing-pipe-no-comp-0us-200us': {
'checkout': PIPE_CHECKOUT,
'meson_options':
'-Dio_stealing=true -Dworker_sleep_strategy=pipe -Dio_completer_behavior=none',
'server_cmd_suffix': ' 0 200',
},
'io-stealing-pipe-no-comp-0us-1ms': {
'checkout': PIPE_CHECKOUT,
'meson_options':
'-Dio_stealing=true -Dworker_sleep_strategy=pipe -Dio_completer_behavior=none',
'server_cmd_suffix': ' 0 1000',
},
'io-stealing-pipe-no-comp-lockless': {
'checkout':
PIPE_CHECKOUT,
......@@ -208,33 +144,6 @@ FLAVORS: Flavors = {
('-Dio_stealing=true -Dworker_sleep_strategy=pipe'
' -Dio_completer_behavior=none -Dio_lockless_cq=true'),
},
'io-stealing-pipe-no-comp-lockless-0us-200us': {
'checkout':
PIPE_CHECKOUT,
'meson_options':
('-Dio_stealing=true -Dworker_sleep_strategy=pipe'
' -Dio_completer_behavior=none -Dio_lockless_cq=true'),
'server_cmd_suffix':
' 0 200',
},
'io-stealing-pipe-no-comp-lockless-0us-1ms': {
'checkout':
PIPE_CHECKOUT,
'meson_options':
('-Dio_stealing=true -Dworker_sleep_strategy=pipe'
' -Dio_completer_behavior=none -Dio_lockless_cq=true'),
'server_cmd_suffix':
' 0 1000',
},
'io-stealing-pipe-no-comp-lockless-200us': {
'checkout':
PIPE_CHECKOUT,
'meson_options':
('-Dio_stealing=true -Dworker_sleep_strategy=pipe'
' -Dio_completer_behavior=none -Dio_lockless_cq=true'),
'server_cmd_suffix':
' 200',
},
'io-stealing-waitfd': {
'meson_options': '-Dio_stealing=true -Dworker_sleep_strategy=waitfd',
'checkout': WAITFD_CHECKOUT,
......@@ -251,24 +160,6 @@ FLAVORS: Flavors = {
'checkout':
WAITFD_CHECKOUT,
},
'io-stealing-waitfd-no-comp-0us-200us': {
'meson_options':
('-Dio_stealing=true -Dworker_sleep_strategy=waitfd -Dio_completer_behavior=none'
),
'server_cmd_suffix':
' 0 200',
'checkout':
WAITFD_CHECKOUT,
},
'io-stealing-waitfd-no-comp-0us-1ms': {
'meson_options':
('-Dio_stealing=true -Dworker_sleep_strategy=waitfd -Dio_completer_behavior=none'
),
'server_cmd_suffix':
' 0 1000',
'checkout':
WAITFD_CHECKOUT,
},
'io-stealing-waitfd-no-comp-lockless': {
'meson_options':
('-Dio_stealing=true -Dworker_sleep_strategy=waitfd'
......@@ -285,24 +176,6 @@ FLAVORS: Flavors = {
'checkout':
WAITFD_CHECKOUT,
},
'io-stealing-waitfd-no-comp-lockless-0us-1ms': {
'meson_options':
('-Dio_stealing=true -Dworker_sleep_strategy=waitfd'
' -Dio_completer_behavior=none -Dio_lockless_cq=true'),
'server_cmd_suffix':
' 0 1000',
'checkout':
WAITFD_CHECKOUT,
},
'io-stealing-waitfd-no-comp-lockless-200us': {
'meson_options':
('-Dio_stealing=true -Dworker_sleep_strategy=waitfd'
' -Dio_completer_behavior=none -Dio_lockless_cq=true'),
'server_cmd_suffix':
' 200',
'checkout':
WAITFD_CHECKOUT,
},
'io-notification-waitfd': {
'meson_options':
'-Dio_notification=true -Dio_stealing=true -Dworker_sleep_strategy=waitfd',
......@@ -310,31 +183,15 @@ FLAVORS: Flavors = {
},
'io-notification-waitfd-lockless': {
'meson_options':
'-Dio_notification=true -Dio_stealing=true -Dworker_sleep_strategy=waitfd -Dio_lockless_cq=true',
'checkout': WAITFD_CHECKOUT,
},
'io-notification-waitfd-no-comp': {
'meson_options':
('-Dio_stealing=true -Dworker_sleep_strategy=waitfd -Dio_completer_behavior=none'
' -Dio_notification=true'),
('-Dio_notification=true -Dio_stealing=true -Dworker_sleep_strategy=waitfd'
' -Dio_lockless_cq=true'),
'checkout':
WAITFD_CHECKOUT,
},
'io-notification-waitfd-no-comp-0us-200us': {
'meson_options':
('-Dio_stealing=true -Dworker_sleep_strategy=waitfd -Dio_completer_behavior=none'
' -Dio_notification=true'),
'server_cmd_suffix':
' 0 200',
'checkout':
WAITFD_CHECKOUT,
},
'io-notification-waitfd-no-comp-0us-1ms': {
'io-notification-waitfd-no-comp': {
'meson_options':
('-Dio_stealing=true -Dworker_sleep_strategy=waitfd -Dio_completer_behavior=none'
' -Dio_notification=true'),
'server_cmd_suffix':
' 0 1000',
'checkout':
WAITFD_CHECKOUT,
},
......@@ -345,57 +202,17 @@ FLAVORS: Flavors = {
'checkout':
WAITFD_CHECKOUT,
},
'io-notification-waitfd-no-comp-lockless-0us-200us': {
'meson_options': ('-Dio_stealing=true -Dworker_sleep_strategy=waitfd'
' -Dio_completer_behavior=none -Dio_lockless_cq=true'
' -Dio_notification=true'),
'server_cmd_suffix':
' 0 200',
'checkout':
WAITFD_CHECKOUT,
},
'io-notification-waitfd-no-comp-lockless-0us-1ms': {
'meson_options': ('-Dio_stealing=true -Dworker_sleep_strategy=waitfd'
' -Dio_completer_behavior=none -Dio_lockless_cq=true'
' -Dio_notification=true'),
'server_cmd_suffix':
' 0 1000',
'checkout':
WAITFD_CHECKOUT,
},
'io-notification-waitfd-no-comp-lockless-200us': {
'meson_options': ('-Dio_stealing=true -Dworker_sleep_strategy=waitfd'
' -Dio_completer_behavior=none -Dio_lockless_cq=true'
' -Dio_notification=true'),
'server_cmd_suffix':
' 200',
'checkout':
WAITFD_CHECKOUT,
},
'io-notification-waitfree': {
'meson_options':
'-Dio_stealing=true -Dio_notification=true -Dworker_sleep_strategy=waitfd -Dwaitfd_flags=waitFree',
'checkout': WAITFD_CHECKOUT,
},
'io-notification-waitfree-0us-1ms': {
'meson_options':
'-Dio_stealing=true -Dio_notification=true -Dworker_sleep_strategy=waitfd -Dwaitfd_flags=waitFree',
'server_cmd_suffix': ' 0 1000',
'checkout': WAITFD_CHECKOUT,
},
'io-notification-waitfree-no-comp': {
'meson_options':
('-Dio_completer_behavior=none -Dio_stealing=true -Dio_notification=true '
'-Dworker_sleep_strategy=waitfd -Dwaitfd_flags=waitFree'),
('-Dio_stealing=true -Dio_notification=true -Dworker_sleep_strategy=waitfd'
' -Dwaitfd_flags=waitFree'),
'checkout':
WAITFD_CHECKOUT,
},
'io-notification-waitfree-no-comp-0us-1ms': {
'io-notification-waitfree-no-comp': {
'meson_options':
('-Dio_completer_behavior=none -Dio_stealing=true -Dio_notification=true '
'-Dworker_sleep_strategy=waitfd -Dwaitfd_flags=waitFree'),
'server_cmd_suffix':
' 0 1000',
'checkout':
WAITFD_CHECKOUT,
},
......@@ -407,16 +224,6 @@ FLAVORS: Flavors = {
'checkout':
WAITFD_CHECKOUT,
},
'io-notification-waitfree-no-comp-lockless-0us-1ms': {
'meson_options':
('-Dio_completer_behavior=none -Dio_stealing=true -Dio_notification=true '
'-Dworker_sleep_strategy=waitfd -Dwaitfd_flags=waitFree -Dio_lockless_cq=true'
),
'server_cmd_suffix':
' 0 1000',
'checkout':
WAITFD_CHECKOUT,
},
'no-stats': {
'meson_options': '-Dstats=False'
},
......@@ -437,10 +244,6 @@ FLAVORS: Flavors = {
'no-sleep': {
'meson_options': '-Dworker_sleep=false'
},
'no-sleep-0us-1ms': {
'meson_options': '-Dworker_sleep=false',
'server_cmd_suffix': ' 0 1000'
},
'sqpoll': {
'meson_options': '-Dio_uring_sq_poller=one',
'checkout': SQPOLL_CHECKOUT,
......@@ -500,51 +303,6 @@ FLAVORS: Flavors = {
'completer-wakeup': {
'meson_options': '-Dio_completer_behavior=maybe_wakeup'
},
'no-sleep-computation-100us': {
'meson_options': '-Dworker_sleep=false',
'server_cmd_suffix': '100'
},
'no-sleep-no-comp-computation-100us': {
'meson_options':
'-Dworker_sleep=false -Dio_completer_behavior=maybe_wakeup',
'server_cmd_suffix': '100'
},
'no-sleep-computation-1ms': {
'meson_options': '-Dworker_sleep=false',
'server_cmd_suffix': ' 1000'
},
'no-sleep-no-comp-computation-1ms': {
'meson_options':
'-Dworker_sleep=false -Dio_completer_behavior=maybe_wakeup',
'server_cmd_suffix': ' 1000'
},
'computation-100us': {
'server_cmd_suffix': '100'
},
'computation-200us': {
'server_cmd_suffix': ' 200'
},
'computation-0us-200us': {
'server_cmd_suffix': ' 0 200'
},
'computation-0us-1ms': {
'server_cmd_suffix': ' 0 1000'
},
'completer-wakeup-computation-100us': {
'meson_options': '-Dio_completer_behavior=maybe_wakeup',
'server_cmd_suffix': '100'
},
'computation-10us': {
'server_cmd_suffix': '10'
},
'completer-wakeup-computation-10us': {
'meson_options': '-Dio_completer_behavior=maybe_wakeup',
'server_cmd_suffix': '10'
},
'mutex-computation-100us': {
'meson_options': '-Dio_cq_lock_implementation=mutex',
'server_cmd_suffix': '100'
},
'simple-arch': {
'meson_options': '-Dio_single_uring=true',
},
......@@ -564,22 +322,6 @@ FLAVORS: Flavors = {
'20-nopin': {
'server_cmd_prefix': ENV_CMD_20_WORKER + ' PIN_WORKERS=false',
},
'20-computation-100us': {
'server_cmd_prefix': ENV_CMD_20_WORKER,
'server_cmd_suffix': '100'
},
'20-nopin-computation-100us': {
'server_cmd_prefix': ENV_CMD_20_WORKER + ' PIN_WORKERS=false',
'server_cmd_suffix': '100'
},
'20-computation-200us': {
'server_cmd_prefix': ENV_CMD_20_WORKER,
'server_cmd_suffix': '200'
},
'20-nopin-computation-200us': {
'server_cmd_prefix': ENV_CMD_20_WORKER + ' PIN_WORKERS=false',
'server_cmd_suffix': '200'
},
'linked-futures': {
'checkout': LINKED_FUTURE_CHECKOUT,
},
......@@ -595,31 +337,15 @@ FLAVORS: Flavors = {
'bdqfa': {
'checkout': BATCH_DEQUEUE_ANYWHERE,
},
'bdqfa-200us': {
'checkout': BATCH_DEQUEUE_ANYWHERE,
'server_cmd_suffix': '200'
},
'bdqfa-20-nopin': {
'checkout': BATCH_DEQUEUE_ANYWHERE,
'server_cmd_prefix': ENV_CMD_20_WORKER + ' PIN_WORKERS=false',
},
'bdqfa-20-nopin-200us': {
'checkout': BATCH_DEQUEUE_ANYWHERE,
'server_cmd_prefix': ENV_CMD_20_WORKER + ' PIN_WORKERS=false',
'server_cmd_suffix': '200'
},
'laws': {
'meson_options':
('-Ddefault_scheduling_strategy=locality_aware_work_stealing '
'-Dset_affinity_on_block=true'),
},
'laws-200us': {
'meson_options':
('-Ddefault_scheduling_strategy=locality_aware_work_stealing '
'-Dset_affinity_on_block=true'),
'server_cmd_suffix':
'200'
},
'laws-20-nopin': {
'server_cmd_prefix':
ENV_CMD_20_WORKER + ' PIN_WORKERS=false',
......@@ -627,15 +353,6 @@ FLAVORS: Flavors = {
('-Ddefault_scheduling_strategy=locality_aware_work_stealing '
'-Dset_affinity_on_block=true'),
},
'laws-20-nopin-200us': {
'server_cmd_prefix':
ENV_CMD_20_WORKER + ' PIN_WORKERS=false',
'meson_options':
('-Ddefault_scheduling_strategy=locality_aware_work_stealing '
'-Dset_affinity_on_block=true'),
'server_cmd_suffix':
'200'
},
'laws-bdqfa': {
'checkout':
BATCH_DEQUEUE_ANYWHERE,
......@@ -643,15 +360,6 @@ FLAVORS: Flavors = {
('-Ddefault_scheduling_strategy=locality_aware_work_stealing '
'-Dset_affinity_on_block=true'),
},
'laws-bdqfa-200us': {
'checkout':
BATCH_DEQUEUE_ANYWHERE,
'meson_options':
('-Ddefault_scheduling_strategy=locality_aware_work_stealing '
'-Dset_affinity_on_block=true'),
'server_cmd_suffix':
'200'
},
'laws-bdqfa-20-nopin': {
'checkout':
BATCH_DEQUEUE_ANYWHERE,
......@@ -661,19 +369,37 @@ FLAVORS: Flavors = {
('-Ddefault_scheduling_strategy=locality_aware_work_stealing '
'-Dset_affinity_on_block=true'),
},
'laws-bdqfa-20-nopin-200us': {
'checkout':
BATCH_DEQUEUE_ANYWHERE,
'server_cmd_prefix':
ENV_CMD_20_WORKER + ' PIN_WORKERS=false',
'meson_options':
('-Ddefault_scheduling_strategy=locality_aware_work_stealing '
'-Dset_affinity_on_block=true'),
'server_cmd_suffix':
'200'
},
}
S2NS = {'s': 10**6, 'ms': 10**3, 'us': 1}
COMPUTATION_RE = r'(?P<value>\d+)(?P<unit>[m|u]s)'
def generate_computation_flavors(flavors: Flavors,
computation_descs: list[str]) -> Flavors:
"""Generate emper flavors with fixed or even computation"""
comp_flavors = {}
for flavor, flavor_dict in flavors.items():
for computation_desc in computation_descs:
cmd_suffix = ''
parts = computation_desc.split('-')
for part in parts:
match = re.match(COMPUTATION_RE, part)
assert match
computation, unit = match.groups()
cmd_suffix += f' {int(computation) * S2NS[unit]}'
comp_flavor_dict = flavor_dict.copy()
# strip first newline since the prepare_flavors() will add it back
comp_flavor_dict['server_cmd_suffix'] = cmd_suffix[1:]
comp_flavors[f'{flavor}-{computation_desc}'] = comp_flavor_dict
return comp_flavors
COMPUTATION_DESCRIPTIONS = ['200us', '0us-1ms']
FLAVORS.update(generate_computation_flavors(FLAVORS, COMPUTATION_DESCRIPTIONS))
def repo_add_muhq_remote():
"""Add muhq remote to emper repo"""
......
......@@ -43,7 +43,7 @@ echo 'throughput-arguments:' "${COMMON_ARGS_THROUGHPUT[@]}"
echo 'latency-arguments:' "${COMMON_ARGS_LATENCY[@]}"
# Baseline measurements
./eval.py "${COMMON_ARGS_THROUGHPUT[@]}" -f vanilla computation-200us -- emper
./eval.py "${COMMON_ARGS_THROUGHPUT[@]}" -f vanilla vanilla-200us -- emper
# No sleep measurements
./eval.py "${COMMON_ARGS_THROUGHPUT[@]}" -f no-sleep no-sleep-0us-1ms -- emper
......@@ -76,7 +76,7 @@ echo 'latency-arguments:' "${COMMON_ARGS_LATENCY[@]}"
# Measurements showing completer, stealing notification benefits with computation
./eval.py "${COMMON_ARGS_THROUGHPUT[@]}" -f \
computation-0us-1ms io-stealing-0us-1ms \
vanilla-0us-1ms io-stealing-0us-1ms \
pipe-0us-1ms pipe-no-comp-0us-1ms \
io-stealing-pipe-no-comp-0us-1ms \
waitfd-0us-1ms waitfd-no-comp-0us-1ms \
......@@ -105,7 +105,7 @@ echo 'latency-arguments:' "${COMMON_ARGS_LATENCY[@]}"
#-- emper
# Latency evaluation
./eval.py "${COMMON_ARGS_LATENCY[@]}" -f computation-200us computation-0us-1ms no-sleep-0us-1ms \
./eval.py "${COMMON_ARGS_LATENCY[@]}" -f vanilla-200us vanilla-0us-1ms no-sleep-0us-1ms \
-- emper go-200us tokio-200us
./eval.py "${COMMON_ARGS_LATENCY[@]}" -f \
......
......@@ -25,34 +25,34 @@ ${PLOT} -o "$OUT"/ma-linked-futures.tex -i emper-vanilla emper-linked-futures --
${PLOT} -o "$OUT"/ma-emper.tex -i 'emper*' -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-pipe.tex -i emper-vanilla '*pipe*' -ix '*0us-1ms' -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-pipe-delay.tex -i emper-computation-0us-1ms '*pipe*0us-1ms' -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-pipe-delay.tex -i emper-vanilla-0us-1ms '*pipe*0us-1ms' -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-waitfd.tex -i emper-vanilla '*waitfd*' -ix '*0us-1ms' -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-waitfd-delay.tex -i emper-computation-0us-1ms '*waitfd*0us-1ms*' -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-waitfd-delay.tex -i emper-vanilla-0us-1ms '*waitfd*0us-1ms*' -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-stealing.tex -i emper-vanilla '*io-stealing*' -ix '*0us-1ms' -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-stealing-delay.tex -i '*computation*0us-1ms' '*stealing*0us-1ms' -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-stealing-delay.tex -i '*vanilla*0us-1ms' '*stealing*0us-1ms' -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-notification.tex -i emper-vanilla '*notification*' -ix '*0us-1ms' -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-notification-delay.tex -i '*notification*0us-1ms' -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-base-strategies.tex -i emper-vanilla 'emper-simple-arch*' emper-pipe emper-waitfd -ix '*0us-1ms' -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-strategies.tex -i emper-vanilla '*pipe*' '*waitfd*' -ix '*0us-1ms' -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-strategies-delay.tex -i '*computation*0us-1ms' '*pipe*0us-1ms' '*waitfd*-0us-1ms' -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-strategies-delay.tex -i '*vanilla*0us-1ms' '*pipe*0us-1ms' '*waitfd*-0us-1ms' -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-all.tex -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-no-delay.tex -ix '*1ms' -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-delay.tex -i '*1ms' -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-runtimes.tex -i emper-vanilla go tokio -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-runtimes-delay.tex -i '*computation*200us' 'go*200us' 'tokio*200us' -- "$THROUGHPUT_DATA"
${PLOT} -o "$OUT"/ma-runtimes-delay.tex -i '*vanilla*200us' 'go*200us' 'tokio*200us' -- "$THROUGHPUT_DATA"
${PLOT_LATENCY} ${LATENCY_DATA}/{emper-computation,go,tokio}-200us/$LATENCIES > "$OUT"/ma-runtime-latency.tex
${PLOT_LATENCY} ${LATENCY_DATA}/{emper-vanilla,go,tokio}-200us/$LATENCIES > "$OUT"/ma-runtime-latency.tex
${PLOT_LATENCY} ${LATENCY_DATA}/*{waitfd,pipe,computation}-0us-1ms/$LATENCIES > "$OUT"/ma-strategy-latency.tex
${PLOT_LATENCY} ${LATENCY_DATA}/emper-{waitfd,pipe,vanilla}-0us-1ms/$LATENCIES > "$OUT"/ma-strategy-latency.tex
${PLOT_LATENCY} ${LATENCY_DATA}/*{pipe*,computation}-0us-1ms/$LATENCIES > "$OUT"/ma-pipe-latency.tex
${PLOT_LATENCY} ${LATENCY_DATA}/*{waitfd*,notification*,computation}-0us-1ms/$LATENCIES > "$OUT"/ma-waitfd-latency.tex
${PLOT_LATENCY} ${LATENCY_DATA}/emper-{pipe*,vanilla}-0us-1ms/$LATENCIES > "$OUT"/ma-pipe-latency.tex
${PLOT_LATENCY} ${LATENCY_DATA}/emper-{waitfd*,notification*,vanilla}-0us-1ms/$LATENCIES > "$OUT"/ma-waitfd-latency.tex
cd "$OUT"
......
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