GPU 大模型系统论文解读

Sarathi-Serve:以 chunked-prefills 与 stall-free batching 驯服 LLM 推理的吞吐—延迟权衡

最后核验日期:2026-09-14 证据完整度:台账 25 条 = P 22 · R 1 · E 1 · I 1,全部带真实 PDF 页码 + 章节/图表号定位(详见 证据台账)。

输入 PDF:02_Sarathi-Serve_2403.02310.pdf(arXiv 2403.02310v3,2024-06-17;作者:Amey Agrawal 等,Microsoft Research India 与 Georgia Tech)。

  • 生命周期:推理服务
  • 部署形态:单机 TP / 跨节点 PP
  • 目标硬件:NVIDIA A100 / A40
  • 核心资源:GPU 算力 · HBM / KV Cache · 网络
  • 证据状态:P 主导(性能数字全部为论文报告)

一句话判断

对需要「同时守住交互式尾延迟与 GPU 吞吐」的在线 LLM 服务,Sarathi-Serve 用切块 prefill(chunked-prefills)不停批调度(stall-free batching)把吞吐—延迟从二选一变成一个可调的 token 预算旋钮;代价是 prefill 效率的小幅折价(图 14:Yi-34B / TP-2,最小块 512 时 prefill 计算开销 ≤约 25%、2048 块近零,相对不切块归一化,精度论文未明确披露)与按部署调参的运维成本。P I(判断为编辑观点)

3 分钟速读

  1. 问题:prefill 并行算整个 prompt、计算受限;decode 一次每请求只算 1 个 token、内存受限。现有调度要么 prefill 优先(vLLM/Orca)——长 prefill 迭代把运行中请求的 decode 卡住数秒(generation stall);要么 decode 优先(FasterTransformer)——小批量浪费算力。P
  2. 洞察:prefill 吞吐在序列长约 512 token 就饱和,把长 prompt 切成近等计算量的块,既不损失 prefill 效率,又让每次迭代时长有上界。P
  3. 机制:stall-free batching(算法 3)每迭代先打包全部运行中 decode,再续算未完成 prefill 块,最后在剩余 token 预算内接纳新请求;预算由 TBT SLO 推导(评测取 strict 512 / relaxed 2048)。P
  4. 结果:相对作者复现的 vLLM/Orca 基线,服务容量(sustained QPS):Mistral-7B / 1×A100 最高 2.6×,Yi-34B / 2×A100 最高 3.7×,Falcon-180B / 2 节点×4×A100(TP4-PP2)端到端最高 5.6×;负载为 openchat_sharegpt4(输入/输出中位 1730/415 token)与 arxiv_summarization(7059/208 token),strict/relaxed SLO;精度论文未明确披露。P
  5. 边界:数字不可与其他论文横比;chunk 有开销(图 14:Yi-34B / TP-2,≤约 25%@512 块);与 disaggregated 方案(DistServe 等)的定量对比论文明确留白(第 13 页 §6);仓库为科研原型、非完整 vLLM 功能对等(第 18 页附录 A)。P R

论文声称的主要结果

表 A · 论文声称的主要结果(均为条件性数字,禁止脱离条件摘取)
指标(口径)数字模型 / 硬件精度负载 / SLO基线来源
服务容量倍数(sustained QPS 倍数)2.6× Mistral-7B / 1×A100 80GB论文未明确披露 openchat_sharegpt4 + arxiv_summarization(输入/输出中位 1730/415 与 7059/208 token,泊松到达);strict/relaxed SLOvLLM P 摘要(第 1 页)、§7(第 14 页)
服务容量倍数最高 3.7× Yi-34B / 2×A100(TP-2)论文未明确披露 openchat_sharegpt4(输入/输出中位 1730/415 token);strict SLOvLLM(较 Orca 为 4.0×) P §5.1、图10/11(第 11 页)
容量倍数(PP 场景)6.3× / 4.3× LLaMA2-70B / 8×A40(TP4-PP2)论文未明确披露 openchat_sharegpt4(输入/输出中位 1730/415 token);strict SLOOrca / vLLM P §5.1、图11(第 11 页)
端到端服务容量倍数最高 5.6×(图11a 标 5.62×) Falcon-180B / 2 节点 ×4×A100(TP4-PP2)论文未明确披露 openchat_sharegpt4(输入/输出中位 1730/415 token);strict SLOvLLM P 摘要(第 1 页)、§1(第 3 页)、图11a(第 11 页)
容量倍数(并行策略对比)4.3× / 3.6× / 1.48× Falcon-180B / 2 节点,100 Gbps 以太网论文未明确披露 openchat_sharegpt4(输入/输出中位 1730/415 token);strict(4.3×/3.6×)、relaxed(1.48×)vLLM TP-8 / vLLM TP4-PP2 P §5.3、图13(第 12 页)
不可直接比较:上表数字来自 Sarathi-Serve 论文的自身测试床、模型、数据集与 SLO 定义(strict = 5× / relaxed = 25× 解码迭代基时),与本站收录的其他论文(DistServe、Mooncake 等)的硬件、模型、口径均不一致,不允许跨论文横向排名

