Repository navigation
Conversation
19 of 44 tasks
Jzz1943
force-pushed
the
pr-hisparse-pd-mtp
branch
from
October 12, 2026 09:40
2aa69a6 to
c832f62
Compare
Jzz1943
marked this pull request as ready for review
October 12, 2026 09:44
Jzz1943
requested review from
BBuf,
DarkSharpness,
HaiShaw,
HydraQYH,
Ying1123,
alphabetc1,
celve,
hanming-lu,
hnyls2002,
huangtingwei9988,
hzh0425,
ispobock,
merrymercy,
xiezhq-hermann,
yizhang2077 and
yuan-luo
as code owners
October 12, 2026 09:44
Jzz1943
requested review from
ByronHsu,
Duyi-Wang,
ShangmingCai and
sogalin
as code owners
October 13, 2026 13:40
Jzz1943
force-pushed
the
pr-hisparse-pd-mtp
branch
from
October 15, 2026 02:11
49b686c to
b4c250b
Compare
4 of 5 tasks
Jzz1943
force-pushed
the
pr-hisparse-pd-mtp
branch
from
October 21, 2026 08:03
b4c250b to
8cfd1b6
Compare
14 of 49 tasks
Jzz1943
force-pushed
the
pr-hisparse-pd-mtp
branch
from
November 4, 2026 07:54
8cfd1b6 to
d96d9bd
Compare
Contributor
Author
The current HiSparse off/on results don’t isolate SHM’s contribution. I’ll add a comparison with HiSparse enabled in both cases, toggling only local SHM, and document the NIXL transport used. |
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.
Motivation
Enable HiSparse for hybrid DSA/linear-attention models in PD serving. DSA KV uses CPU backing storage and a GPU hot buffer, while KDA state remains on the GPU.
In our PD serving tests with GLM-5.3-Flash on 8 × H200, enabling HiSparse with
host_to_device_ratio=2increased KV capacity by 89% compared with HiSparse disabled. At concurrency 48 with long-context requests, it raises observed D-side concurrency from 34 to 48, improves output throughput by 9.1%, and reduces median TTFT by 84.9%, with a 23.6% increase in mean TPOT.This PR covers non-speculative decoding. A follow-up PR adding PD disaggregation + HiSparse + MTP support is coming soon.
Modifications
SGLANG_DISAGGREGATION_NIXL_LOCAL_SHM=1on both P and D. GPU state and notifications remain on NIXL; existing transfer behavior is retained by default.The shared-memory path initially supports Linux/CUDA, matching TP, PP1/DCP1, and flat MLA/DSA host KV pools without staging or draft KV.
Accuracy Tests
Full GSM8K on GLM-5.3-Flash, using 5-shot, temperature 0 and
reasoning_effort=low, without MTP:HiSparse achieves accuracy comparable to the baseline.
166 focused regression tests passed, covering transfer correctness, slot reuse, drain-before-release, peer isolation, cleanup and default-backend compatibility. BF16/FP8 two-process GPU transfers and pre-commit checks passed.
Speed Tests and Profiling
GLM-5.3-Flash on 8 × H200, same-node PD (P: GPUs 0–3; D: GPUs 4–7), TP4/EP4 per endpoint, FP8 TileLang KV, Triton MoE, no MTP. Both configurations use the same GPU memory budget, Prefill BCG and Decode CUDA Graphs. HiSparse uses
top_k=2048, a 4096-token device buffer andhost_to_device_ratio=2; CPU KV uses shared-memory D2H, while the baseline keeps full KV on GPU via NIXL.HiSparse increases full KV capacity by 1.89× at similar GPU memory usage, with 50 GB of CPU backing storage per rank:
Workload: 136.5K input / 1K output tokens, with a shared prefix on P and client concurrency 48. Results are medians of three runs after warmup; all requests succeeded.
HiSparse benefits KV-capacity-limited workloads: at C48, it improves throughput by 9.1% and reduces TTFT P50 by 84.9% by alleviating D-side queueing caused by limited KV capacity. The 23.6% higher TPOT may reflect both KV transfer overhead and larger decode batches. At C16/C32, where both configurations fit in GPU KV capacity, HiSparse reduces throughput by roughly 9%.
Checklist
Review and Merge Process
/tag-and-rerun-ci,/tag-run-ci-label,/rerun-failed-ciCI States
Latest PR Test (Base): ❌ Run #41795537367
Latest PR Test (Extra): ❌ Run #41795537022
Latest PR Test (AMD ROCm 10): ❌ Run #41795537087
Tip
Base CI only covers the core cases, and its workload may not exercise your change. Use
/rerun-testto run the tests your change touches, or copy this prompt for an agent: