问题域/PD-385

弹性伸缩

Elastic Scaling

运行时动态增减推理节点,实现集群弹性伸缩

子问题

1.节点加入与退出协调

2.权重在线迁移

3.进程组动态重配置

4.负载感知伸缩策略

5.CUDA Graph 与 torch.compile 缓存在拓扑变更后的失效重建

6.EngineCore 间伸缩通知时序不一致的同步协调

7.KV Cache 显存在新旧拓扑间的同步与对齐

各项目的解法1 solutions

Signals

横向对比

维度vLLM
伸缩触发HTTP API /scale_elastic_ep,支持 drain_timeout
状态机模型4 种 IntEnum 状态机(ScaleUp/Down × Existing/New),progress() 轮询推进
通信组管理StatelessGroupCoordinator 独立于 WORLD group,standby 双轨预建+原子切换
权重迁移batch_isend_irecv P2P 批量传输,发送者-接收者均匀配对
流量保护ASGI 中间件全局 bool flag,伸缩期间 503 拒绝所有请求
同步机制两阶段 TCPStore barrier,5 秒超时后退让一轮 forward 再重试
专家重均衡EPLB reshuffle,支持 rank_mapping 指定缩容后专家迁移目标

最佳实践

1.使用standby节点减少扩容延迟

2.批量传输权重降低迁移开销

3.用两阶段 TCPStore barrier 解决异步通知的时序差问题

4.伸缩期间通过 ASGI 中间件返回 503 保证操作原子性

5.发送者-接收者均匀配对避免单节点传输瓶颈