问题背景

两阶段天然不对称

LLM 推理分 prefill(一次并行处理全部 prompt token,产出首 token)与 decode(每迭代每请求只处理 1 个 token)两阶段。prefill 计算受限、吞吐对批量几乎不敏感;decode 内存受限、批量越大越摊薄权重读取成本,吞吐随批量近似线性提升。论文图 3/图 4(Mistral-7B、单张 A100、prompt/输出长度均 1024)实测了这一点,并指出线性层占两阶段总时间 80% 以上(第 1 页摘要、第 3 页 §2.2、第 5 页 §3.1 与图 3/图 4)。P

两类现有调度都有硬伤

  • prefill 优先(vLLM、Orca 的迭代级调度):急切准入新 prefill。一个长 prompt 的 prefill 迭代可执行数秒,期间所有运行中请求的 decode 被卡住——论文称为 generation stall。图 1 实测 vLLM 服务 Yi-34B(2×A100、128 请求、arxiv-summarisation trace)时出现持续数秒的 stall,且负载升高时 P99 TBT 显著恶化(第 1 页图 1、第 2 页 §1)。P
  • decode 优先(FasterTransformer、Triton 等请求级批处理):批内全部 decode 完成才准入新请求,TBT 有保障,但先完成的请求不能退出、批规模持续缩水直至最慢请求结束,吞吐因此严重受限(第 2 页 §1、第 4 页 §2.5 与算法 1)。P

流水线放大问题

跨节点部署常用流水线并行(PP):通信少、只需点对点。但混合长短 prefill/decode 的微批执行时间差异巨大,产生三类流水线气泡(prefill 长度差、prefill/decode 计算差、decode 间 KV 上下文差)。论文以 Falcon-180B 举例:一个 4k prompt 的 prefill 迭代约 1150ms,而 batch 32 的纯 decode 迭代约 200ms,二者交错即可产生约 950ms 的气泡(第 7 页 §3.3、图 8;该示例未指明所用 GPU 配置与精度,均按论文未明确披露处理)。P

指标与约束

论文采用 TTFT(time-to-first-token,取中位)与 TBT(time-between-tokens,取 P99)为延迟指标,Capacity 为「在延迟目标内可持续服务的最大请求负载(QPS)」——吞吐与延迟被统一进一个容量口径(定义见第 4 页 §2.4,容量实验见第 10–11 页 §5.1)。P

核心机制

1 · chunked-prefills:把长 prefill 切成近等计算量的块

依据两条:其一,prefill 吞吐在序列长约 512 token 即进入饱和(图 4 实测:Mistral-7B、单张 A100、长度 1024;第 5 页图 4、第 8 页 §4.1),把千级 token 的 prompt 切成 512 量级的块几乎不损失 prefill 效率;其二,每次迭代的计算量因此有了硬上界,不再取决于 prompt 总长。P

2 · stall-free batching:控制面的迭代编排(算法 3)

  1. 先打包当前批中所有运行中请求的 decode token
  2. 再续算未完成的 prefill 块
  3. 最后在剩余 token 预算内准入新请求(按预算切出其第一个块);
  4. 提交混合批执行,过滤已完成请求,进入下一迭代。

关键不变量:decode 永远在批内、每迭代 token 总量 ≤ token budget = f(TBT SLO)。因此新请求的 prefill 永不推迟运行中请求的 decode——「stall-free」由此得名。P

3 · token 预算的三个约束

  • 切太碎的代价一(GPU 利用率):块小于计算饱和点后线性层效率下降;
  • 切太碎的代价二(KV 重读):分 N 块时第 i 块的注意力需重读前 i−1 块的 KV,增加 HBM 读取流量(计算量不变);
  • tile 量化:GPU 矩阵按 tile 分块,257 token 的块可比 256 多耗 32% prefill 时间(第 9 页 §4.3;该 32% 为论文给出的 tile 量化示例,对应模型/硬件/精度论文未明确披露)——预算应取 2 的幂附近。P

论文用 Vidur 仿真器对目标部署做一次性剖析来选预算(第 9 页 §4.3);评测取 strict 512 / relaxed 2048(LLaMA2-70B relaxed 用 1536 以压流水线气泡)(第 11 页 §5.1 末段)。P

