feat(mooncake): manage standalone store services - #265
Open
00fish0 wants to merge 2 commits into
Open
Conversation
00fish0
requested review from
alec-flowers,
csahithi,
ishandhanani and
nlevin-ui
as code owners
July 15, 2026 07:42
Launch role-aware Mooncake Store services once per selected worker node and manage their readiness and lifecycle. Keep mooncake_master tuning flags owned by srtslurm, including removal of the stale nof eviction watermark argument. Signed-off-by: fatSheep <tzh2005t@163.com>
00fish0
force-pushed
the
feat/mooncake-standalone-store
branch
from
July 16, 2026 06:40
02ba364 to
2882850
Compare
ishandhanani
approved these changes
Jul 21, 2026
Collaborator
|
pls rebase |
Collaborator
|
Hi please rebase. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
In a typical disaggregated SGLang deployment, prefill and decode nodes have different host-memory usage patterns.
Prefill nodes usually enable HiCache. Its L2 cache consumes part of the host DRAM, leaving less memory available for Mooncake Store. Decode nodes normally do not enable HiCache, so more of their remaining allocatable DRAM can be assigned to Mooncake Store.
As a result, the two roles need different Store capacities. For example:
The existing embedded-client configuration is insufficient for this deployment because the same Mooncake environment is injected into all inference workers. Running standalone Store services allows prefill and decode nodes to use separate MOONCAKE_GLOBAL_SEGMENT_SIZE values.
This also makes memory ownership explicit: the SGLang worker initializes its embedded Mooncake clients without contributing another global DRAM segment, while the standalone Store service owns the role-specific DRAM allocation.
Summary
This PR extends the existing Mooncake integration for both SGLang and vLLM by:
mooncake_mastertuning arguments throughmooncake_kv_store.master_args.Standalone Store services
A recipe can launch one standalone Store service per selected physical worker node:
The services are started after mooncake_master becomes ready and before inference workers are launched.
Configurable master arguments
Recipes can now customize Mooncake master tuning parameters:
When master_args is specified, it replaces the default tunable argument list. Setting it to [] uses Mooncake's own defaults.
The RPC port, HTTP metadata server, and metrics endpoint remain managed by srt-slurm.
This also removes the unsupported --nof_eviction_high_watermark_ratio=0.9 argument from the default master command.