mirror of
https://github.com/kvcache-ai/Mooncake.git
synced 2026-11-05 01:17:55 +00:00
[GH-ISSUE #1421] [Help Wanted] High-performance send/recv implementation for Mooncake PG #456
Labels
No labels
ascend
auto-closed
bug
bug
CI/Build
Common
documentation
enhancement
feature request
good first issue
help wanted
high priority
MetaX
nightly-failure
pull-request
PyTorch Backend
question
RFC
Roadmap
stale
Store
Tests
Transfer Engine
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kvcache-ai/Mooncake#456
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @UNIDY2002 on GitHub (Jan 22, 2026).
Original GitHub issue: https://github.com/kvcache-ai/Mooncake/issues/1421
Originally assigned to: @Bruce-x-1997 on GitHub.
Motivation
Mooncake PG is a
torch.distributedbackend built on top of Mooncake TE, providing a full set of collective communication primitives. While most collectives are performance-oriented, the current implementation of point-to-point primitives (torch.send/torch.recv) is significantly under-optimized and has become a performance bottleneck in practice.We are looking for help to design and implement a high-performance send/recv path for Mooncake PG.
Improving send/recv performance directly unlocks better scalability and responsiveness for elastic MoE and LLM serving systems, where dynamic data movement is on the critical path.
Use Case
A representative use case is Expert Parallel Load Balancing (EPLB) in LLM serving. In this workflow, expert parameters are dynamically exchanged across ranks using
torch.distributed.batch_isend_irecv, which relies heavily on efficient send/recv under the hood.Typical characteristics:
Example: https://github.com/sgl-project/sglang/pull/12068 relies on high performance send/recv of Mooncake.
Constraints / Assumptions
Notes for Contributors
Where to Start
If you’re interested in contributing, the following entry points may be helpful:
MooncakeBackend::send,MooncakeBackend::recvimplementations inmooncake_backend.cpp@staryxchen commented on GitHub (Jan 23, 2026):
Can we develop a benchmark to measure current performance? Using this benchmark, we can quantify any optimization implemented, thereby evaluating their effectiveness.
@yuechen-sys commented on GitHub (Jan 23, 2026):
We could refer to nccl-test to implement our benchmark. It provides a comprehensive characterization of collective communication operations.
@staryxchen commented on GitHub (Jan 23, 2026):
nccl-test is indeed a good benchmark. I believe we only need to implement a small portion of it.
@yuechen-sys commented on GitHub (Jan 23, 2026):
Agreed. Currently, we only need standard metrics like bandwidth and latency to guide further development. We can align our benchmark's test cases with NCCL to understand the performance gap between NCCL and Mooncake PG. But the implementation could be simple.
@Bruce-x-1997 commented on GitHub (Jan 26, 2026):
maybe I could try this one
@ykwd commented on GitHub (Jan 28, 2026):
@Bruce-x-1997 Many thanks. Do you have any thoughts or ideas so far on performance optimizations for PG?