注意:512/2048 是论文在其测试床与 SLO 下选定的值,不是通用默认值。换硬件、换 SLO、换长度分布都应重新剖析(论文明确留了「动态调预算」作为未来工作)。P I(运维提醒为编辑补充)

4 · 实现与控制面/数据面边界

系统实现于 vLLM 开源版之上:新增 paged chunk prefill 支持,接入 FlashAttention v2 与 FlashInfer kernel(评测统一用 FlashAttention 后端,因其支持的模型更广),扩展了调度策略、流水线并行与遥测系统,TP/PP 通信使用 NCCL(第 9 页 §4.4、第 10 页 §4.4 末段)。P

按论文事实区分:控制面=迭代级调度器(算法 3 的编排与预算执行);数据面=执行引擎(GEMM、注意力 kernel、KV cache 读写、采样与 NCCL 通信)。「调度器只做编排、不碰张量数值」是本站对其结构的编辑概括。I

GPU / 系统数据路径

Sarathi-Serve 数据路径图:客户端请求经 API 前端进入 stall-free 调度器,调度器在 token 预算内构造 decode 与 prefill 块的混合批,GPU 前向引擎逐层执行线性层与注意力并读写 HBM 中的权重与 KV cache,TP/PP 通信经 NCCL 完成,token 流式返回客户端
图 1 · Sarathi-Serve 单副本端到端数据路径(依据论文 §4–§5 与第 9 页算法 3 绘制,图内标注了关键数字的论文页码依据;编号 ①–⑧ 对应下方文字序列)。

端到端文字序列

  1. ① 请求进入:客户端请求到达 API 前端(vLLM 服务进程)入队,遥测系统记录到达时间。P
  2. ② 调度编排(控制面):每轮迭代,调度器按算法 3 依次打包运行中 decode → 续算未完成 prefill 块 → 在剩余额度内准入新请求(第 9 页算法 3)。P
  3. ③ 混合批成形:D 个 decode token + 1 个 prefill 块,批内 token 总数 ≤ token budget(strict 512 / relaxed 2048),每迭代计算量近均匀。P
  4. ④ GPU 前向:混合批进入执行引擎逐层计算——线性层 GEMM 与注意力 kernel(FlashAttention v2 / FlashInfer 的 paged chunk prefill 路径)。P
  5. ⑤ 显存访问:线性层从 HBM 读模型权重(按批摊薄);注意力经 PagedAttention 页表读写 KV cache——prefill 块追加新 KV,decode 读写全部历史 KV;跨块注意力重读同 prompt 先前块的 KV(第 i 块重读 i−1 次)。P
  6. ⑥ 并行通信:TP 每层两次 all-reduce(节点内 NVLink);PP 在流水线 stage 间点对点传激活(论文跨节点为 100 Gbps 以太网,第 4 页 §2.3、第 10 页表 1),近均匀微批使气泡最小。P
  7. ⑦ 采样回传:decode 请求采样出新 token 追加到输出序列;prefill 请求算完首块不产出用户可见 token,等待后续块(最后一块产出首 token)。P I(首 token 产出时点为编辑按 chunked 机制推演)
  8. ⑧ 流式响应:token 经 API 前端流式返回客户端;首 token 到达即 TTFT,相邻 token 间隔即 TBT——stall-free 保证 TBT 无 prefill 干扰尖峰。P
表 B · 数据路径组件与职责
组件职责证据
API 前端(vLLM 服务)接入请求队列、流式输出、遥测P §4.4(第 9–10 页)
迭代级调度器控制面算法 3 编排、token 预算执行、新请求准入P §4.2–4.3(第 8–9 页)
执行引擎(GPU)数据面GEMM、注意力 kernel、采样P §4.4(第 9 页)
KV cache(HBM)数据面PagedAttention 分页存取;prefill 块追加、decode 读写P §4.1–4.2(第 8 页)
NCCL 通信数据面TP all-reduce / PP 激活点对点传输P §4.4(第 10 页)

架构权衡

吞吐 ↔ 延迟:预算旋钮

token budget 是显式旋钮:strict 512 下 Mistral-7B(1×A100)相对 vLLM 容量 3.5×(100ms P99 TBT SLO);relaxed 2048 下 Yi-34B(2×A100)1.65×(1s SLO)。负载为 openchat_sharegpt4(输入/输出中位 1730/415 token),精度论文未明确披露(第 12 页 §5.2、图 12)。SLO 越紧预算越小、prefill 越碎、效率越低,但尾延迟有界。P

算力利用 ↔ HBM 流量

