Skip to content

docs: update NVIDIA Dynamo for scale to zero, console P/D, and RDMA - #85

Merged
HanFa merged 2 commits into
mainfrom
fangh/docs-dynamo-refresh
Nov 10, 2026
Merged

HanFa merged 2 commits into
mainfrom
fangh/docs-dynamo-refresh

Conversation

@HanFa

@HanFa HanFa commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The Dynamo page last changed substantively on 2026-08-19 (#63). This PR updates it to match CentML/platform main at a53e4be2b.

  • Scale to zero (CentML/platform#4784, CentML/platform#4801):
    • Min Replicas accepts 0.
    • Concurrency is required only when Max Replicas exceeds both 1 and Min Replicas.
    • Cooldown Period defaults to 1800 s and also sets how long the Workers stay idle before scaling to zero.
    • A new subsection covers the cold-start window. Requests fail, with HTTP 404, until a Worker is ready. Any authenticated request to the endpoint wakes the Workers or keeps them running.
  • Disaggregated serving in the console (CentML/platform#4224):
    • The Hardware step's serving-topology selector and the Prefill and Decode pool settings.
    • Edit and Clone for both topologies.
    • The Serving Topology panel on the Detail page.
    • This removes the "API-only" and "aggregated-only Edit/Clone" statements.
  • KV transfer policy (CentML/platform#4532, #4533, #4584, #4585): the transport section is now split into two subsections.
    • allow_tcp keeps the existing UCX/TCP text and the B200 validation.
    • require_gpu_direct_rdma:
      • works only on AWS EKS with EFA devices managed through DRA;
      • gives each worker one EFA device and keeps all workers in the same availability zone;
      • has no TCP fallback and uses the EFA runtime;
      • reserves the FI_* and NIXL_* environment variables.
  • API example:
    • Uses the canonical per-pool min_replicas/max_replicas instead of the deprecated replicas (CentML/platform#4403).
    • Adds communications.kv_transfer.policy and a note on runtime_version.
  • Advanced step:
    • Dynamo Runtime Version (CentML/platform#4477, #4425, #4602).
    • Priority class.
    • What extra arguments and environment variables apply to, and which names are reserved.
    • A tip on DYN_ROUTER_MODE, which defaults to kv.
  • Storage volumes in the Hardware step.
  • Monitoring:
    • The pod-count wording is now observed pods ready.
    • The Detail tab's contents are updated.
    • The Usage tab's inference and KV transfer charts are listed (CentML/platform#4657).
    • In-place scaling applies to aggregated Workers only.
  • Removed: "NVIDIA CCluster evaluates GPU quota against Max Replicas". POST/PUT /deployments/dynamo has no quota check, and Dynamo pods run in KAI's default-queue.
  • What's next: the Frontend card now points at the v1.5.1 Dynamo docs. The old URL redirects to the unreleased dev docs.
  • Screenshots: the Advanced and Hardware step screenshots now show the current console.
  • Managing Deployments:
    • For Dynamo, rollout settings and in-place scaling apply to aggregated deployments only.
    • The Logs section lists Prefill and Decode pods.

Section 6 (Call the endpoint) is unchanged, so this PR merges cleanly with #84, which fixes the 404 KServe link there. I checked with git merge-tree against #84's head.

Before merging

  • Python SDK. The published centml 0.7.1 pins platform-api-python-client 4.31.0 (2026-09-23). In that client, DynamoWorkerPoolConfig.min_replicas is still ge=1, so it cannot read a Dynamo deployment with Min Replicas 0. CentML/platform#4784 asks for the SDK to be published before scale to zero is announced. Either publish it first or add an SDK note to this page.
  • Live wake-up check. Confirm a live 1→0→1 cycle with the ingress wake trigger. CentML/platform#4801 merged before that cycle had been exercised on a shared cluster.
  • Screenshots. dynamo-advanced-configuration.png and dynamo-hardware-scaling.png were re-captured from the current console, downscaled to 1516 px wide, and given updated alt text. The Endpoint screenshot is unchanged.

Validation

I ran the CI checks locally with the pinned Fern CLI 5.168.0:

  • fern check: 0 errors. The one warning is the missing-redirects check, which needs FERN_TOKEN.
  • fern docs md check: all 20 MDX files valid.
  • fern docs broken-links --strict: all checks passed.
  • python3 tools/check-docs-mdx docs/: OK.
  • python3 tools/check-docs-paths --allow '../docs/' docs fern: OK.
  • git diff --check: clean.
  • fern docs dev: broken-links does not check in-page anchors, so I rendered the page. The new anchors (#aggregated-workers, #scale-to-zero, #disaggregated-serving, #understand-kv-transfer-transport) match heading ids, and both tables render.
  • Both new v1.5.1 Dynamo links return 200.

Context

Each statement was checked against CentML/platform main: the API schemas and validators, the dynamo_deployment chart, and the console. CentML/platform#4784 lists this docs update as a follow-up.

For #84: the versioned KServe page, https://docs.nvidia.com/dynamo/v1.5.1/knowledge-base/modular-components/frontend/kserve-grpc-frontend, matches the default runtime. /dynamo/components/frontend redirects to the Frontend overview in the dev docs instead.

Two open platform PRs will need another docs update when they merge:

  • CentML/platform#4844 runs two Frontend replicas by default, adjustable per deployment.
  • CentML/platform#4862 makes pause scale to zero, and paused endpoints return 503.

🤖 Generated with Claude Code

The Dynamo page last changed substantively in August. Since then the
platform added aggregated scale to zero, console create, edit, and clone
for disaggregated deployments, the GPU Direct RDMA KV transfer policy,
the runtime version selector, Storage volume mounts, and Dynamo
inference metrics on the Usage tab.

- Document Min Replicas 0, the concurrency rule for a 0..1 range, the
  cooldown default, and how requests behave while no Worker is running.
- Describe the console's serving topology selector, the Prefill and
  Decode pool settings, and Edit/Clone for both topologies.
- Split the KV transport section by policy (allow_tcp and
  require_gpu_direct_rdma).
- Switch the API example to canonical min_replicas/max_replicas and
  show communications.kv_transfer.policy.
- Add Dynamo Runtime Version, Priority class, the router mode, and
  Storage volumes.
- Remove the GPU quota claim; no platform check enforces it.
- Update the monitoring text (pod-count wording, Detail and Usage
  contents) and the current-scope list, and point the Frontend card at
  the v1.5.1 docs instead of the redirect to the dev docs.
- Managing Deployments: rollout settings and in-place scaling apply to
  aggregated Dynamo deployments, and logs list Prefill and Decode pods.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🌿 Preview your docs: https://nvidia-preview-pr-85.docs.buildwithfern.com/ccluster

Replace the Advanced and Hardware step screenshots with captures of the
current console. The Advanced step now shows the runtime version
selector and Priority class. The Hardware step shows the serving
topology selector, the Storage section, and the capacity summary. Both
images are downscaled to 1516 px wide to match the existing screenshots,
and their alt text now describes the new content.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@HanFa
HanFa marked this pull request as ready for review November 10, 2026 20:46
@HanFa
HanFa merged commit 721b25c into main Nov 10, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants