Repository navigation
telemetry: decode-only cache hit rate, prompt checkpoint retention, and dashboard - #39
code-martin wants to merge 3 commits into
Conversation
…ision - Replace static cudaMalloc with CUDA Virtual Memory Management (cuMemAddressReserve, cuMemCreate, cuMemMap/cuMemUnmap, cuMemSetAccess) - Add graceful fallback to cudaMalloc on devices without VMM support - Preserve base virtual address space across resizes so that CUDA graph captures and slot pointers remain valid - Add shrink() and grow() methods to ExpertCache - Add RESIZE <bytes> and GROW <bytes> interactive stdin commands to strata engine - Start StrataEngine before Vision in main() so the model sees full free VRAM - Keep vision encoder idle at server boot (0 bytes VRAM allocated during text gen) - Spawn strata-vision.exe on-demand inside Vision.encode() only while encoding - Coordinate engine VMM shrink (resize) before vision startup and grow after exit - Recover 500+ expert cache slots (~2460 vs 1840) on 10-12 GB GPUs
- Track routing usage frequencies per layer during token generation - Implement dynamic expert swapping between VRAM resident slots and host RAM - Add exponential frequency decay (0.985 factor per round) to prevent cache sticking - Add hysteresis gain threshold to avoid thrashing - Add ADAPT interactive command and per-request adaptation trigger in server
- Reset hit/lookup baseline at decode start to exclude prompt prefill distortion - Add req_hits, req_look, total_swaps, and drift to DONE output line - Expose recent_hit_pct, recent_hits, and cumulative stats in /metrics and /api/stats - Add Expert Cache Hit Rate progress bar and swaps counter to Monitor tab - Add Hit rate column to Recent requests table in web UI
|
Thanks for the work and the write-ups. I went through all three carefully, and I'm not merging them as they are - here is why, so the useful parts can come back in a shape that fits: #37 (VMM cache + on-demand vision):
#38 (adaptive eviction): it mostly retunes the adaptation the engine already has (0.7 was already exponential decay), the new #39 (telemetry): it changes What I'd gladly take as small separate PRs against current main: the per-request decode hit rate (the DONE fields, the Monitor column), keeping the root checkpoint (only the first turn boundary), the |
Start tuned IQ3_S model from the V100 boot service
Summary
Refines MoE cache telemetry to accurately report token generation hit rate (excluding prompt prefill skew), adds multi-turn prefix/system prompt KV cache retention, and provides real-time cache metrics in the web UI.
Key Changes
eq_hits,
eq_look, otal_swaps, and drift.
ecent_hit_pct,
ecent_hits,
ecent_lookups, and cumulative counters in /metrics and /api/stats.
Testing