把 prefill 塞进 decode 批吃掉算力闲置;代价是跨块 KV 重读(第 i 块重读 i−1 次)推高 HBM 读取流量,块越小越明显。P

复杂度 ↔ 收益

收益(容量倍数、气泡消除)以调度器复杂度与按部署调参为代价:预算需一次剖析(Vidur)或按经验取 2 的幂;tile 量化使 257 vs 256 差 32%。P

扩展性 ↔ 故障域

Falcon-180B decode-only 中位 TBT:跨节点 TP-8 约为 TP4-PP2 的 2×(图 13a 图注为逾 2×,第 12 页 §5.3),PP+均匀微批成为无高带宽互联时的可行路径;但 PP 引入 stage 间依赖,副本是更大的故障域,论文未给故障恢复数据。P I

数值一致性 ↔ 效率

chunked-prefills 是调度层机制,不改变权重与计算数值;论文未报告任何精度/质量变化,也未声称需要重校准。P(「无精度影响」的表述边界为编辑概括)I

TTFT ↔ TBT(内部再平衡)

消融(表 4:Yi-34B / 2×A100 / token budget 1024 / 128 请求,精度论文未明确披露):仅混合批 TTFT 0.53s/TBT 0.68s;仅切块 TTFT 1.04s/TBT 0.17s;两者结合 TTFT 0.76s/TBT 0.14s(openchat_sharegpt4;arxiv_summarization 依次为 3.78/1.38、5.38/0.20、3.90/0.17s)——只有组合能同时改善两者(第 13 页 §5.4.2、表 4)。P

云上部署映射

本节为部署映射:论文硬件事实标 P,云产品对应标 E(仅作厂商中立示例,参数与价格以云厂商文档为准,本站未核验实时价格),运维建议标 I。

表 C · 论文配置 → 云上对应
维度论文配置(P)云上映射(E,示例非推荐)说明
计算实例 Azure NC96ads v4(4×A100 80GB,两两 NVLink);8×A40 48GB 服务器 P 各云单机 4×/8× A100-80GB GPU 实例;A40 类比 48GB 卡型 选型核心是单卡显存与 NVLink 拓扑,不是具体机型名
GPU 拓扑 节点内 NVLink 跑 TP;跨节点以太网跑 PP P 优先把 TP 限制在同一 NVLink 域内 论文实测 Falcon-180B decode-only 跨节点 TP-8 中位 TBT 约为 TP4-PP2 的 2×(第 12 页图 13a) P
网络 节点间 100 Gbps 以太网 P 同区域低延迟以太网即可,无 RDMA 硬依赖 PP 激活为点对点小流量,对网络要求低于 TP
存储 KV cache 全程驻留 GPU HBM(PagedAttention 分页);论文无跨节点 KV 迁移 P 无需分离式 KV 存储层;普通启动盘/镜像盘即可 与 disaggregated 架构(需 KV 迁移网络)的关键差异
编排 / 弹性 论文未披露自动伸缩与编排细节 单副本单实例组;按 QPS/SLO 水平扩副本 伸缩策略属部署方实现 I
可观测 论文实现含「extensive telemetry system」 P 接入指标系统:P99 TBT、中位 TTFT、排队延迟、迭代时长 论文实验用中位排队延迟 ≤2s 判稳 P

成本 / 性能 / SLO

SLO 口径(论文定义)

为剔除模型/硬件固有差异,P99 TBT 的 SLO 定义为「无 prefill 干扰的 decode 迭代执行时间」(4k prefill 长度、batch 32 基准)的 5×(strict)/ 25×(relaxed);绝对阈值见表 D。容量实验同时限制中位排队延迟 ≤2s(第 10 页 §5.1、表 3)。P

表 D · 论文 SLO 配置(第 10 页表 3;token budget 取值见第 11 页 §5.1)
模型strict P99 TBT(s)relaxed P99 TBT(s)token budget
Mistral-7B0.10.5512 / 2048
Yi-34B0.21512 / 2048
LLaMA2-70B15512 / 1536(relaxed 压气泡)
Falcon-180B15512 / 2048

容量规划变量

  • SLO 松紧(5×/25× 倍数)→ 直接决定 token budget 与容量上限;
  • 长度分布(prompt/输出中位与 P90,表 2)→ 长 prompt 收益更大但 strict 预算下 prefill 折价更多;
  • 并行策略(TP 度、PP stage 数)与跨节点带宽 → 气泡量级;
  • 判稳口径:中位排队延迟 ≤2s。P

成本模型(参数化,非论文结论)

论文不含任何成本数据。架构师可用下式估算单副本单位成本(I,价格项为参数):

