用 Dynamo 编排层组合 SGLang 引擎提供多节点 LLM 推理服务
Dynamo 位于推理引擎之上做编排,SGLang 负责单节点推理,二者组合获得智能路由与自动扩缩容
方案简介
本方案展示如何用 Dynamo 这个开源数据中心级推理栈,将 SGLang 推理引擎组织成协同工作的多节点推理系统。Dynamo 是位于推理引擎之上的编排层,通过分离式服务、智能路由、多层 KV 缓存和自动扩缩容,为 LLM、推理、多模态和视频生成工作负载最大化吞吐并最小化延迟。适合正在跨多个 GPU 或节点提供 LLM 服务、需要 KV 感知路由避免重复预填充计算、需要独立扩缩容预填充和解码的团队。如果只是在单个 GPU 上运行单个模型,单独使用推理引擎通常已经足够。
亮点与能力
- 分离式预填充/解码:将预填充和解码拆分为可独立扩缩容的 GPU 池,最大化 GPU 利用率
- KV 感知路由:根据 worker 负载和 KV 缓存重叠度路由请求,消除冗余预填充计算,TTFT 快 2x
- KV Block Manager (KVBM):在 GPU → CPU → SSD → 远程存储之间卸载 KV 缓存
- Planner:由 SLA 驱动的自动扩缩容器,以最低 TCO 满足延迟目标
- 容错:金丝雀健康检查 + 运行中请求迁移
- 多模态与工具调用支持(SGLang 后端均支持)
- Agentic inference:按请求提供延迟优先级、预期输出长度和缓存固定 TTL 等提示
组成与分工
- Dynamo:位于推理引擎之上的编排层,使用 Rust 构建以获得性能,使用 Python 扩展以获得灵活性,负责智能路由、分离式服务与自动扩缩容
- SGLang:底层推理引擎,负责实际的模型推理计算
- Docker:用于拉取运行预构建容器,是最快的启动方式
- uv:Python 包安装工具,用于从 PyPI 安装 ai-dynamo
前置要求
- NVIDIA GPU(容器启动需
--gpus all) - Docker(选项 A 容器方式)
- 或 Python 环境配合 uv(选项 B 安装方式),安装 uv:
curl -LsSf https://astral.sh/uv/install.sh | sh - SGLang 后端直接通过 PyPI 预发布包安装即可;TensorRT-LLM 则需要
--extra-index-url https://pypi.nvidia.com使用 pip
实施步骤
1. 容器方式(最快)
拉取预构建容器(SGLang 示例):
bash
docker run --gpus all --network host --rm -it nvcr.io/nvidia/ai-dynamo/sglang-runtime:1.4.0
2. 在容器内启动 frontend 和 worker
bash
python3 -m dynamo.frontend --http-port 8000 --discovery-backend file > /dev/null 2>&1 &
python3 -m dynamo.sglang --model-path Qwen/Qwen3-0.6B --discovery-backend file &
3. 发送请求验证
bash
curl -s localhost:8000/v1/chat/completions -H "Content-Type: application/" -d '{
"model": "Qwen/Qwen3-0.6B",
"messages": [{"role": "user", "content": "Hello!"}],
"max_tokens": 100
}' | jq
4. 或者从 PyPI 安装
安装 uv 后运行:
bash
uv pip install --prerelease=allow "ai-dynamo[sglang]" # 或 [vllm]
使用与配置要点
启动后通过 http://localhost:8000/v1/chat/completions 以 OpenAI 兼容 API 发送请求即可验证服务成功。使用 --discovery-backend file 进行服务发现;生产多节点部署可参考仓库中的 recipes 与 examples 目录,以及 NGC 上预构建的 SGLang 容器镜像。另有 tensorrtllm-runtime:1.4.0 和 vllm-runtime:1.4.0 容器可用,便于切换后端。
注意事项与常见问题
- KVBM 功能对 SGLang 后端仍处于开发中(🚧)状态,TensorRT-LLM 与 vLLM 后端已支持
- 如果只是在单个 GPU 上运行单个模型,单独使用推理引擎通常已经足够,无需引入 Dynamo
- TensorRT-LLM 不能通过 uv 直接安装,需要配合
--extra-index-url https://pypi.nvidia.com使用pip
优缺点
- ✓ 单GPU吞吐提升7x
- ✓ TTFT快2x的KV感知路由
- ✕ 单GPU单模型时引擎已足够
- ✕ KVBM对SGLang仍是开发中状态
出处
本方案挖掘自开源项目 ai-dynamo/dynamo,方案内容与实施命令均来自其 README 原文。
本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。