mirror of
https://github.com/kvcache-ai/Mooncake.git
synced 2026-11-05 01:17:55 +00:00
[GH-ISSUE #14] Questions about thread pool and shard #12
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#12
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?
Originally created by @CharlesJhonson on GitHub (Dec 3, 2024).
Original GitHub issue: https://github.com/kvcache-ai/Mooncake/issues/14
Thanks for sharing the paper and code of this project! I have a question about the code:
What is the purpose of setting shard when there is already a worker_pool? What is the basis for setting the number to 8?
@alogfans commented on GitHub (Dec 4, 2024):
The shard mechanism is designed to evenly distribute the user's RDMA requests among the different threads of the worker pool. In addition, if context_.cqCount() is greater than one, the shard mechanism also mitigates concurrent contention for some RDMA resources (QP and doorbell), which has more significant performance impact in small I/Os.
Setting the number to 8 is based on our experience.
@CharlesJhonson commented on GitHub (Dec 4, 2024):
Thank you for your answer.
If we want to avoid competition between QPs, shouldn't we consider assigning a CQ to each QP?
@alogfans commented on GitHub (Dec 5, 2024):
Yes, so Mooncake supports allocating multiple CQs per device, which are assigned to QPs in a round-robin manner.
@CharlesJhonson commented on GitHub (Dec 5, 2024):
Ok , thank you very much!