每百万输出 token 成本 ≈ p_gpu × N_gpu × t_hour ÷ ( C_slo × L_out ) ÷ 10⁻⁶ …(公式 1)

  • p_gpu:单卡时租价(按查询日云价代入,E);
  • N_gpu:副本卡数(1/2/8);
  • C_slo:目标 SLO 下的容量 QPS(用论文图 10–13 按比例估,或实测);
  • L_out:平均输出 token 数(表 2 口径)。

敏感项:SLO 从 relaxed 收紧到 strict 时容量普遍明显下降(各档具体数值见图 10–11,第 11–12 页;「约减半」为本站编辑对图中差值的概括,非论文结论 I);长 prompt 占比上升时 strict 下容量下降更明显(arxiv_summarization 各系统容量普遍低于 openchat_sharegpt4,第 11–12 页)。P

安全与可运维性

论文披露范围

  • 实现含「extensive telemetry system」遥测系统,可用于延迟与调度观测(第 9–10 页 §4.4) P
  • 仓库为 vLLM fork 的科研原型,「与开源 vLLM 不具备完整功能对等」(第 18 页附录 A) R
  • 依赖栈:CUDA 12.1、A100/A40、FlashAttention v2、FlashInfer、NCCL(第 9–10 页 §4.4、第 18 页附录 A) P R

论文未披露、部署方必须自行覆盖的项

表 E · 安全/运维清单(论文缺口 + 编辑建议)
维度论文状态部署建议(I)
多租户隔离 / 公平性未披露;论文引用公平性调度为互补方向 P前置网关做配额与按租户公平排队;避免单租户长 prompt 挤占预算
数据驻留 / 缓存残留未披露 KV 释放与残留策略 P(缺口)确认请求结束后 KV 页回收;共享实例不承载跨租户敏感会话
镜像 / 供应链依赖 vLLM fork + 自定义 CUDA kernel R锁定 commit 构建私有镜像;跟踪上游 vLLM(chunked prefill 已进主流)的安全更新
权限与准入未披露API 层鉴权与限流;调度器参数(budget)仅运维角色可改
故障恢复未披露 P(缺口)副本无状态化重启 + 客户端重试/重放;PP 跨节点副本作为整体故障域演练
升级回滚未披露预算/调度参数与镜像版本分开变更、分别可回滚;灰度用 relaxed SLO 验证容量后再切 strict
监控告警遥测系统存在 P对 P99 TBT、中位排队延迟(2s 判稳线)、迭代时长方差设告警
生产化提醒:勿把科研原型直接当生产网关。论文附录明确该仓库只保留关键特性以加速研究迭代;生产部署建议评估已吸收 chunked prefill 的维护版推理引擎,再对照本页机制逐项核对行为一致性。R I

适用 / 不适用场景

适用(触发条件 → 理由)

  1. 交互式对话 / 助手类在线服务:触发条件——TBT 有 P99 硬约束且并发高。理由——stall-free 调度直接消除 generation stall,strict SLO 下容量较 vLLM 最高 3.7×(Yi-34B / 2×A100 / openchat_sharegpt4,第 11 页 §5.1)。P
  2. 长 prompt 工作负载(总结、文档问答、Copilot 类):触发条件——prompt 中位在千级 token 以上。理由——长 prefill 是 stall 与气泡主因,切块后收益最大(arxiv_summarization,中位 7059 token,第 10 页表 2)。P
  3. 无高带宽互联的跨节点大模型部署:触发条件——模型超单机 8 卡显存或 NVLink 域不可得。理由——TP4-PP2 + 均匀微批使跨节点 PP 可行,Falcon-180B(2 节点×4×A100)端到端容量最高 5.6×(第 1 页摘要、第 11 页图 11a)。P
  4. 7B–180B 多模型统一服务底座:触发条件——同一服务栈承载多个模型规模。理由——论文在四个模型 × 两类并行 × 两数据集上一致取得容量增益(第 10–13 页 §5),机制不依赖特定模型结构。P

不适用(触发条件 → 理由)

  1. 纯离线批量生成(吞吐唯一目标):触发条件——无交互延迟要求。理由——chunk 切块对 prefill 有纯开销(图 14:Yi-34B / TP-2,512 块 ≤约 25%、相对不切块归一化,第 13 页 §5.4.1),无 TBT 收益可换。P
  2. TTFT 极致优先且具备高带宽互联:触发条件——首 token 延迟权重远高于流式流畅度、且有 RDMA/NVLink 跨节点域。理由——论文自述 disaggregated 方案 prefill 效率与 TTFT 更优,但定量对比留作未来工作(第 13 页 §6)。P
  3. 需要生产级功能完备 / 硬多租户隔离:触发条件——直接对外多租户、合规要求严。理由——官方仓库自述为非功能对等的科研原型(第 18 页附录 A)。R
  4. 低负载 / 超短 prompt 场景:触发条件——QPS 远低于容量、prompt 数十 token。理由——decode 批小、prefill 本就不饱和,机制收益有限(编辑推断,论文未专门测此区间)。I

