Repository navigation
Conversation
Signed-off-by: Markov Ilya <markovilya197@gmail.com>
Contributor
|
This pull request has merge conflicts that must be resolved before it can be |
…kov/glm53-optimize-nixl-packing Signed-off-by: Markov Ilya <markovilya197@gmail.com>
Signed-off-by: Markov Ilya <markovilya197@gmail.com>
Contributor
|
This pull request has merge conflicts that must be resolved before it can be |
6 tasks done
Signed-off-by: Markov Ilya <markovilya197@gmail.com>
…e-nixl-packing # Conflicts: # vllm/distributed/kv_transfer/kv_connector/v1/nixl/base_worker.py Signed-off-by: Markov Ilya <markovilya197@gmail.com>
Signed-off-by: Markov Ilya <markovilya197@gmail.com>
Signed-off-by: Markov Ilya <markovilya197@gmail.com>
1 task done
ilmarkov
marked this pull request as ready for review
October 12, 2026 11:05
ilmarkov
requested review from
ApostaC,
NickLucche,
ivanium,
orozery,
wzhao18 and
xuechendi
as code owners
October 12, 2026 11:06
Contributor
Author
|
Related to #60564 |
Contributor
|
This pull request has merge conflicts that must be resolved before it can be |
Open
6 tasks done
This branch has not been deployed
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.
Overview
Coalesce eligible, physically adjacent MLA KV-cache layer views into packed NIXL memory regions within each transfer group. This reduces repeated block-descriptor registration while preserving the transfer-group mappings.
The new partial-span coalescing applies to NIXL pull workers only. Push keeps its existing packed-row registration; this change does not add partial-span coalescing or mixed-layout fallback for push. Push can be supported with this optimization in follow-up PRs.
Claims
The optimization requires a block-outermost KV-cache layout; the GLM-5.3 deployment used
BLHNC. Coalescing also requires compatible region geometry and adjacency. Other layouts and ineligible regions use the standard registration path.Validated with
RedHatAI/GLM-5.3-MXFP4on a GB200 NVL72, using one EP8 prefill replica and one EP8 decode replica. The deployment used the block-outermostBLHNClayout. The workload was Weka agentic multi-turn replay, with roughly 110–160K input tokens and 900–1,000 output tokens per request.At concurrency 32, the NIXL numbers are:
Latency figures are medians across the dashboards’ repeated p95 estimates during each run.
Validation
Added unit coverage for NIXL descriptor geometry and push-connector layout metadata.
gsm8k validation
RedHatAI/GLM-5.3-MXFP4, P/D deployment prefill DEP8, decode DEP8, VLLM_KV_CACHE_LAYOUT: "BLHNC", dspark(RedHatAI/GLM-5.3-speculator.dspark)Details
Root problem
With GLM-5.3’s block-outermost KV layout, adjacent MLA layer views can occupy contiguous memory. NIXL’s registration loop still registers those views separately, repeating block descriptors across layers. This increases registered descriptor volume and contributes to NIXL post overhead.
Design
Coalesce adjacent, geometry-compatible MLA views into a wider NIXL region within the same transfer group. Preserve the layer-to-region mapping and exclude packed-span regions from later address-based deduplication.
The optimization is guarded by backing-storage, device, cache-spec, stride, block-count, and adjacency checks. Ineligible regions continue through the normal registration path.
Pull Request Checklist
I used vLLM's
/pr-checklistskill. (Mandatory for agents, optional for humans).AI assistance was used during the creation of this PR.
Design Fit: Minimizes impact on core components, reuses existing functionality, and justifies added complexity.
Testing and Validation: Validates the change and ensures any added tests are meaningful and reliable, with CI coverage or documented CI resource constraints and validation performed outside CI.
Code Quality and Style: Keeps code and comments clear and concise, and updates relevant documentation and examples.
Pull Request Contents: Includes a brief summary and relevant links, supports claims with evidence, explains root causes and implementation trade-offs, and follows the contributing guide.