NeoCloudz logoToken FactoryAI Token Exchange · Powered by NVIDIA Dynamo
JM

MController + NVIDIA Dynamo

AI inference architecture — shared & dedicated namespaces, AI Gateway and admin control plane

Dynamo platform healthy
Dynamo frontends
6
KV router mode
Namespaces
11
1 shared · 10 tenant-*
Model endpoints ready
24
▲ 3
Gateway RPS
18.7K
▲ 9.2%

1. Admin Portal

Ops control plane

  • Routing policy editor

    model routes, shared vs dedicated upstreams, weight / canary

  • GPU health dashboard

    DCGM / nvidia-smi via Prometheus, MIG + GPU status

  • LLM usage metrics

    tokens, TTFT, ITL, RPS, error rate, showback

  • Tenant & quota ops

    tenant-*, ResourceQuota view

  • Endpoint catalog

    ModelEndpoint Ready + endpointURL

2. AI Gateway

Client front door

  • AuthN & AuthZ

    API keys, JIT, tenant identity

  • Rate limiting

    per-tenant / per-model

  • Metering & usage capture

    tokens, requests → billing hooks

  • Smart model routing

    route to shared / dedicated by tenant & SLO

  • OpenAI-compatible API

    clients stay compatible, MController manages topology

3. MController

Control plane (INFaaS) · mcontroller-system

  • REST API

    /v1/tenants, /v1/model-registries, /v1/model-deploys

  • Custom resources

    Tenant → ModelRegistry → ModelEndpoint

  • Serving providers

    NVIDIA Dynamo · AMD · Intel

  • Reconcile loop

    API → CRs → Operator → DynamoGraph

4. Kubernetes + NVIDIA platform

Unified substrate

  • Kubernetes control plane

    API server, etcd, scheduler, controller manager

  • NVIDIA GPU Operator

    device plugin, drivers, MIG manager

  • Dynamo platform

    dynamo-system, Grove + KAI scheduler

  • Gateway API / Istio

    shared gateway in dynamo-gateway namespace

5. Inference namespaces — shared vs dedicated

Isolation = namespace + quota + NetworkPolicy

SHARED · namespace dynamo-shared

multi-tenant pool
  • 1 · Model registry PVC (RWX) — dynamo-model-registry
  • 2 · Shared Dynamo frontend — port 8000, DYN_ROUTER_MODE=kv
  • 3 · HTTPRoute — path /models/<model>
  • 4 · Model ID — shared/<model>

DEDICATED · namespace tenant-<name>

isolated per tenant
  • 1 · NS + SA + ResourceQuota + LimitRange + NetworkPolicy
  • 2 · Dedicated DynamoGraphDeployment — frontend + vLLM / SGLang / TRT-LLM worker
  • 3 · ClusterIP service — port 8000
  • 4 · Model ID — <tenant>/<model> → endpointURL = ClusterIP

6. Dynamo workload shape

Request path inside a namespace

Client→
AI Gateway→
Frontend→
KV Router→
Worker (vLLM / TRT-LLM)→
nvidia.com/GPU

7. GPU nodes, network & observability

ClusterGPUsUtilisationFabricThroughputHealth
Cluster-A8 × B300
RDMA / RoCE612K t/s Healthy
Cluster-B8 × B300
RDMA / RoCE548K t/s Healthy
Cluster-C8 × B300
RDMA / RoCE587K t/s Healthy
Cluster-D8 × B300
RDMA / RoCE521K t/s Healthy

GPU nodes

B300 / H100-class

Frontend network

RDMA / RoCE

Storage

NVMe / PVC model cache

Observability

DCGM telemetry + Dynamo metrics

Engineered workflow

Provision to decommission

  1. 1Discover GPUs
  2. 2Bootstrap GPU Operator + Dynamo Platform
  3. 3Install MController
  4. 4Create tenant
  5. 5Register model (artifact → PVC)
  6. 6Deploy shared or dedicated model
  7. 7Ready + endpointURL
  8. 8Configure AI Gateway upstream → policies
  9. 9Clients call gateway
  10. 10Admin portal watches GPU health & LLM usage
  11. 11Scale / re-route
  12. 12Decommission & reclaim

Namespace map: mcontroller-system · dynamo-system · gpu-operator · dynamo-shared · tenant-*

Step 3 of 6 · Dynamo stack

See the MController + NVIDIA Dynamo inference architecture