Skip to the content.

Warm-cache budget scheduling alternatives — 2026-08-10

Verdict

INCOMPLETE. The local packet executes fak’s rate-limit-aware warm-budget planner and ranked scheduler plus a demand-only/no-proactive-warming baseline. LMCache, Mooncake, NIXL, vLLM, and SGLang retain zero measurements until their real cache engines run the common request trace; #6152 tracks those witnesses.

Same-workload contract

Every arm receives the same provider rate-limit snapshot (10 RPM/20k TPM ceilings, 8 RPM/10k TPM real traffic), 1,000-token anchor, one-minute TTL, and six candidates spanning hot/large, dense, frequent/small, cold/large, regulated/hot, and invalid-negative demand. Fak’s sustainable set is two. The independent quality oracle expects hot-large then dense, excludes regulated content, captures 89,000 score units, and consumes 2,000 planned warm tokens.

Complete engine runs replay the same arrival trace and report useful warm hits, captured value, wasted writes, quota violations, request/planning latency and throughput, input/write/read tokens, CPU/RSS/network/storage, and total cost.

Arm Class Local availability Honest result
fak native warm-budget scheduler native yes correct two-prefix set; 89,000 value units
demand-only fills without proactive warming tuned baseline yes zero warm quota and zero pre-arrival value
fak + LMCache first-class integration no real transfer and cache runtime required
fak + Mooncake first-class integration no real transfer and cache runtime required
fak + NIXL first-class integration no real lease/transfer runtime required
vLLM automatic prefix caching external no zero measurements
SGLang HiCache and cache-aware scheduling external no zero measurements

Adapters and planner-shaped mocks are not cache-engine witnesses.

Local native witness

go test ./internal/vcachegov -bench BenchmarkWarmBudgetSchedule -benchmem -run '^$' -count=5

Windows/amd64, AMD Ryzen 9 9950X: 158.3, 139.7, 177.4, 182.6, 189.6 ns/op. Median: 177.4 ns/six-candidate plan, 488 B/op, 4 allocs/op. This is scheduler overhead, not cache transfer, model latency, or end-to-end cost.

Reproduce

go test ./internal/vcachegov -run TestCompareLocalKeepsWarmSchedulingAlternativesExplicit
go test ./internal/vcachegov -bench BenchmarkWarmBudgetSchedule -benchmem -run '^$' -count=5
go test ./internal/nativebench