并发执行与负载均衡
Concurrent Execution & Load Balancing
大规模Agent推理场景下的并发控制、多实例负载均衡和数据分片策略
子问题
1.如何在多GPU实例间均衡分配推理请求
2.如何控制并发度避免资源耗尽
3.如何实现数据分片支持分布式推理
4.如何利用 KV Cache 亲和性优化多 rollout 场景的推理效率
5.如何在有状态工具与无状态工具间实现串并行分流
各项目的解法1 solutions
Signals
横向对比
| 维度 | DeepResearch |
|---|---|
| 并发模型 | asyncio Semaphore + ThreadPoolExecutor 双模型按场景选择 |
| 负载均衡 | 全局 _rr_index round-robin + question 粘性路由利用 KV Cache |
| 并发限制 | 三类 Semaphore 分治(LLM/search/visit 各 32 并发) |
| 数据分片 | total_splits/worker_split 静态均匀分片,对接 WORLD_SIZE/RANK |
| 断点续传 | Counter 统计已完成 question + flush/fsync 逐条落盘 |
| 串并行分流 | non_parallelizable_tool_names 白名单隔离有状态工具 |
最佳实践
1.使用Semaphore控制并发上限,round-robin分配请求
2.粘性路由将同一 question 的多次 rollout 路由到同一 vLLM 实例以复用 prefix cache
3.non_parallelizable_tool_names 白名单隔离有状态工具避免并发副作用
4.每条结果 flush+fsync 立即落盘,配合 Counter 扫描实现断点续传