For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://docs.nvidia.com/dynamo/llms.txt. For full content including API reference and SDK examples, see https://docs.nvidia.com/dynamo/llms-full.txt.
DynoSim
DynoSim — это стек симуляции Dynamo для изучения serving-конфигураций до их проверки на реальных кластерах. Это не отдельный сервис; это продуктовая поверхность, которая объединяет workload-driven simulation runs, sweeps конфигураций, mocker engine, Planner simulation, Router simulation и timing models на базе AIC в единый workflow.
Используйте DynoSim, когда хотите ответить на вопросы вроде:
- 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?
Компоненты
| Компонент | Точка входа | Роль |
|---|---|---|
| DynoSim run | python -m dynamo.replay | Запускает один workload против одной симулированной конфигурации Dynamo и выводит метрики плюс отчет |
| DynoSim sweep | dynamo.profiler.utils.replay_optimize | Выполняет множество симуляционных прогонов по shape TP, split workers, настройкам router, ограничениям SLA и бюджету GPU |
| Live simulation with Mocker | python -m dynamo.mocker | Запускает симулированных worker'ов внутри живого пути развертывания Dynamo, включая регистрацию worker'ов и публикацию KV events |
| Mocker core | lib/mocker | Моделирует планирование engine, выделение KV, prefix caching, preemption и timing |
| AIC | AI Configurator SDK | Предоставляет откалиброванные timing data и данные о candidate-shape для поддерживаемых tuple model/backend/GPU |
| Planner simulation | --planner-config on DynoSim runs | Запускает решения Planner в цикле симуляции, чтобы изучать поведение масштабирования и соблюдение SLA |
Workflow
flowchart LR
W["Workload trace or synthetic workload"] --> R["Single DynoSim run"]
R --> S["DynoSim sweep"]
S --> C["Candidate configs"]
C --> M["Live Mocker deployment"]
C --> G["Real-GPU validation"]
M --> G
Начните с одного DynoSim run, чтобы проверить форму workload и аргументы engine. Используйте DynoSim sweeps, когда нужно исследовать пространство дизайна. Используйте live-развертывания Mocker, когда требуется прогнать реальный frontend Dynamo, router, регистрацию worker'ов, KV events и пути planner без запуска model inference. Перед production rollout проверьте shortlist на реальных GPU.
Где используется AIC
AIC предоставляет performance models и информацию о candidate-shape. DynoSim использует эти модели как один из источников timing внутри mocker engine и sweep optimizer. Mocker по-прежнему отвечает за scheduler и симуляцию KV-memory: batching, prefix-cache hits, preemption, allocation блоков и жизненный цикл запросов моделируются core Mocker Dynamo, а timing на базе AIC прогнозирует, сколько должны занимать prefill и decode для поддерживаемых сочетаний model/backend/GPU.
Выбор точки входа
| Цель | Начните отсюда |
|---|---|
| Прогнать один trace или synthetic workload через одну конфигурацию | Запуски DynoSim |
| Перебирать варианты topology и router под ограничениями SLA/GPU | Перебор конфигураций DynoSim |
| Проверить живую настройку frontend/router без GPU | Живая симуляция с Mocker |
| Изучить решения Planner по масштабированию на trace | Бенчмаркинг Planner DynoSim |
| Сгенерировать разворачиваемую Kubernetes-конфигурацию из intent model/SLA | Руководство по развертыванию модели |
DynoSim сужает пространство поиска; он не заменяет проверку на реальном железе. Используйте его, чтобы быстрее двигаться, находить перспективные варианты и понимать режимы отказа до того, как тратить время кластера.