实验与指标

测试床与负载(复现实验的完整条件)

表 F · 实验配置(论文第 10 页表 1 / 表 2 / §5)
模型注意力GPU 配置精度(dtype)总显存(单卡)数据集(prompt 中位/P90)
Mistral-7BGQA-SW1×A100论文未明确披露80GB(80GB)openchat_sharegpt4:1730/5696
arxiv_summarization:7059/12985
Yi-34BGQA2×A100(TP-2)论文未明确披露160GB(80GB)
LLaMA2-70BGQA8×A40(TP4-PP2)论文未明确披露384GB(48GB)
Falcon-180BGQA4×A100×2 节点(TP4-PP2)论文未明确披露640GB(80GB)
  • 服务器:Azure NC96ads v4(4×A100 80GB、两两 NVLink),节点间 100 Gbps 以太网;A40 为 8×48GB 单机(第 10 页 Models and Environment 段)。P
  • 负载:两数据集长度特征 + 泊松到达;总长分别截断于 8192 / 16384 token;指标取中位 TTFT 与 P99 TBT(第 10 页表 2、Workloads/Metrics 段)。P
  • 基线:vLLM、Orca(论文自述两者为当时 SOTA,作者自行复现,第 10 页 §5)。P

关键结果(均带条件)

表 G · 评测关键数字 → 完整条件 → 定位(精度均为论文未明确披露;负载默认 openchat_sharegpt4,泊松到达)
结论(指标)数字完整条件来源
strict 下容量较 vLLM(sustained QPS 倍数)最高 3.7×Yi-34B / 2×A100(TP-2)/ openchat_sharegpt4(输入/输出中位 1730/415 token)/ strict SLO(P99 TBT 0.2s)/ 精度论文未明确披露 / 基线:作者复现的 vLLMP §5.1、图10(第 11 页)
strict 下容量较 Orca(同上口径)最高 4.0×同上(模型/硬件/负载/SLO/精度同上行),基线改为作者复现的 OrcaP §5.1(第 11 页)
PP 场景容量较 Orca / vLLM(QPS 倍数)6.3× / 4.3×LLaMA2-70B / 8×A40(TP4-PP2)/ openchat_sharegpt4(1730/415 token)/ strict SLO(P99 TBT 5s)/ 精度论文未明确披露 / 基线:作者复现的 Orca 与 vLLMP §5.1、图11(第 11 页)
跨节点 TP 劣势(decode-only 中位 TBT 倍数)约/逾 2×Falcon-180B / decode-only / TP-8 跨节点(100 Gbps 以太网)对照 TP4-PP2 / openchat_sharegpt4 / 精度论文未明确披露 / 基线:同系统 TP4-PP2 配置P §5.3、图13a(第 12 页)
vs vLLM TP-only / TP4-PP2(QPS 倍数,strict)4.3× / 3.6×Falcon-180B / 2 节点×4×A100(TP4-PP2)/ openchat_sharegpt4(1730/415 token)/ strict SLO(P99 TBT 1s)/ 精度论文未明确披露 / 基线:vLLM TP-8 与 vLLM TP4-PP2P §5.3、图13b(第 12 页)
budget 旋钮收益(QPS 倍数)3.5×(strict)/ 1.65×(relaxed)strict:Mistral-7B / 1×A100 / budget 512 / 100ms P99 TBT SLO → 3.5×;relaxed:Yi-34B / 2×A100 / budget 2048 / 1s SLO → 1.65×;均 openchat_sharegpt4 / 精度论文未明确披露 / 基线:vLLMP §5.2(第 12 页)
vLLM 容量对 max batch 不敏感(QPS)32/64/128 近似不变Mistral-7B(1×A100)与 Yi-34B(2×A100)/ openchat_sharegpt4 / vLLM max batch 32/64/128 三档 / 精度论文未明确披露 / 对照:Sarathi-Serve 用 max batch 128P §5.2、图12(第 12 页)
chunk 开销(prefill 计算时间增幅,归一化)≤约 25% @512;2048 近零Yi-34B / TP-2 / chunk 512/1024/2048、prompt 长度 2K/4K/8K / 相对不切块归一化 / 精度论文未明确披露 / 基线:不切块(图 14)P §5.4.1、图14(第 13 页)
消融:组合才双赢(TTFT/TBT,秒)TTFT 0.76s / TBT 0.14sYi-34B / 2×A100 / token budget 1024 / 128 请求 / openchat_sharegpt4 / 混合批+切块组合 / 精度论文未明确披露 / 基线:仅混合批 0.53/0.68s、仅切块 1.04/0.17sP §5.4.2、表4(第 13 页)
朴素混合批 TBT 恶化倍数(vs 纯 decode 批)最高 28.3×(a) Mistral-7B / 1×A100 / token budget 256;(b) LLaMA2-70B / 4×A100 / token budget 512 / 输入/输出长度论文未明确披露 / 精度论文未明确披露 / 基线:纯 decode 批(图 9)P §4.2、图9(第 8 页)

