DynoSim

Simulate Dynamo deployment choices before spending GPU time
View as Markdown

DynoSim is Dynamo’s simulation stack for exploring serving configurations before validating them on real clusters. It is not a separate service; it is the product surface that connects workload-driven simulation runs, configuration sweeps, the mocker engine, Planner simulation, Router simulation, and AIC-backed timing models into one workflow.

Use DynoSim when you want to answer questions such as:

  • Which aggregated or disaggregated topology should this workload use?
  • How many prefill and decode workers fit within my GPU budget?
  • How sensitive is the deployment to startup time, queue pressure, prefix reuse, or router tuning?
  • Which candidates should I validate with AIPerf on real GPUs?

Components

ComponentEntry PointRole
DynoSim predictionaisimulate predict --stack dynamoRuns one workload against one simulated Dynamo configuration and emits metrics plus a report
DynoSim recommendationaisimulate recommend --stack dynamoSearches simulation trials across parallelism, worker split, router knobs, service-level objective (SLO) constraints, and GPU budget
Live Mocker workerspython3 -m dynamo.mockerRegisters simulated workers with the live Dynamo runtime; does not generate replay traffic
Public Replay online CLIUnavailableWill return through the unified AISimulate CLI in a future release; the Python replay SDK retains online mode
Mocker corelib/mockerModels engine scheduling, KV allocation, prefix caching, preemption, and timing
AISimulate performance modeltiming.type: default in the AISimulate YAMLSupplies calibrated timing and candidate-shape data for supported model/backend/GPU tuples
Planner simulationplanner in the AISimulate YAMLRuns Planner decisions in the simulation loop to study scaling behavior and SLO compliance

How the tools differ

The tools overlap in workflow but perform different jobs:

ToolFunctionWhat it does not do
AIConfiguratorEstimates performance and ranks parallelism and deployment layoutsDoes not run the Dynamo request lifecycle or measure a live endpoint
MockerSimulates engine scheduling, KV-cache state, timing, and worker behaviorDoes not execute model inference on GPUs
DynoSimReplays workloads and sweeps configurations using Mocker engine coresDoes not replace final validation on the target deployment
AIPerfSends load to a live OpenAI-compatible endpoint and measures the resultDoes not predict or simulate an undeployed configuration

With timing.type: default, DynoSim uses the performance model shipped by AISimulate to estimate how long model work takes. Mocker and DynoSim simulate how requests move through scheduling, KV-cache, routing, and Planner behavior. Set timing.type to fixed or polynomial when calibrated timing is not required.

Workflow

Start with aisimulate predict --stack dynamo to verify the workload shape and engine configuration. Use aisimulate recommend --stack dynamo to search the design space. Launch live Mocker workers when an integration test needs the real Dynamo runtime. Validate the shortlist on real GPUs before production rollout.

Where AISimulate Fits

AISimulate provides performance models and candidate-shape information. DynoSim uses those models for default timing and parallelism recommendation. Mocker still owns the scheduler and KV-memory simulation: batching, prefix-cache hits, preemption, block allocation, and request lifecycle are simulated by Dynamo’s Mocker core, while AISimulate-backed timing predicts how long prefill and decode work should take for supported model/backend/GPU combinations.

Choosing an Entry Point

GoalStart Here
Run one trace or synthetic workload through one configRun a DynoSim Simulation
Sweep topology and router choices under SLA/GPU constraintsSweep DynoSim Configurations
Run live Mocker workers on KubernetesSimulate a Kubernetes Deployment
Run live Mocker workers locallySimulate a Local Deployment
Study Planner scaling decisions against a traceBenchmark Planner Decisions
Generate a deployable Kubernetes config from model/SLA intentAuto Deployment

DynoSim narrows the search space; it does not replace real-hardware validation. Use it to move quickly, find promising candidates, and understand failure modes before spending cluster time.