mirror of
https://github.com/kvcache-ai/Mooncake.git
synced 2026-11-05 01:17:55 +00:00
[PR #1347] [MERGED] [Store][Feature]Introduce DataManager for unified local + remote data access #2182
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#2182
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/1347
Author: @swallowCXY
Created: 1/9/2026
Status: ✅ Merged
Merged: 1/16/2026
Merged by: @wanyue-wy
Base:
P2P-Mooncake-Store← Head:P2P-Mooncake-Store📝 Commits (10+)
803e015client rpc接口定义和data_manager初步实现f18d20a解决编译问题7635a2f补充头文件依赖dc2c6bf删除多余代码15eaf3aclient集成改为optional464b8faMerge pull request #1 from swallowCXY/cxy/client_rpc3c38290merge upstreamd44cf9badd data manager test and adapt to new DataSourcef9c4c04Merge pull request #2 from swallowCXY/cxy/client_rpcbf95586stub implementation and format change📊 Changes
13 files changed (+1918 additions, -2 deletions)
View changed files
➕
mooncake-store/include/client_rpc_service.h(+85 -0)➕
mooncake-store/include/client_rpc_types.h(+74 -0)📝
mooncake-store/include/client_service.h(+18 -0)➕
mooncake-store/include/data_manager.h(+134 -0)➕
mooncake-store/include/peer_client.h(+31 -0)📝
mooncake-store/include/types.h(+3 -2)📝
mooncake-store/src/CMakeLists.txt(+3 -0)➕
mooncake-store/src/client_rpc_service.cpp(+193 -0)➕
mooncake-store/src/data_manager.cpp(+212 -0)➕
mooncake-store/src/peer_client.cpp(+48 -0)📝
mooncake-store/tests/CMakeLists.txt(+2 -0)➕
mooncake-store/tests/client_rpc_service_test.cpp(+526 -0)➕
mooncake-store/tests/data_manager_test.cpp(+589 -0)📄 Description
Description
This PR adds a new DataManager component to provide local and remote data access APIs for Client in Mooncake Store, as mentioned in ISSUE 1209. Local data access (Put/Get/Delete) is fully implemented using TieredBackend. Remote access (ReadData/WriteData) has the framework in place (RPC types, request routing, and transfer hooks), but the transfer path is currently scaffolding-only and will be completed in follow-up PRs.
Key Changes
Added
DataManagerPut,Get,Delete(fully implemented)ReadData,WriteData(framework only)std::shared_mutex) to support concurrent access:MOONCAKE_DM_LOCK_SHARD_COUNTRemote RPC integration (framework)
RemoteBufferDesc,RemoteReadRequest,RemoteWriteRequest, batch variants).ClientRpcServicedelegates remote read/write RPC calls toDataManager, passingRemoteBufferDescdirectly.Ownership + dependency model
DataManagerownsTieredBackend(unique ownership).TransferEngineremains shared (shared ownership), as it is used across components.Type of Change
How Has This Been Tested?
Checklist
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.