公平性限制

  • 所有对比基于作者实现的基线复现,非原作者调优结果;I
  • Orca 无 PagedAttention、批大小受限,vLLM 无混合批——代差部分来自系统能力差异而非纯调度;P
  • 论文未明确披露模型精度(dtype)与量化设置;未测多租户与故障注入场景。P(缺口)

建议复现步骤

  1. 获取官方仓库 microsoft/sarathi-serve,切换 OSDI 复现分支 osdi-sarathi-serve(第 1 页 §1、第 10 页 §4.4、第 18 页附录 A);R
  2. 准备 CUDA 12.1 + A100/A40 环境(/sarathi 源码、/csrc 自定义 kernel,第 18 页附录 A);R
  3. 使用 /data 中 trace 与 /osdi-experiments 脚本按图对应 README 跑容量与延迟实验(第 18 页附录 A);R
  4. 先复现图 9/图 14(微基准),再复现图 10–13(容量),最后表 4(消融)。I(顺序为编辑建议)

给架构师的决策清单

需求与兼容
PoC 与容量
SLO 与成本
安全与运维
退出策略

证据台账

分级:P = 论文正文/图表;R = 论文给出的官方仓库;E = 外部/云文档(仅部署映射);I = 编辑推断。定位均为真实 PDF 页码 + 章节/图表号:2026-09-14 以 pdftotext 逐页版式提取对全部 25 条逐条复核(第 15–17 页为参考文献列表、第 19 页无正文,经全文提取交叉覆盖)。完整字段(原文摘录、条件、状态)见 sources/sarathi-serve.evidence.json。最后核验日期:2026-09-14。

