Docs-only. Records why decode on frank-archon turns to sludge while a long prompt
prefills, what that costs on this shape, and which knob turns it.
The census (live counters, boot of 2026-10-15; no bench, no request was perturbed):
decode-only steps average 18.7 ms, prefill+mixed steps 317 ms — 60 % of engine
wall-clock sits inside 8 % of the steps, because the chunk is min(remaining, checkpoint interval 2048, MNBT 2048) = 2048 rows and every decode row
sharing that step waits the whole chunk. A day of Prometheus (120 s step, 721 samples):
decode median 13.3 t/s in the 56 % of samples where prefill ran ≥ 1000 t/s, against
106–240 t/s otherwise.
The discriminator: decode measured 2–14 min after a busy-prefill window sits at the
idle baseline, so there is no lingering expert-residency penalty at 2-minute resolution; preemptions: 0 rules out preempt-and-re-prefill. The stall is step contention.
The verdict: radiance's two knobs for this (--busy-prefill-chunk, --prefill-interleave) are absent from the pinned 1.0.13 — proven with podman exec frank-archon radiance --help on the running container — so on this pin the
only crank is MNBT, and that is an arm (vendor: −19 % prefill at a 1024 chunk; this
page already knows 2560 collapses decode via MTP resonance). An image bump is gated by
the 1.2.0 numerics dead end, so any try re-scores draft acceptance first.
LLM Performance Diagnosis §9 — the method: the counter arithmetic, the lagged-bucket
correlation that separates contention from churn, and the four knobs with the vendor's
published costs, including the arena/expert-slab coupling that makes a shared step
doubly expensive on an expert_tiered shape.
frank-archon — two laws with this endpoint's measured numbers and the knob verdict.
Docs-only. Records why decode on `frank-archon` turns to sludge while a long prompt
prefills, what that costs on this shape, and which knob turns it.
**The census** (live counters, boot of 2026-10-15; no bench, no request was perturbed):
decode-only steps average 18.7 ms, prefill+mixed steps 317 ms — 60 % of engine
wall-clock sits inside 8 % of the steps, because the chunk is
`min(remaining, checkpoint interval 2048, MNBT 2048)` = 2048 rows and every decode row
sharing that step waits the whole chunk. A day of Prometheus (120 s step, 721 samples):
decode median **13.3 t/s** in the 56 % of samples where prefill ran ≥ 1000 t/s, against
106–240 t/s otherwise.
**The discriminator**: decode measured 2–14 min after a busy-prefill window sits at the
idle baseline, so there is no lingering expert-residency penalty at 2-minute resolution;
`preemptions: 0` rules out preempt-and-re-prefill. The stall is step contention.
**The verdict**: radiance's two knobs for this (`--busy-prefill-chunk`,
`--prefill-interleave`) are **absent from the pinned 1.0.13** — proven with
`podman exec frank-archon radiance --help` on the running container — so on this pin the
only crank is MNBT, and that is an arm (vendor: −19 % prefill at a 1024 chunk; this
page already knows 2560 collapses decode via MTP resonance). An image bump is gated by
the 1.2.0 numerics dead end, so any try re-scores draft acceptance first.
- `LLM Performance Diagnosis` §9 — the method: the counter arithmetic, the lagged-bucket
correlation that separates contention from churn, and the four knobs with the vendor's
published costs, including the arena/expert-slab coupling that makes a shared step
doubly expensive on an `expert_tiered` shape.
- `frank-archon` — two laws with this endpoint's measured numbers and the knob verdict.
Checks: `./tests/run.sh` 449/449, `scripts/check-vault-links.py` 160 pages 0 unresolved.
---
cwd: /home/blank/.omp/wt/wt-20261019-020309-6d1fc1f · session: 01a15366-7601-7175-bb69-c62186c3f8b5
Live step-shape census on frank-archon (radiance 1.0.13, boot of 2026-10-15):
decode-only steps run 18.7 ms, prefill+mixed steps 317 ms — 60 % of engine
wall-clock inside 8 % of the steps — and a day of Prometheus shows decode at
13.3 t/s median while prefill runs >=1000 t/s against 106-240 t/s when it does
not. The lag test says the penalty is confined to the prefill window: no
lingering expert-residency tail, and preemptions are zero.
Adds the method as LLM Performance Diagnosis S9 (counter arithmetic, the lagged
bucket correlation that separates step contention from residency churn, and the
four radiance knobs with their published costs), and the endpoint's own numbers
plus the verdict as two frank-archon laws: --busy-prefill-chunk and
--prefill-interleave are absent from this pin (proven via the running
container's --help), so MNBT is the only crank here and an image bump is gated
by the 1.2.0 numerics dead end.
No behavior change; docs only.
Two conflicts, both from the 2026-10-19 vault compaction on main:
* frontmatter description — main shortened it to satisfy OKF DESC
(max 120 chars); this branch's longer wording would have failed the
seam. Kept main's shape and folded the new §9 in by naming
step-shape attribution instead of profiler attribution.
* the Related bullet for [[vLLM Porting and Compile Triage]] — that
page was destroyed on main, so the link is dropped rather than
resurrected; this branch's [[frank-archon]] row is kept.
Index rows regenerated with scripts/gen-vault-index.py.
dank
merged commit 7601edfe28 into main2026-10-19 14:21:45 -07:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Docs-only. Records why decode on
frank-archonturns to sludge while a long promptprefills, what that costs on this shape, and which knob turns it.
The census (live counters, boot of 2026-10-15; no bench, no request was perturbed):
decode-only steps average 18.7 ms, prefill+mixed steps 317 ms — 60 % of engine
wall-clock sits inside 8 % of the steps, because the chunk is
min(remaining, checkpoint interval 2048, MNBT 2048)= 2048 rows and every decode rowsharing that step waits the whole chunk. A day of Prometheus (120 s step, 721 samples):
decode median 13.3 t/s in the 56 % of samples where prefill ran ≥ 1000 t/s, against
106–240 t/s otherwise.
The discriminator: decode measured 2–14 min after a busy-prefill window sits at the
idle baseline, so there is no lingering expert-residency penalty at 2-minute resolution;
preemptions: 0rules out preempt-and-re-prefill. The stall is step contention.The verdict: radiance's two knobs for this (
--busy-prefill-chunk,--prefill-interleave) are absent from the pinned 1.0.13 — proven withpodman exec frank-archon radiance --helpon the running container — so on this pin theonly crank is MNBT, and that is an arm (vendor: −19 % prefill at a 1024 chunk; this
page already knows 2560 collapses decode via MTP resonance). An image bump is gated by
the 1.2.0 numerics dead end, so any try re-scores draft acceptance first.
LLM Performance Diagnosis§9 — the method: the counter arithmetic, the lagged-bucketcorrelation that separates contention from churn, and the four knobs with the vendor's
published costs, including the arena/expert-slab coupling that makes a shared step
doubly expensive on an
expert_tieredshape.frank-archon— two laws with this endpoint's measured numbers and the knob verdict.Checks:
./tests/run.sh449/449,scripts/check-vault-links.py160 pages 0 unresolved.cwd: /home/blank/.omp/wt/wt-20261019-020309-6d1fc1f · session: 01a15366-7601-7175-bb69-c62186c3f8b5