[PR #1365] [MERGED] [Store][Feature] Add CXL storage for mooncake_store #2197

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

📋 Pull Request Information

Original PR: https://github.com/kvcache-ai/Mooncake/pull/1365
Author: @qiuweit7
Created: 1/13/2026
Status: ✅ Merged
Merged: 1/28/2026
Merged by: @stmatengss

Base: main ← Head: mooncake_qwt


📝 Commits (5)

  • 8e49e3f [Store] feat: add cxl storage for mooncake store
  • 67dc2ce Update extern/pybind11 to match main
  • eb65e35 fix: use fake cxl device to bypass ci-test error
  • dcfed8a merge main to fix conflicts
  • 4edfc83 Fix code formatting in segment.cpp

📊 Changes

23 files changed (+847 additions, -62 deletions)

View changed files

📝 .github/workflows/ci.yml (+1 -1)
📝 mooncake-store/include/allocation_strategy.h (+59 -0)
📝 mooncake-store/include/allocator.h (+8 -1)
📝 mooncake-store/include/client_service.h (+10 -2)
📝 mooncake-store/include/master_config.h (+75 -1)
📝 mooncake-store/include/master_service.h (+4 -1)
📝 mooncake-store/include/segment.h (+10 -2)
📝 mooncake-store/include/types.h (+5 -2)
📝 mooncake-store/src/allocator.cpp (+22 -2)
📝 mooncake-store/src/client_service.cpp (+40 -8)
📝 mooncake-store/src/master.cpp (+29 -1)
📝 mooncake-store/src/master_service.cpp (+12 -2)
📝 mooncake-store/src/real_client.cpp (+61 -33)
📝 mooncake-store/src/segment.cpp (+46 -4)
📝 mooncake-store/tests/CMakeLists.txt (+1 -0)
📝 mooncake-store/tests/client_integration_test.cpp (+3 -2)
➕ mooncake-store/tests/cxl_client_integration_test.cpp (+420 -0)
📝 mooncake-store/tests/test_server_helpers.h (+22 -0)
📝 mooncake-transfer-engine/include/multi_transport.h (+2 -0)
📝 mooncake-transfer-engine/include/transfer_engine.h (+2 -0)

...and 3 more files

📄 Description

Description

This is the first PR for the CXL feature.
It introduces Mooncake storage backed by CXL shared memory: the Master centrally manages and allocates CXL segments, currently using CacheLib as the default allocator. Clients can read and write the CXL device through the Put/Get APIs, and BatchPut/BatchGet interfaces are also provided.

Type of Change

  • Types
    • Bug fix
    • New feature
      • Transfer Engine
      • Mooncake Store
      • Mooncake EP
      • Integration
      • P2P Store
      • Python Wheel
    • Breaking change
    • CI/CD
    • Documentation update
    • Other

How Has This Been Tested?

Checklist

  • I have performed a self-review of my own code.
  • I have updated the documentation.
  • I have added tests to prove my changes are effective.

🔄 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/1365 **Author:** [@qiuweit7](https://github.com/qiuweit7) **Created:** 1/13/2026 **Status:** ✅ Merged **Merged:** 1/28/2026 **Merged by:** [@stmatengss](https://github.com/stmatengss) **Base:** `main` ← **Head:** `mooncake_qwt` --- ### 📝 Commits (5) - [`8e49e3f`](https://github.com/kvcache-ai/Mooncake/commit/8e49e3fff353595e9ded5eab0246a0cc524c9038) [Store] feat: add cxl storage for mooncake store - [`67dc2ce`](https://github.com/kvcache-ai/Mooncake/commit/67dc2ce72f19982b8af44a2e6718ef22f88a22cb) Update extern/pybind11 to match main - [`eb65e35`](https://github.com/kvcache-ai/Mooncake/commit/eb65e357c123d791d5b1db586f8aaff32a4f77cb) fix: use fake cxl device to bypass ci-test error - [`dcfed8a`](https://github.com/kvcache-ai/Mooncake/commit/dcfed8ab4fbc963eb74a1f2154902b373b89ec7f) merge main to fix conflicts - [`4edfc83`](https://github.com/kvcache-ai/Mooncake/commit/4edfc83577c1d938fa6090c8185cec1afbbaca6b) Fix code formatting in segment.cpp ### 📊 Changes **23 files changed** (+847 additions, -62 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/ci.yml` (+1 -1) 📝 `mooncake-store/include/allocation_strategy.h` (+59 -0) 📝 `mooncake-store/include/allocator.h` (+8 -1) 📝 `mooncake-store/include/client_service.h` (+10 -2) 📝 `mooncake-store/include/master_config.h` (+75 -1) 📝 `mooncake-store/include/master_service.h` (+4 -1) 📝 `mooncake-store/include/segment.h` (+10 -2) 📝 `mooncake-store/include/types.h` (+5 -2) 📝 `mooncake-store/src/allocator.cpp` (+22 -2) 📝 `mooncake-store/src/client_service.cpp` (+40 -8) 📝 `mooncake-store/src/master.cpp` (+29 -1) 📝 `mooncake-store/src/master_service.cpp` (+12 -2) 📝 `mooncake-store/src/real_client.cpp` (+61 -33) 📝 `mooncake-store/src/segment.cpp` (+46 -4) 📝 `mooncake-store/tests/CMakeLists.txt` (+1 -0) 📝 `mooncake-store/tests/client_integration_test.cpp` (+3 -2) ➕ `mooncake-store/tests/cxl_client_integration_test.cpp` (+420 -0) 📝 `mooncake-store/tests/test_server_helpers.h` (+22 -0) 📝 `mooncake-transfer-engine/include/multi_transport.h` (+2 -0) 📝 `mooncake-transfer-engine/include/transfer_engine.h` (+2 -0) _...and 3 more files_ </details> ### 📄 Description ## Description This is the first PR for the CXL feature. It introduces Mooncake storage backed by CXL shared memory: the Master centrally manages and allocates CXL segments, currently using CacheLib as the default allocator. Clients can read and write the CXL device through the Put/Get APIs, and BatchPut/BatchGet interfaces are also provided. ## Type of Change * Types - [ ] Bug fix - [x] New feature - [ ] Transfer Engine - [x] Mooncake Store - [ ] Mooncake EP - [ ] Integration - [ ] P2P Store - [ ] Python Wheel - [ ] Breaking change - [ ] CI/CD - [ ] Documentation update - [ ] Other ## How Has This Been Tested? <!-- Please describe the tests you've run to verify your changes. --> ## Checklist - [x] I have performed a self-review of my own code. - [ ] I have updated the documentation. - [x] I have added tests to prove my changes are effective. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-29 21:33:31 +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#2197
No description provided.