[PR #1238] [MERGED] feat(rdma): add parallel memory region registration support #2097

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

📋 Pull Request Information

Original PR: https://github.com/kvcache-ai/Mooncake/pull/1238
Author: @staryxchen
Created: 12/18/2025
Status: ✅ Merged
Merged: 12/20/2025
Merged by: @ykwd

Base: main ← Head: feat/add-parallel-mr-registration


📝 Commits (3)

  • d34a1d0 feat(rdma): add parallel memory region registration control
  • 80ce8cd Update docs/source/design/transfer-engine/index.md
  • 6a04c8b style: reformat function parameter lists for better readability

📊 Changes

5 files changed (+141 additions, -25 deletions)

View changed files

📝 docs/source/design/transfer-engine/index.md (+1 -0)
📝 mooncake-transfer-engine/include/config.h (+1 -0)
📝 mooncake-transfer-engine/include/transport/rdma_transport/rdma_transport.h (+11 -0)
📝 mooncake-transfer-engine/src/config.cpp (+13 -0)
📝 mooncake-transfer-engine/src/transport/rdma_transport/rdma_transport.cpp (+115 -25)

📄 Description

Description

This PR introduces a configurable parallel memory region registration feature with significant performance improvements.

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?

I conducted several tests to validate performance, the script is attached.
perf.tar.gz

  • MC_ENABLE_PARALLEL_REG_MR not set
Function 'register_memory' used 9.848765 seconds.
Function 'unregister_memory' used 1.818679 seconds.
Function 'register_memory_batch' used 4.487107 seconds.
Function 'unregister_memory_batch' used 1.990713 seconds.
  • MC_ENABLE_PARALLEL_REG_MR Set to 0
Function 'register_memory' used 45.897700 seconds.
Function 'unregister_memory' used 11.765862 seconds.
Function 'register_memory_batch' used 4.623039 seconds.
Function 'unregister_memory_batch' used 2.043466 seconds.
  • MC_ENABLE_PARALLEL_REG_MR Set to 1
Function 'register_memory' used 10.250118 seconds.
Function 'unregister_memory' used 1.797548 seconds.
Function 'register_memory_batch' used 7.006364 seconds.
Function 'unregister_memory_batch' used 1.844199 seconds.

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/1238 **Author:** [@staryxchen](https://github.com/staryxchen) **Created:** 12/18/2025 **Status:** ✅ Merged **Merged:** 12/20/2025 **Merged by:** [@ykwd](https://github.com/ykwd) **Base:** `main` ← **Head:** `feat/add-parallel-mr-registration` --- ### 📝 Commits (3) - [`d34a1d0`](https://github.com/kvcache-ai/Mooncake/commit/d34a1d051a90f575edf058bb04f4b1eade161933) feat(rdma): add parallel memory region registration control - [`80ce8cd`](https://github.com/kvcache-ai/Mooncake/commit/80ce8cdfde0221803341d781138dd5b9399b97bd) Update docs/source/design/transfer-engine/index.md - [`6a04c8b`](https://github.com/kvcache-ai/Mooncake/commit/6a04c8b4ab0b7ed65e58422691c8feb4e483075a) style: reformat function parameter lists for better readability ### 📊 Changes **5 files changed** (+141 additions, -25 deletions) <details> <summary>View changed files</summary> 📝 `docs/source/design/transfer-engine/index.md` (+1 -0) 📝 `mooncake-transfer-engine/include/config.h` (+1 -0) 📝 `mooncake-transfer-engine/include/transport/rdma_transport/rdma_transport.h` (+11 -0) 📝 `mooncake-transfer-engine/src/config.cpp` (+13 -0) 📝 `mooncake-transfer-engine/src/transport/rdma_transport/rdma_transport.cpp` (+115 -25) </details> ### 📄 Description ## Description This PR introduces a configurable parallel memory region registration feature with significant performance improvements. ## Type of Change * Types - [ ] Bug fix - [x] New feature - [x] Transfer Engine - [ ] Mooncake Store - [ ] Mooncake EP - [ ] Integration - [ ] P2P Store - [ ] Python Wheel - [ ] Breaking change - [ ] CI/CD - [ ] Documentation update - [ ] Other ## How Has This Been Tested? I conducted several tests to validate performance, the script is attached. [perf.tar.gz](https://github.com/user-attachments/files/24236129/perf.tar.gz) - MC_ENABLE_PARALLEL_REG_MR not set ``` Function 'register_memory' used 9.848765 seconds. Function 'unregister_memory' used 1.818679 seconds. Function 'register_memory_batch' used 4.487107 seconds. Function 'unregister_memory_batch' used 1.990713 seconds. ``` - MC_ENABLE_PARALLEL_REG_MR Set to 0 ``` Function 'register_memory' used 45.897700 seconds. Function 'unregister_memory' used 11.765862 seconds. Function 'register_memory_batch' used 4.623039 seconds. Function 'unregister_memory_batch' used 2.043466 seconds. ``` - MC_ENABLE_PARALLEL_REG_MR Set to 1 ``` Function 'register_memory' used 10.250118 seconds. Function 'unregister_memory' used 1.797548 seconds. Function 'register_memory_batch' used 7.006364 seconds. Function 'unregister_memory_batch' used 1.844199 seconds. ``` ## Checklist - [x] I have performed a self-review of my own code. - [x] 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:32:45 +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#2097
No description provided.