Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,13 @@ def load_topic_scaling_data(results_dir: Path):
for run in RUNS:
filepath = exp02_dir / f"{transport}_loss1pct_run{run}.json"
if filepath.exists():
try:
with open(filepath) as f:
result = json.load(f)
except json.JSONDecodeError:
print(f" warning: skipping invalid JSON: {filepath.name}")
continue
sources.setdefault(transport, {}).setdefault(8, [])
with open(filepath) as f:
result = json.load(f)
sources[transport][8].append(
result["results"]["windowed_correlation"]
)
Expand All @@ -46,11 +50,15 @@ def load_topic_scaling_data(results_dir: Path):
/ f"{transport}_{topic_count}topics_run{run}.json"
)
if filepath.exists():
try:
with open(filepath) as f:
result = json.load(f)
except json.JSONDecodeError:
print(f" warning: skipping invalid JSON: {filepath.name}")
continue
sources.setdefault(transport, {}).setdefault(
topic_count, []
)
with open(filepath) as f:
result = json.load(f)
sources[transport][topic_count].append(
result["results"]["windowed_correlation"]
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,12 @@ def load_data(results_dir: Path):
for run in RUNS:
tp_path = exp_dir / f"{strategy}_{topics}topics_throughput_run{run}.json"
if tp_path.exists():
with open(tp_path) as f:
d = json.load(f)
try:
with open(tp_path) as f:
d = json.load(f)
except json.JSONDecodeError:
print(f" warning: skipping invalid JSON: {tp_path.name}")
continue
tp_values.append(d["results"]["throughput_avg"])

if tp_values:
Expand Down
17 changes: 17 additions & 0 deletions publications/comnet/experiments/parallel/common_parallel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,24 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)"

: "${GROUP:?Set GROUP=1|2|3 before sourcing common_parallel.sh}"

# The group env supplies defaults, but a value already set in the environment wins,
# so `RUNS_PER_DATAPOINT=1 GROUP=1 bash parallel/foo.sh` behaves as written.
_cfg_keys="BROKER_IP BROKER_SSH_IP PUB_IP PUB_INTERNAL_IP SUB_IP SUB_PROXY SSH_USER SSH_KEY_PATH RUNS_PER_DATAPOINT"
for _k in $_cfg_keys; do
if [ -n "${!_k+set}" ]; then
eval "_preset_${_k}=\${${_k}}"
fi
done
source "${SCRIPT_DIR}/group${GROUP}.env"
for _k in $_cfg_keys; do
_p="_preset_${_k}"
if [ -n "${!_p+set}" ]; then
eval "${_k}=\${${_p}}"
unset "${_p}"
fi
done
unset _cfg_keys _k _p

: "${BROKER_IP:?Set BROKER_IP in group${GROUP}.env}"
: "${BROKER_SSH_IP:=${BROKER_IP}}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ for tname in "${TRANSPORTS[@]}"; do
label="${tname}_${topics}topics"
echo "[${EXPERIMENT}] ${label}"

bench_args="--url ${url} ${flags} --mode hol-blocking --topics ${topics} --duration 30 --warmup 5 --payload-size 512 --rate 5000 --trace-dir /tmp/hol-traces"
bench_args="--url ${url} ${flags} --mode hol-blocking --topics ${topics} --duration 60 --warmup 5 --payload-size 256 --rate 500 --trace-dir /tmp/hol-traces"
output_dir="${RESULTS_DIR}/${EXPERIMENT}"
mkdir -p "$output_dir"

Expand Down
21 changes: 19 additions & 2 deletions publications/comnet/experiments/run/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,24 @@ set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)"

# config.env supplies defaults, but a value already set in the environment wins,
# so `RUNS_PER_DATAPOINT=1 bash run/foo.sh` behaves as written.
_cfg_keys="GCP_PROJECT_ID BROKER_IP BROKER_SSH_IP CLIENT_IP REPO_URL REPO_BRANCH SSH_USER SSH_KEY_PATH RUNS_PER_DATAPOINT"
for _k in $_cfg_keys; do
if [ -n "${!_k+set}" ]; then
eval "_preset_${_k}=\${${_k}}"
fi
done
source "${ROOT_DIR}/setup/config.env"
for _k in $_cfg_keys; do
_p="_preset_${_k}"
if [ -n "${!_p+set}" ]; then
eval "${_k}=\${${_p}}"
unset "${_p}"
fi
done
unset _cfg_keys _k _p

: "${BROKER_IP:?Set BROKER_IP in config.env}"
: "${BROKER_SSH_IP:=${BROKER_IP}}"
Expand Down Expand Up @@ -63,11 +80,11 @@ restart_broker() {
apply_netem() {
local delay_ms="$1"
local loss_pct="${2:-0}"
ssh_client "sudo bash /opt/mqtt-lib/experiments/netem/apply.sh ${delay_ms} ${loss_pct}"
ssh_broker "sudo bash /opt/mqtt-lib/experiments/netem/apply.sh ${delay_ms} ${loss_pct}"
}

clear_netem() {
ssh_client "sudo bash /opt/mqtt-lib/experiments/netem/clear.sh"
ssh_broker "sudo bash /opt/mqtt-lib/experiments/netem/clear.sh"
}

MONITOR_PID=""
Expand Down
Loading