diff --git a/dankclaw/frank-large/quadlet/frank-large.container b/dankclaw/frank-large/quadlet/frank-large.container index 7aed5bb..931dd29 100644 --- a/dankclaw/frank-large/quadlet/frank-large.container +++ b/dankclaw/frank-large/quadlet/frank-large.container @@ -104,17 +104,20 @@ Environment=HALOGEN_CTX=262144 # used to contend for one 262k pool. Environment=HALOGEN_KV_POOL_POSITIONS=524288 Environment=HALOGEN_KV_SLOTS=4 -# LOAD-BEARING. This line is what makes the doubling above real; do not -# "clean it up". The device budget here is 121 GiB - 67.7 resident weights -# - 24.0 reserved for the n-gram page cache and the OS = 29.5 GiB, and that -# one budget carries BOTH the KV pool and the prefill arena. At the upstream -# HALOGEN_MAX_TOK=32768 the arena is ~20.6 GiB, so 524288 positions need -# 35.0 GiB against 29.5 available and HALOGEN_KV_POOL_FIT silently lowers -# the pool back to 262144 — the deploy still reports healthy, so the -# regression is invisible unless you read the ledger. Halving the arena to -# ~10.5 GiB brings the 524288 need to ~24.9 GiB, which fits with ~3 GiB -# of margin, at about 8-9% of prefill throughput. -Environment=HALOGEN_MAX_TOK=16384 +# EXPERIMENT 2026-09-12 (operator call): raised to 65536 to measure what the +# arena actually costs, against upstream's warning that it "sizes a ~4 GB +# scratch arena, so do not raise it to the native context". +# +# Background on why this line matters at all. The device budget here is +# 121 GiB - 67.7 resident weights - 24.0 reserved for the n-gram page cache +# and the OS = 29.5 GiB, and that ONE budget carries both the KV pool and the +# prefill arena. Measured arena-side cost ("everything but the pool"): +# max_tok 16384 -> 12.2 GiB (524288 pool fits: 26.6 total) +# max_tok 32768 -> 20.6 GiB (524288 pool REFUSED at 35.0, fit lowers to 262144) +# HALOGEN_KV_POOL_FIT only ever LOWERS, never raises, and never below +# HALOGEN_CTX — and the deploy still reports healthy either way, so the pool +# you asked for is not necessarily the pool you got. Read the `kv pool:` lines. +Environment=HALOGEN_MAX_TOK=65536 # RAM left for the n-gram table the engine reads through the page cache. # Above the vendor's 20 because a dozen containers share this host; too low # and long prompts crawl with the disk busy.