mirror of
https://github.com/kvcache-ai/Mooncake.git
synced 2026-11-05 01:17:55 +00:00
[PR #1122] [MERGED] feat[Store]: Add multi dummy clients support for real client #2024
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#2024
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?
📋 Pull Request Information
Original PR: https://github.com/kvcache-ai/Mooncake/pull/1122
Author: @YiXR
Created: 11/26/2025
Status: ✅ Merged
Merged: 11/28/2025
Merged by: @ykwd
Base:
main← Head:xinyi-client📝 Commits (2)
a660986[Store]: Add multi dummy client support for real client281105f[CI]: Add multi dummy client test📊 Changes
6 files changed (+432 additions, -153 deletions)
View changed files
📝
mooncake-store/include/real_client.h(+74 -38)📝
mooncake-store/src/dummy_client.cpp(+18 -16)📝
mooncake-store/src/real_client.cpp(+232 -92)📝
mooncake-store/src/real_client_main.cpp(+6 -6)➕
mooncake-wheel/tests/test_multi_dummy_clients.py(+97 -0)📝
scripts/run_tests.sh(+5 -1)📄 Description
Description
Releated to https://github.com/kvcache-ai/Mooncake/pull/1084
Add multi dummy client support for real client.
Right now, a real client can hold multi dummy clients simultaneous.
Type of Change
How Has This Been Tested?
Start Mooncake Master
mooncake_master --enable_http_metadata_server=true --eviction_high_watermark_ratio=0.95Start Mooncake Client (Real Client)
mooncake_client --global_segment_size 40GBStart SGLang using Dummy Client (TP=2 means 2 Dummy Clients):
MOONCAKE_CLIENT=127.0.0.1:50052 \ MOONCAKE_STANDALONE_STORAGE=1 \ python3 -m sglang.launch_server \ --enable-hierarchical-cache \ --hicache-storage-backend mooncake\ --mem-fraction-static 0.8 \ --tp 2 \ --model-path Qwen/Qwen2.5-14B-InstructStart Benchmark
python3 -m sglang.bench_serving \ --backend sglang \ --dataset-name sharegpt \ --dataset-path /root/ShareGPT_V3_unfiltered_cleaned_split.json \ --sharegpt-context-len 8192 \ --num-prompts 1024 \ --request-rate 128 \ --max-concurrency 100 \ --warmup-requests 16 \ --base-url http://localhost:30000Performance
Test on Qwen/Qwen2.5-14B-Instruct,TP 2,NVIDIA A10
Based on the benchmark results, the performance of the two deployment methods—before and after separating the client—is virtually identical.
Checklist
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.