Repository navigation
Conversation
Signed-off-by: S1ro1 <matej.sirovatka@gmail.com> Co-authored-by: OpenAI Codex
Contributor
|
@S1ro1 is this ready for review? |
This was referenced Sep 29, 2026
Member
|
Thanks for the PR! Closing in favor of #59282 though, which should help admit requests in more cases |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A HiSparse host-prefix cache hit can re-pin free GPU shadow copies before allocating the request's hot region. Those pins were omitted from device-block admission, so a request could pass the capacity check and then crash the engine with
Cannot get 64 free blocks from the pool.This change counts the unique, currently free GPU copies associated with the local host-prefix hit. The host manager includes that cost in the existing admission calculation; running requests and already-pinned copies add no cost. Under pressure, admission returns
Noneso the scheduler can defer the request instead of exhausting the pool. GPU-copy reuse is preserved.The regression uses real CPU block pools through
KVCacheManager.allocate_slots. It exercises three insufficient-capacity cases, an exact-fit case, retry after pressure is released, and preservation of surviving copies when one earlier copy was evicted.Validation
Base: upstream
213c379.8def699(format-only changes after the test run).TEST_ENVis the prepared vLLM/Prime RL dependency environment.CPU_TEST_WRAPPERselectsvllm.platforms._current_platform = CpuPlatform()and callspytest.main(sys.argv[1:]). The negative name filter matched no test in this checkout; all 163 tests ran.Tests are run with the prepared CUDA dependency environment on a GPU-less host, explicitly selecting
CpuPlatformbefore pytest collection. The wrapper and logs are retained locally; no installed package files were modified.Model/serving evidence and limits
The equivalent admission accounting was exercised as a local runtime adapter on B300 before this upstream refactor. Configuration: one EP8 prefill node using DeepEP high throughput, one EP8 decode node using DeepEP low latency, GLM-5.3 FP8 revision
aca966e4e02791568aa6a4ced368624b3d897f42, BF16 KV, HiSparse on decode, index cache, NIXL pull and Mooncake CPU store. GPU KV was capped at 48 GiB/rank to force pressure. The tested vLLM source wasf7f56f01d0f588f46c20035d3ab87cf16f25addf, with a separate complete-prefix NIXL adapter and the HiSparse layer-offset fix.Those GPU results validate the local adapter's behavior, not a model run of this new upstream commit. The final upstream implementation is covered by the regression tests above. No throughput improvement is claimed.
Duplicate-work check and scope
Reviewed issue #56699 and its comments, open PRs referencing it, and open PRs matching HiSparse/NIXL, admission, prefix, copies, and free blocks.
AI assistance (OpenAI Codex) was used for investigation, implementation, tests, and this description. Tests reported here were run by the agent. The user explicitly authorized this draft for review and assessment by vLLM collaborators. Human line-by-line review and independent validation are still pending; this draft is not presented as merge-ready.