[PR #875] [MERGED] feat(store): Add multi threading handle page fault during segment allocation #1880

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

📋 Pull Request Information

Original PR: https://github.com/kvcache-ai/Mooncake/pull/875
Author: @xiaguan
Created: 9/22/2025
Status: ✅ Merged
Merged: 9/28/2025
Merged by: @ykwd

Base: main ← Head: speedup_segment


📝 Commits (10+)

📊 Changes

7 files changed (+141 additions, -14 deletions)

View changed files

📝 mooncake-transfer-engine/include/memory_location.h (+5 -1)
📝 mooncake-transfer-engine/include/transport/rdma_transport/rdma_context.h (+6 -0)
📝 mooncake-transfer-engine/include/transport/rdma_transport/rdma_transport.h (+2 -0)
📝 mooncake-transfer-engine/src/memory_location.cpp (+6 -2)
📝 mooncake-transfer-engine/src/transport/rdma_transport/rdma_context.cpp (+21 -3)
📝 mooncake-transfer-engine/src/transport/rdma_transport/rdma_transport.cpp (+91 -4)
📝 mooncake-transfer-engine/tests/memory_location_test.cpp (+10 -4)

📄 Description

bench mount 180GB segment
main: 74s
this pr: 46s(31s for register RDMA)

A 10GB threshold is necessary. I've tried with 1GB, and having too many threads actually slows things down. 10GB works pretty well in testing.

This will greatly improve the experience for users mounting TB-sized segments, helping them start up much faster.

related issue #848


🔄 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/875 **Author:** [@xiaguan](https://github.com/xiaguan) **Created:** 9/22/2025 **Status:** ✅ Merged **Merged:** 9/28/2025 **Merged by:** [@ykwd](https://github.com/ykwd) **Base:** `main` ← **Head:** `speedup_segment` --- ### 📝 Commits (10+) - [`e328993`](https://github.com/kvcache-ai/Mooncake/commit/e328993b0f19aca7f90e04ef4eacc8bd35df569e) feat(store): Add multi threading during segment allocation - [`618540c`](https://github.com/kvcache-ai/Mooncake/commit/618540cc20271f43d64af82ae7676b0583d4b0e1) remove samll pre touch - [`0d97623`](https://github.com/kvcache-ai/Mooncake/commit/0d97623fd691e189103982a4801f9706191f0139) Temp version - [`e7db9dd`](https://github.com/kvcache-ai/Mooncake/commit/e7db9dd85a2e93cecf3baa3d6a3c132eab76929f) temp version - [`49e142f`](https://github.com/kvcache-ai/Mooncake/commit/49e142fa1dca37d00cbc4af50f2b4124cdc005bb) temp version - [`8c9837a`](https://github.com/kvcache-ai/Mooncake/commit/8c9837a78acb86569e411d2c66b2aafe34e94134) temp version - [`18974d1`](https://github.com/kvcache-ai/Mooncake/commit/18974d1bc0cd3edbb6fd11b9e44ed1d503560634) Update log - [`4523e5f`](https://github.com/kvcache-ai/Mooncake/commit/4523e5f04eaf87ae7e4c56de5411f7d119c77e24) new version - [`e505cd8`](https://github.com/kvcache-ai/Mooncake/commit/e505cd8bcfefdf99f42a3d153ff527bf6d9a65d6) Remove timer log - [`a4e24f9`](https://github.com/kvcache-ai/Mooncake/commit/a4e24f99ce091f67fac9b0916c4bfcf75aa69e8f) Format code ### 📊 Changes **7 files changed** (+141 additions, -14 deletions) <details> <summary>View changed files</summary> 📝 `mooncake-transfer-engine/include/memory_location.h` (+5 -1) 📝 `mooncake-transfer-engine/include/transport/rdma_transport/rdma_context.h` (+6 -0) 📝 `mooncake-transfer-engine/include/transport/rdma_transport/rdma_transport.h` (+2 -0) 📝 `mooncake-transfer-engine/src/memory_location.cpp` (+6 -2) 📝 `mooncake-transfer-engine/src/transport/rdma_transport/rdma_context.cpp` (+21 -3) 📝 `mooncake-transfer-engine/src/transport/rdma_transport/rdma_transport.cpp` (+91 -4) 📝 `mooncake-transfer-engine/tests/memory_location_test.cpp` (+10 -4) </details> ### 📄 Description bench mount 180GB segment main: 74s this pr: 46s(31s for register RDMA) A 10GB threshold is necessary. I've tried with 1GB, and having too many threads actually slows things down. 10GB works pretty well in testing. This will greatly improve the experience for users mounting TB-sized segments, helping them start up much faster. related issue #848 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-29 21:31:04 +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#1880
No description provided.