[PR #21] [MERGED] [TransferEngine][feature] support multiple metadata servers #1285

Closed
opened 2026-10-29 21:26:03 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/kvcache-ai/Mooncake/pull/21
Author: @alogfans
Created: 12/6/2024
Status: ✅ Merged
Merged: 12/10/2024
Merged by: @ShangmingCai

Base: main ← Head: multi-metastorage


📝 Commits (8)

  • dad90cc feature: support multiple metadata protocols
  • cdec91c fix: local cuda memcpy
  • 0506a85 fix: numa binding w/ cpuset
  • 15ac4a2 support redis metadata and doc update
  • 7387eb3 change vllm intergration API to support redis metadata
  • 23b6c62 trim unnecessary include files
  • 2e9f065 update pybind11 module
  • 4b3ae7f add docs for redis support

📊 Changes

18 files changed (+161 additions, -36 deletions)

View changed files

📝 CMakeLists.txt (+7 -0)
📝 README.md (+1 -0)
📝 dependencies.sh (+2 -1)
📝 doc/en/build.md (+3 -0)
📝 doc/en/error-code.md (+2 -2)
📝 doc/en/p2p-store.md (+1 -1)
📝 doc/en/transfer-engine.md (+4 -4)
📝 doc/zh/build.md (+3 -0)
📝 doc/zh/transfer-engine.md (+5 -4)
📝 mooncake-integration/vllm/vllm_adaptor.cpp (+11 -1)
📝 mooncake-integration/vllm/vllm_adaptor.h (+4 -0)
📝 mooncake-transfer-engine/example/transfer_engine_bench.cpp (+3 -2)
📝 mooncake-transfer-engine/include/common.h (+8 -1)
📝 mooncake-transfer-engine/include/transfer_metadata.h (+1 -1)
📝 mooncake-transfer-engine/src/CMakeLists.txt (+3 -0)
📝 mooncake-transfer-engine/src/transfer_metadata.cpp (+94 -9)
📝 mooncake-transfer-engine/src/transport/rdma_transport/worker_pool.cpp (+9 -0)
📝 mooncake-transfer-engine/tests/tcp_transport_test.cpp (+0 -10)

📄 Description

In addition to etcd, Mooncake Transfer Engine now supports redis to keep metadata. To use this, you should install libhiredis-dev first and compile Mooncake with -DUSE_REDIS=ON. Developers can also inherit the TransferMetadataImpl class to implement their own metadata storage logic.

This patch also fix problems in #12 (numa binding) and #20 (missing cudaMemcpy).


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/kvcache-ai/Mooncake/pull/21 **Author:** [@alogfans](https://github.com/alogfans) **Created:** 12/6/2024 **Status:** ✅ Merged **Merged:** 12/10/2024 **Merged by:** [@ShangmingCai](https://github.com/ShangmingCai) **Base:** `main` ← **Head:** `multi-metastorage` --- ### 📝 Commits (8) - [`dad90cc`](https://github.com/kvcache-ai/Mooncake/commit/dad90cc2b0fd130f345cd9821dec22f93eae9b6e) feature: support multiple metadata protocols - [`cdec91c`](https://github.com/kvcache-ai/Mooncake/commit/cdec91c534ecf75e93526e2f77f3b956c371f68e) fix: local cuda memcpy - [`0506a85`](https://github.com/kvcache-ai/Mooncake/commit/0506a850f1ad590a09a5ff1089c7eeb9c8df71b3) fix: numa binding w/ cpuset - [`15ac4a2`](https://github.com/kvcache-ai/Mooncake/commit/15ac4a2e412b72f556297390ae6137f7852ef5e0) support redis metadata and doc update - [`7387eb3`](https://github.com/kvcache-ai/Mooncake/commit/7387eb39f7a35f6cb1ab3488e933c0cee74e5cde) change vllm intergration API to support redis metadata - [`23b6c62`](https://github.com/kvcache-ai/Mooncake/commit/23b6c624dfc5e36f81b908ffa1af3f2f3312ad04) trim unnecessary include files - [`2e9f065`](https://github.com/kvcache-ai/Mooncake/commit/2e9f0655c4c4591be91b115aab823440d821586b) update pybind11 module - [`4b3ae7f`](https://github.com/kvcache-ai/Mooncake/commit/4b3ae7f6760522ff516e842e884026d5c63dc114) add docs for redis support ### 📊 Changes **18 files changed** (+161 additions, -36 deletions) <details> <summary>View changed files</summary> 📝 `CMakeLists.txt` (+7 -0) 📝 `README.md` (+1 -0) 📝 `dependencies.sh` (+2 -1) 📝 `doc/en/build.md` (+3 -0) 📝 `doc/en/error-code.md` (+2 -2) 📝 `doc/en/p2p-store.md` (+1 -1) 📝 `doc/en/transfer-engine.md` (+4 -4) 📝 `doc/zh/build.md` (+3 -0) 📝 `doc/zh/transfer-engine.md` (+5 -4) 📝 `mooncake-integration/vllm/vllm_adaptor.cpp` (+11 -1) 📝 `mooncake-integration/vllm/vllm_adaptor.h` (+4 -0) 📝 `mooncake-transfer-engine/example/transfer_engine_bench.cpp` (+3 -2) 📝 `mooncake-transfer-engine/include/common.h` (+8 -1) 📝 `mooncake-transfer-engine/include/transfer_metadata.h` (+1 -1) 📝 `mooncake-transfer-engine/src/CMakeLists.txt` (+3 -0) 📝 `mooncake-transfer-engine/src/transfer_metadata.cpp` (+94 -9) 📝 `mooncake-transfer-engine/src/transport/rdma_transport/worker_pool.cpp` (+9 -0) 📝 `mooncake-transfer-engine/tests/tcp_transport_test.cpp` (+0 -10) </details> ### 📄 Description In addition to etcd, Mooncake Transfer Engine now supports redis to keep metadata. To use this, you should install `libhiredis-dev` first and compile Mooncake with `-DUSE_REDIS=ON`. Developers can also inherit the `TransferMetadataImpl` class to implement their own metadata storage logic. This patch also fix problems in #12 (numa binding) and #20 (missing cudaMemcpy). --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-29 21:26:03 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kvcache-ai/Mooncake#1285
No description provided.