mirror of
https://github.com/kvcache-ai/Mooncake.git
synced 2026-11-05 01:17:55 +00:00
[PR #1330] [MERGED] [TENT] fix a bug in memory registration and add TENT support to the example #2165
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#2165
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/1330
Author: @staryxchen
Created: 1/5/2026
Status: ✅ Merged
Merged: 1/6/2026
Merged by: @alogfans
Base:
main← Head:fix/tent📝 Commits (4)
6c835ccfix(register-memory): correct function call and add metadata sync55eebe9feat(example): add TENT backend support and refactor common utilities3946735refactor(example): simplify protocol handling and improve signal managementec31e7cstyle: reformat comment line length in transfer engine📊 Changes
4 files changed (+357 additions, -154 deletions)
View changed files
📝
mooncake-transfer-engine/example/CMakeLists.txt(+4 -0)📝
mooncake-transfer-engine/example/transfer_engine_bench.cpp(+342 -145)📝
mooncake-transfer-engine/tent/src/runtime/transfer_engine_impl.cpp(+10 -8)📝
mooncake-transfer-engine/tent/src/transfer_engine.cpp(+1 -1)📄 Description
Description
This PR adds TENT backend support to the transfer engine benchmark and fixes a critical bug in memory registration that prevented remote peers from discovering newly registered buffers.
Changes
Bug Fix: Memory Registration Metadata Sync
Problem: When calling
registerLocalMemory(void* addr, size_t size, Permission permission)with a single buffer, the registered memory was not visible to remote peers because the local segment metadata was not synchronized to the metadata server.Root Cause:
transfer_engine.cpp, the single-buffer overload incorrectly called itself recursively instead of delegating to the implementation.transfer_engine_impl.cpp, the single-buffer overload did not trigger metadata synchronization after registration.Fix:
TransferEngine::registerLocalMemoryto properly delegate toimpl_->registerLocalMemorymetadata_->segmentManager().synchronizeLocal()call after successful buffer registration to ensure remote peers can discover the new buffersFeature: TENT Backend Support in Benchmark
--backendflag to select betweenclassicandtentbackendstent_backendnamespaceUSE_TENTis enabledType of Change
How Has This Been Tested?
Testing
Checklist
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.