表 I · 关键结论 → 级别 → 定位(真实 PDF 页码+章节)→ 核验状态(25 条)
编号关键结论(摘要)级别定位(PDF 页码 + 章节/图表)核验状态
EV-01标题/作者/机构(MSR India + GT)、arXiv 2403.02310v3(2024-06-17)P第 1 页(题名/作者块与 arXiv 水印)已核验(PDF 原页)
EV-02prefill 计算受限、decode 内存受限;batching 对 decode 近线性、对 prefill 影响很小(图 3/图 4:Mistral-7B 单 A100,长度 1024)P第 1 页摘要与 §1、第 3 页 §2.2、第 5 页 §3.1 与图 3/图 4已核验(PDF 原页)
EV-03两类调度与各自的坑(prefill 优先 → generation stall;decode 优先 → 吞吐严重受限;图 2 为示意图);Splitwise/DistServe 单列 disaggregated 类P第 2 页 §1、图 2 与脚注 1;第 4 页 §2.5 与算法 1/2已核验(PDF 原页)
EV-04图 1 实测 vLLM 数秒级 stall、P99 TBT 尾部恶化(Yi-34B / 2×A100 / 128 请求 / arxiv-summarisation trace)P第 1 页图 1(a)(b) 及图注已核验(PDF 原页)
EV-05chunked-prefills 机制;prefill 吞吐约 512 token 即饱和(512 点为 Mistral-7B 单 A100 实测,非普遍结论)P第 1 页 §1、第 5 页图 4、第 8 页 §4.1已核验(PDF 原页)
EV-06stall-free batching(算法 3):decode → prefill 块 → 新请求准入;token 预算 = f(TBT SLO)P第 8 页 §4.2、第 9 页算法 3已核验(PDF 原页)
EV-07朴素混合批 TBT 最高恶化 28.3×(vs 纯 decode 批;图 9 条件见页面表 G)P第 8 页 §4.2 与图 9已核验(PDF 原页)
EV-08KV 重读 N−i 次;tile 量化 257→+32%;Vidur 仿真选预算P第 9 页 §4.3已核验(PDF 原页)
EV-09实现:vLLM 基座 + paged chunk prefill + FlashAttention v2/FlashInfer(评测统一 FA 后端)+ NCCL + 遥测P第 9 页 §4.4、第 10 页 §4.4 末段已核验(PDF 原页)
EV-10官方仓库 github.com/microsoft/sarathi-serve;vLLM fork、科研原型非功能对等、/sarathi、/csrc、/osdi-experiments、/data、osdi-sarathi-serve 分支、CUDA 12.1 + A100/A40R第 1 页 §1 末段、第 10 页 §4.4 末段、第 18 页附录 A已核验(PDF 原页;链接逐字取自论文原文,实时可用性未联网复核)
EV-11四模型 GPU 配置(表 1)+ Azure NC96ads v4 / 两两 NVLINK / 100 Gbps 以太网 / 8×A40 单机P第 10 页表 1 及 Models and Environment 段已核验(PDF 原页)
EV-12两数据集长度分布(openchat 1730/5696、输出 415/834;arxiv 7059/12985、输出 208/371);泊松到达;8192/16384 截断P第 10 页表 2 及 Workloads、Metrics 段已核验(PDF 原页)
EV-13SLO 口径:5×/25× 无干扰 decode 迭代基时(4k prefill、batch 32);表 3 绝对值;中位排队延迟 ≤2s 判稳;中位 TTFT / P99 TBT;Capacity 定义P第 10 页 §5.1 开头、表 3、Metrics 段;Capacity 定义见第 4 页 §2.4已核验(PDF 原页)
EV-14strict 容量:最高 4.0× vs Orca、3.7× vs vLLM(Yi-34B,openchat);PP 场景 6.3×/4.3×(LLaMA2-70B,openchat)P第 11 页 §5.1 与图 10、图 11已核验(PDF 原页)
EV-15结论口径:2.6×(Mistral-7B 单 A100)/ 3.7×(Yi-34B 2×A100)/ 5.6×(Falcon-180B;图 11a 柱标 5.62×,§7 表述为 8×A100 上 5.6×)P第 1 页摘要、第 3 页 §1、第 11 页图 11(a)、第 14 页 §7已核验(PDF 原页)
EV-16budget 2048/512(LLaMA2-70B relaxed 1536);3.5×(strict 100ms,正文为 Mistral-7B)/1.65×(relaxed 1s,Yi-34B);vLLM 容量对 max batch 32/64/128 不敏感P第 11 页 §5.1 末段、第 12 页 §5.2 与图 12 及其图注已核验(PDF 原页;含论文图注与正文表述不一致的记录,以正文为准)
EV-17Falcon-180B:TP-8 跨节点中位 TBT ≈/>2× 于 TP4-PP2;strict 较 vLLM TP-only 4.3×、较混合并行 3.6×;relaxed 较混合并行 1.48×P第 12 页 §5.3 与图 13(a)(b)已核验(PDF 原页)
EV-18chunk 开销:512 块 ≤约 25%、2048 块近零(Yi-34B TP-2,相对不切块归一化)P第 13 页 §5.4.1 与图 14已核验(PDF 原页)
EV-19消融表 4:仅组合同时改善 TTFT 与 TBT(0.76/0.14s,openchat;arxiv 3.90/0.17s)P第 13 页 §5.4.2 与表 4已核验(PDF 原页)
EV-20气泡动机:Falcon-180B 4k prefill ≈1150ms vs decode-32 ≈200ms → ≈950ms 气泡;三类气泡 PB1/PB2/PB3P第 7 页 §3.3、Takeaway-4 与图 8已核验(PDF 原页)
EV-21线性层占两阶段总时间 80%+;约 200 token(理论)/500–600(高 TP 实测)进入计算受限;TP 每层两次 all-reduce、PP 点对点P第 5 页 §3.1 与图 3/图 4、第 6 页图 5/图 6 与脚注 2、第 4 页 §2.3已核验(PDF 原页)
EV-22vs disaggregation(SplitWise/DistServe/TetriInfer):定性讨论,定量对比明确留白P第 13 页 §6;分类见第 2 页脚注 1已核验(PDF 原页)
EV-23生态:APIServe 采纳 chunked prefills;公平性调度与 FastServe 为互补方向P第 13 页 §6已核验(PDF 原页)
EV-24云上映射:论文硬件(NC96ads v4 / NVLink / 100 Gbps 以太网 / 8×A40)→ 通用 GPU 实例 / NVLink 域内 TP / 以太网 PP(示例仅示意)E论文硬件见第 10 页 Models and Environment 段;云产品对应为各厂商公开实例目录(本次未联网核价)部分核验(硬件为 PDF 原页;云产品映射未联网核验)
EV-25动态 token 预算为论文明确留白的未来工作;生产调参风险与运维建议为编辑推断I论文留白见第 11 页 §5.1 末段;风险与建议为编辑分析编辑标注完成