Skip to content

[Performance][EPD] Reduce Python proxy serialization overhead - #56657

Merged
ywang96 merged 2 commits into
vllm-project:mainfrom
gty111:epd-proxy-json-bytes
Sep 13, 2026
Merged

ywang96 merged 2 commits into
vllm-project:mainfrom
gty111:epd-proxy-json-bytes

Conversation

@gty111

@gty111 gty111 commented Sep 13, 2026

Copy link
Copy Markdown
Collaborator

Purpose

Reduce serialization overhead in the Python EPD proxy:

  • Use the existing msgspec dependency for JSON requests and E/P metadata.
  • Forward final response bytes without JSON re-encoding or SSE text decoding.
  • Keep routing, retries and cache-key generation unchanged.

Checked #52409 and open proxy PRs; no duplicate found. Unlike #54140 (error propagation), this targets serialization overhead.

Validation

MUIRBench: Qwen3.5-35B-A3B, 4E + 4PD across two GB200 nodes, Mooncake RDMA, concurrency 96, V2 runner, CUDA graphs up to 16384 tokens (no eager). 200 warmup requests + 5 runs of the same first 1200 questions, caches retained; 6000/6000 formal requests succeeded.

Command used with the local frozen benchmark harness (five repetitions):

.venv/bin/python bench_frozen.py --base-url http://192.168.0.102:25160/v1 --model Qwen/Qwen3.5-35B-A3B --backend vllm --procs 8 --concurrency 96 --limit 1200 --prebuild --out repN.json
Metric Historical Python proxy This run Change
Throughput 61.40 req/s 92.77 req/s +51.09%
Mean latency 1514 ms 1009 ms -33.37%
P99 latency 5007 ms 2982 ms -40.45%
Accuracy 58.93% 58.98% +0.05 pp

Historical reference only: nodes and main revisions differ, so the full gain cannot be attributed to this change. Prompt/completion token counts match for every paired request.

AI assistance was used for implementation and validation.

Signed-off-by: Tianyu Guo <guoty@inferact.ai>

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@mergify

mergify Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Documentation preview: https://vllm--56657.org.readthedocs.build/en/56657/

@mergify mergify Bot added documentation Improvements or additions to documentation kv-connector labels Sep 13, 2026
@gty111 gty111 added the ready ONLY add when PR is ready to merge/full CI is needed label Sep 13, 2026
@gty111

gty111 commented Sep 13, 2026

Copy link
Copy Markdown
Collaborator Author

/ci run

@github-actions

Copy link
Copy Markdown

✅ Triggered Buildkite CI #88591 for commit 5a0f022c36f0.

@Isotr0py Isotr0py left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@gty111

gty111 commented Sep 13, 2026

Copy link
Copy Markdown
Collaborator Author

/ci run

@github-actions

Copy link
Copy Markdown

✅ Triggered Buildkite CI #88622 for commit 50762fd94ff3.

@ywang96
ywang96 merged commit 319cc5e into vllm-project:main Sep 13, 2026
34 checks passed
Shreya-gaur pushed a commit to Shreya-gaur/vllm_private that referenced this pull request Sep 14, 2026
jiaran-king added a commit to jiaran-king/vllm that referenced this pull request Sep 15, 2026
Merge upstream main at 3192898.
Include the EPD proxy serialization optimization (vllm-project#56657), JSON-array
multimodal metadata (vllm-project#56090), and media processing options forwarding
(vllm-project#56786). Git merged the overlapping Mooncake KV worker and tests without
conflicts; no manual code adjustments were needed.

Validation: 61 EC/cache/runner/proxy CPU tests and 171 Mooncake KV Store
worker CPU tests passed. PR-file pre-commit, including mypy 3.10, passed.

Co-authored-by: Codex <noreply@openai.com>
Signed-off-by: Zhou ziheng <jiaranran2@gmail.com>
ItsRoy69 pushed a commit to ItsRoy69/vllm that referenced this pull request Sep 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation kv-connector ready ONLY add when PR is ready to merge/full CI is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants