mirror of
https://github.com/kvcache-ai/Mooncake.git
synced 2026-11-05 01:17:55 +00:00
[PR #499] [MERGED] add support for batch transfer to accelerate transfer operation #1605
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#1605
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?
📋 Pull Request Information
Original PR: https://github.com/kvcache-ai/Mooncake/pull/499
Author: @ssssnow
Created: 6/16/2025
Status: ✅ Merged
Merged: 6/20/2025
Merged by: @ShangmingCai
Base:
main← Head:snow/add_batch_transfer📝 Commits (7)
63e0a0aadd support for batch transfer to accelerate transfer operation35bc940fix tcp port exhausted issue8d3a63dadd more info and fix double freecbd748drm unused freeBatchID79f5b35Merge branch 'main' into snow/add_batch_transferd21d566[chore] add TODO comment for batchTransfer49b3274[Fix] reset 0 to transfer bytes📊 Changes
6 files changed (+237 additions, -1 deletions)
View changed files
📝
mooncake-integration/transfer_engine/transfer_engine_py.cpp(+109 -1)📝
mooncake-integration/transfer_engine/transfer_engine_py.h(+16 -0)📝
mooncake-transfer-engine/include/multi_transport.h(+2 -0)📝
mooncake-transfer-engine/include/transfer_engine.h(+12 -0)📝
mooncake-transfer-engine/src/multi_transport.cpp(+35 -0)📝
mooncake-wheel/tests/transfer_engine_initiator_test.py(+63 -0)📄 Description
Add Support for Batch Transfer Interface
For transports such as RDMA, there is inherent overhead associated with initiating each transfer operation, which cannot be avoided. To achieve optimal performance—such as in MLA KVCache transfers—batch transfers can significantly outperform single-step transfers by reducing this overhead.
Below are the batch transfer speed results based on a 200*2Gbps RDMA setup:
Related test has been added to
mooncake-wheel/tests/transfer_engine_initiator_test.py🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.