You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Near-full page store: publish/evict work after an hour of long-context traffic slows subsequent requests ~35 % (5K-prompt decode 21 vs 32 tok/s); disappears in restore-only #60
On a four-GB10 GLM-5.3 TP4/DCP4 ring (sparkring operator image 0d4029b3…, sparkcache 6605717, tail-cow-v2, two 3 GiB async capture slots, SPARKCACHE_MAX_BYTES=40 GiB / low watermark 32 GiB per rank, 300 s lease), an hour of long-context agent traffic leaves the lane measurably slower for requests that run right after it, and the effect disappears with the store off. The page store was near its cap the whole time and evicted ~660 entries during one such hour. Evidence below is from paired probes around three 60-minute soaks (4 concurrent conversations, 75k–300k tokens, ~2k-token tail prefill per turn, thinking on).
Observation
Idle probes (3 × one ~5.3K-token prompt, 300 output tokens, reasoning_effort=low) before and after each soak, per-stream decode tok/s and first-token latency:
lane
before soak
after soak
read-write, NCCL
30.7 / 33.6 / 34.9
30.4 / 21.2 / 25.4 (one first token 4.31 s vs 2.5 s normal)
An inter-token-latency probe (8 sequential 5.3K requests) on a settled lane shows a uniform 73–75 ms decode step in every mode; the slow samples above are ~110 ms/step for the whole request, i.e. something else is using the GPUs/CPU while they run. Store state during the read-write soaks:
so ~660 entries were evicted during the hour. During the soaks, page_delta commits that normally take 0.2–0.7 s intermittently took 5–6 s on every rank (two such commits also preceded our 2026-09-04 22:23Z DCP hang, sparkring #215, though causality there is unproven). Separately, the price of publishing on a settled lane is small and consistent: -10 % first-token latency for a new 5K prompt and -3..-5 % single-prompt prefill at 16K/64K with the store off; decode unchanged.
Asks
Is eviction (and manifest/commit work behind it) bounded per scheduler step, or can a near-full store keep the saver busy continuously? The post-soak slowdown suggests the latter.
A gauge for eviction/commit backlog (bytes or entries pending, oldest pending commit age) next to the vllm:sparkcache_capture_* ownership gauges from Retain asynchronous store completion across worker polls #57, so operators can see this instead of inferring it from probe latency.
Guidance on sizing SPARKCACHE_MAX_BYTES vs the low watermark for a lane whose working set exceeds the store (should the watermark gap be much larger than one hour of publications?).
Happy to rerun with an instrumented build; the probe scripts and per-soak CSVs are in our site repo.
Summary
On a four-GB10 GLM-5.3 TP4/DCP4 ring (sparkring operator image
0d4029b3…, sparkcache6605717,tail-cow-v2, two 3 GiB async capture slots,SPARKCACHE_MAX_BYTES=40 GiB/ low watermark 32 GiB per rank, 300 s lease), an hour of long-context agent traffic leaves the lane measurably slower for requests that run right after it, and the effect disappears with the store off. The page store was near its cap the whole time and evicted ~660 entries during one such hour. Evidence below is from paired probes around three 60-minute soaks (4 concurrent conversations, 75k–300k tokens, ~2k-token tail prefill per turn, thinking on).Observation
Idle probes (3 × one ~5.3K-token prompt, 300 output tokens,
reasoning_effort=low) before and after each soak, per-stream decode tok/s and first-token latency:SPARKCACHE_ACCESS_MODE=restore-only, async capture off), NCCLAn inter-token-latency probe (8 sequential 5.3K requests) on a settled lane shows a uniform 73–75 ms decode step in every mode; the slow samples above are ~110 ms/step for the whole request, i.e. something else is using the GPUs/CPU while they run. Store state during the read-write soaks:
so ~660 entries were evicted during the hour. During the soaks,
page_deltacommits that normally take 0.2–0.7 s intermittently took 5–6 s on every rank (two such commits also preceded our 2026-09-04 22:23Z DCP hang, sparkring #215, though causality there is unproven). Separately, the price of publishing on a settled lane is small and consistent: -10 % first-token latency for a new 5K prompt and -3..-5 % single-prompt prefill at 16K/64K with the store off; decode unchanged.Asks
vllm:sparkcache_capture_*ownership gauges from Retain asynchronous store completion across worker polls #57, so operators can see this instead of inferring it from probe latency.SPARKCACHE_MAX_BYTESvs the low watermark for a lane whose working set exceeds the store (should the watermark gap be much larger than one hour of publications?).Happy to rerun with an instrumented build; the probe scripts and per-soak CSVs are in our site repo.