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
{{ message }}
Repository navigation
Commit a499cb9
Browse filesBrowse the repository at this point in the historyBrowse files
Bound GPU snapshot rows by memory, not a fixed count
Snapshot capacity was fixed at eight rows per concurrent request (256 at
concurrency 32) regardless of memory. On a long agent conversation the
GPU therefore evicted 94% of the checkpoints it created while 55-73% of
its KV pool sat free, and the host store refilled what the GPU dropped.
Capacity is now whatever the borrowable KV backing can alias, which the
planner already computes and caps by memory and virtual extent; rows and
request pages keep yielding to each other through the existing pressure
eviction. The per-request capture budget stays at most eight, so prefill
cuts are unchanged. No package re-export is needed. The design docs (core design, runtime
package, CLI) describe the memory-bounded capacity.
Validation: upstream CI's Linux commands: helios the same 1190 passed /
7 failed as main (main's DeepSeek tokenizer-fixture defect), selene and
selene-manager all passed. Tests: capacity grows with memory, the
per-request budget stays eight, cached rows yield backing to admission.
CPU measurements at 256 vs 1,350 rows: blocked snapshot search 7.2 vs
80.5 us, median leaf eviction 2.0 vs 13.6 us, reclaiming 128 rows 0.49
vs 1.98 ms. Not yet run on a GPU.
Design-Signed-Off-By: yatesdr; design-review=1c01
Copy file name to clipboardExpand all lines: docs/cli-design.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1117,9 +1117,9 @@ value in preference to that recorded reserve.
1117
1117
1118
1118
The GPU prefix cache is derived. It holds model states at instruction,
1119
1119
prompt, and answer boundaries so that later requests repeating a prefix skip
1120
-
recomputing it. A finished exchange can retain its prompt and answer states, so the
1121
-
engine exposes up to eight snapshot slots per concurrent request, about four
1122
-
recent exchanges each. Snapshot slots share physical backing with KV pages and
1120
+
recomputing it. Immutable snapshot capacity is bounded by borrowable KV backing
1121
+
and the prepared virtual extent. The per-request capture budget is capped at
1122
+
eight. Snapshot slots share physical backing with KV pages and
1123
1123
acquire it only when retaining a checkpoint. Unpinned checkpoints are evicted
1124
1124
to admit requests. If active requests or transfers own all suitable backing,
1125
1125
the engine skips optional checkpoint retention. There is no dedicated snapshot
@@ -1189,7 +1189,7 @@ every rank and have no configuration-file key. See
1189
1189
| Tensor-parallel size | Count of `--gpus`, or the smallest recipe-supported size whose estimate fits the first GPUs with enough free memory |
1190
1190
| Context limit | The smaller of the prepared context ceiling and loaded KV capacity after per-request draft-page storage; admission also checks available shared capacity |
1191
1191
| KV pages | Remaining supply after the runtime memory limit or package reserve, engine headroom, weights, graphs, scratch, and execution rows; bounded by `--kv-cache-limit` and prepared virtual extents. Retained snapshot rows borrow page backing; the load display reports total KV capacity |
1192
-
| Prefix cache |Up to eight snapshot slots per `--max-concurrency` request, acquired on demand from shared KV backing and evicted under pressure |
1192
+
| Prefix cache |Immutable snapshot capacity bounded by borrowable KV backing and the prepared virtual extent, acquired on demand and evicted under pressure; per-request capture budget capped at eight|
1193
1193
| Live state | One null row plus the recipe's execution rows per active request slot; GLM verification commits into one live row |
1194
1194
| Decode graph capacities | 1 through `--max-concurrency`, rounded to the recipe's captured set |
1195
1195
| Image feature arena | Prepared image concurrency times per-request feature capacity and embedding width; slots remain owned through request retirement |
0 commit comments