Engine-state ablation: full sweep harness + results
Real-time engine state is NOT the routing lever. Across 6 policies × es0/es1, real state reshuffles 44-76% of decisions but never beats the champion (unified+A+B, p90 7.62s). The effect's SIGN is set by reactivity: one-shot placement (sticky) HELPS -26%; per-request affinity-dominated is a wash; per-request pure-load (lmetric +17%, load_only +27%) HURTS via herding (stale shadow was a dampener). Feed verified fresh (median 25ms, <=92ms during prefills). Prior shadow-state results stand. ES_ABLATION_RESULTS.md has the table + mechanism; run_full_ablation.sh / fresh_sampler.py / cmp_es.py are the harness. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
65
microbench/connector_tax/layerwise/run_full_ablation.sh
Normal file
65
microbench/connector_tax/layerwise/run_full_ablation.sh
Normal file
@@ -0,0 +1,65 @@
|
||||
#!/usr/bin/env bash
|
||||
# Full engine-state ablation sweep on dash1 (sequential; shared-venv patch
|
||||
# can't be parallelized). Waits for the in-flight champion es1 to finish, then
|
||||
# runs the remaining policies as matched es0/es1 pairs. Each es1 cell gets a
|
||||
# freshness sampler (age_s = now - state.ts) written to cpfs.
|
||||
#
|
||||
# Champion: es0 already done (v3trace_unified_AB_es0_20260528_1633),
|
||||
# es1 in flight (launch_es1.sh) -> reused, not re-run here.
|
||||
set -uo pipefail
|
||||
PROJ=/home/admin/cpfs/wjh/agentic-kv
|
||||
LWDIR=$PROJ/microbench/connector_tax/layerwise
|
||||
R=$LWDIR/run_v3_trace.sh
|
||||
SAMPLER=$LWDIR/fresh_sampler.py
|
||||
PY=$PROJ/.venv/bin/python
|
||||
AB="--overload-factor 1.3 --lmetric-decode-weight 0.01"
|
||||
PROG=$PROJ/outputs/abl_full.progress
|
||||
MASTERDONE=$PROJ/outputs/abl_full.done
|
||||
rm -f "$MASTERDONE"
|
||||
|
||||
echo "[driver] $(date) waiting for champion es1 (abl_unified_AB_es1.done) ..." >> "$PROG"
|
||||
while [ ! -f "$PROJ/outputs/abl_unified_AB_es1.done" ]; do sleep 30; done
|
||||
echo "[driver] $(date) champion es1 done -> starting sweep" >> "$PROG"
|
||||
|
||||
# TAG | POLICY | MODE | AB(yes=AB) | ES
|
||||
CONFIGS=(
|
||||
"lmetric_es0|lmetric|baseline||0"
|
||||
"lmetric_es1|lmetric|baseline||1"
|
||||
"load_only_es0|load_only|baseline||0"
|
||||
"load_only_es1|load_only|baseline||1"
|
||||
"sticky_es0|sticky|baseline||0"
|
||||
"sticky_es1|sticky|baseline||1"
|
||||
"v3_AB_lw_es0|unified_v3|layerwise|AB|0"
|
||||
"v3_AB_lw_es1|unified_v3|layerwise|AB|1"
|
||||
"ukvboth_AB_es0|unified_kv_both|baseline|AB|0"
|
||||
"ukvboth_AB_es1|unified_kv_both|baseline|AB|1"
|
||||
)
|
||||
|
||||
for cfg in "${CONFIGS[@]}"; do
|
||||
IFS='|' read -r tag policy mode ab es <<< "$cfg"
|
||||
abf=""; [ "$ab" = "AB" ] && abf="$AB"
|
||||
esdir=/dev/shm/agentic_engine_state_${tag}
|
||||
fresh=$PROJ/outputs/abl_${tag}.freshness.jsonl
|
||||
rl=$PROJ/outputs/abl_${tag}.runlog
|
||||
celldone=$PROJ/outputs/abl_${tag}.celldone
|
||||
rm -f "$fresh" "$celldone"
|
||||
echo "[driver] $(date) START $tag (policy=$policy mode=$mode ab=$ab es=$es)" >> "$PROG"
|
||||
|
||||
sp=""
|
||||
if [ "$es" = "1" ]; then
|
||||
nohup "$PY" "$SAMPLER" "$esdir" "$fresh" "$celldone" >/dev/null 2>&1 &
|
||||
sp=$!
|
||||
fi
|
||||
|
||||
TAG="$tag" POLICY="$policy" MODE="$mode" AB_FLAGS="$abf" ES="$es" \
|
||||
bash "$R" > "$rl" 2>&1
|
||||
ec=$?
|
||||
|
||||
echo "done $ec $(date)" > "$celldone"
|
||||
[ -n "$sp" ] && { kill "$sp" 2>/dev/null || true; }
|
||||
echo "[driver] $(date) END $tag exit=$ec" >> "$PROG"
|
||||
sleep 10
|
||||
done
|
||||
|
||||
echo "ALL DONE $(date)" > "$MASTERDONE"
|
||||
echo "[driver] $(date) SWEEP COMPLETE" >> "$PROG"
|
||||
Reference in New Issue
Block a user