Not All Prefills Are Equal: PPD Disaggregation for Multi-turn LLM Serving

framework 2603.13358 — Cross-paper Synthesis

PPD vs 相关论文:跨篇综合 #

相关论文 #

本篇选取 8 篇相关实体,覆盖 PD 分离推理、MoE serving 调度、RL 训练权重传输、低延迟推理引擎和 KV-cache 压缩等维度,与 PPD 形成多角度对比。

DualPath (2602.21548) — 与 PPD 最直接可比的 PD 分离优化工作。两者都识别到标准 PD 分离架构下多轮对话的 KV-cache 传输低效,但解法路径完全不同:PPD 通过动态路由将 Turn 2+ 请求在 decode 节点本地执行 append-prefill 以规避 KV 传输 [2603.13358];DualPath 通过聚合 DE 端空闲 SNIC 带宽建立第二条 KV-cache 加载路径以加速传输 [2602.21548]。PPD 是"避免传输",DualPath 是"加速传输"。PPD 面向通用多轮对话(ShareGPT/WildChat),DualPath 面向 agentic RL 工作负载(DeepSeek coding agent,157 轮/session)。Kind: related。

MFS (2603.17456) — 与 PPD 正交但互补的网络调度优化。PPD 解决 PD 分离中"Turn 2+ KV 传输是否值得"的路由层决策 [2603.13358];MFS 解决 PD 分离中"KV 传输、collective comm、P2D 传输三阶段如何争用网络"的网络调度层决策 [2603.17456]。PPD 的价值在于消除不必要的 KV 传输(减少 ~75% 传输量),MFS 的价值在于优化剩余传输的网络优先级。两者可叠加:PPD 减少 Turn 2+ 的 PD 传输量后,MFS 对 Turn 1 的 P2D 传输做 RMLQ 调度。MFS 面向 MoE 模型的 EP all-to-all 争用,PPD 不涉及并行策略层。Kind: related。

TensorHub (2604.09107) — RL 训练权重传输框架,与 PPD 的问题域不同但共享"利用多副本实现 fan-out 带宽放大"的设计模式。TensorHub 用 Reference-Oriented Storage + pipeline replication 在 rollout 扩展中实现线性带宽增长 [2604.09107];PPD 用 per-request 路由决策在 decode 节点间分散 prefill 负载。TensorHub 的"无所有权存储"思想——所有副本对等、任意节点可服务——与 PPD 的 session affinity 设计形成对比:PPD 的 Turn 2+ 必须路由到持有 KV cache 的特定 D 节点,不具备 TensorHub 的副本灵活性。Kind: related。

PrfaaS (2604.15039) — PD 分离的另一条路线:将长上下文 prefill offload 到跨 DC 独立集群 [2604.15039]。PPD 在单集群内优化 Turn 2+ 路由,PrfaaS 跨集群优化 Turn 1 长前缀路由——两者攻击 PD 分离的不同阶段。PrfaaS 依赖混合注意力将 $\Phi_{\text{kv}}$ 压缩到 ≈3 Gbps 使跨 DC 可行 [2604.15039];PPD 不限制模型架构。PrfaaS 的 throughput model(Eq.1–8)中的长度阈值 $t$ 路由与 PPD 的 scoring function $S(\psi;\pi,\mathbf{w})$ 在设计模式上类似——都是基于 workload 参数的 per-request 路由决策,但 PrfaaS 按长度阈值分流,PPD 按 TTFT/TPOT trade-off 分流。Kind: related。

ZeRO-Prefill (2605.02960) — 面向 prefill-only workload 的 MoE 执行优化。ZeRO-Prefill 反转 EP 数据流方向(weight streaming 替代 activation routing),消除 AllToAll 通信 [2605.02960];PPD 反转 PD 数据流方向(append-prefill 在 decode 节点执行替代传统 P→D KV 传输)。两者共享"反转传统数据流方向"的设计直觉,但作用层不同:ZeRO-Prefill 优化模型并行层的通信,PPD 优化 PD 分离层的路由。ZeRO-Prefill 绑定 prefill-only 场景 [2605.02960],PPD 面向完整的多轮 prefill+decode 生命周期。Kind: related。

TileRT blog (tilert-speed-scaling-law) — 从完全不同的角度攻击推理延迟:将整个模型 AOT 编译为单个 Persistent Engine Kernel,消除 inter-kernel idle [tilert-speed-scaling-law]。TileRT 面向 batch=1 超低延迟 decode,PPD 面向中高并发多轮 serving。两者不可直接组合(TileRT 不支持 PD 分离架构中的动态路由),但 TileRT 的 heterogeneous workers 思想(GPU0 运行 Sparse Indexer,GPU1–7 运行 MLA Workers)与 PPD 的 P/D 节点异构角色分配在概念上有映射关系。Kind: related。

KVServe (kvserve) — KV-cache 压缩框架,与 PPD 互补。PPD 通过路由规避 Turn 2+ 的 KV 传输 [2603.13358],KVServe 通过压缩降低 Turn 1 不可避免的 KV 传输量 [kvserve]。KVServe 的 analytical model 提供了压缩是否有益的精确判据 $B < (1-1/cr) \cdot S$ [kvserve],类似于 PPD 的 scoring function $S > 0$ 判据——两者都是"是否采取优化动作"的 go/no-go 决策函数。KVServe 不支持 MLA 架构 [kvserve],PPD 在 vLLM 上不限模型架构。Kind: related。

TileRT code (tile-ai-tilert) — TileRT 的开源代码实现,验证了 blog 中描述的 tile-level 调度在 8×B200 上的部署 [tile-ai-tilert]。DeepSeek-V3.2 达 600 tok/s,GLM-5 达 500 tok/s——但仅支持 batch=1 [tile-ai-tilert]。PPD 的价值在中高并发场景下体现(批处理 200 级别的 decode batch),与 TileRT 的 batch=1 场景互斥。Kind: related。

本篇 vs 相关论文的 delta #

PPD 的核心 delta 是发现并量化了 append-prefill 与 full prefill 对 decode 干扰的量级差异(2% vs 48% TPOT degradation at batch 200),并将这一微架构观察转化为可操作的 per-request 动态路由决策 [2603.13358]

维度PPDDualPathMFSTensorHubPrfaaSZeRO-PrefillTileRTKVServe
瓶颈定位Multi-turn KV 重传Storage NIC 单点饱和三阶段网络争用权重传输 fan-outCross-DC KV 传输MoE 三重冗余Inter-kernel idlePD KV 传输带宽
优化层面Request routing数据通路 (RDMA)网络调度存储抽象跨 DC 架构模型并行执行微架构执行KV 压缩
核心机制Scoring functionDual-path loadingRMLQROS + pipeline rep.长度阈值路由AsyncEPPersistent kernelTransform+Quant+Codec
模型要求MoE + EPHybrid attentionMoE (prefill-only)DeepSeek-V3.2/GLM-5非 MLA
硬件要求vLLM disagg.InfiniBand 双网 + 3FSSwitch HW priorityRDMA NICCommodity EthernetNVLink (D2D AG)8×B200 NVLNVIDIA nvCOMP
规模验证4 GPU1152 GPU32 GPU1024 GPU96 GPU8 GPU8 GPU同节点测试
开源是 (vLLM flag)部分

PPD vs DualPath — "避免传输" vs "加速传输"的根本分歧。PPD 观察到 Turn 2+ 的 append-prefill 干扰极低(2% TPOT degradation),因此直接在 decode 节点本地执行,完全规避 KV 传输 [2603.13358]。DualPath 不区分 turn number,而是通过 DE 端 SNIC + RDMA 计算网络加速所有 KV-cache 传输 [2602.21548]。这反映了两种工作负载的结构性差异:PPD 面向通用多轮对话(平均 3.1 turns,ShareGPT/WildChat),Turn 2+ 的新增 token 数 $m$ 远小于历史 context $n$,append-prefill 的 $O(m(n+m))$ 复杂度远低于 full prefill 的 $O(n^2)$ [2603.13358]。DualPath 面向 agentic RL(平均 157 轮、429 token/轮 append),KV-cache 命中率 98.7%,prefill 已退化为 I/O-bound [2602.21548]。在 DualPath 的场景中,PPD 的"本地 append-prefill"同样成立但不足够——因为 RL rollout 的 batch 规模远大于 PPD 评估的 4 GPU 配置。

PPD vs PrfaaS — per-request 路由决策的两种形态。PPD 的 scoring function $S(\psi;\pi,\mathbf{w}) = w_{\text{ttft}}\Delta_{\text{ttft}} - w_{\text{tpot}}\Delta_{\text{tpot}}$ 是一个 TTFT/TPOT 的加权 trade-off [2603.13358]。PrfaaS 的长度阈值 $t$ 由 $\Theta_{\text{prfaas}}/p = \Theta_{\text{pd-p}}/(1-p)$ 的平衡点唯一确定 [2604.15039]。两者都实现了"不是所有请求都应该走同一条路径"的核心洞察,但 PPD 按 workload 状态动态切换(offline profiling + online lookup),PrfaaS 按请求长度静态分流。PPD 的优势在于 workload 自适应性——$w_{\text{tpot}}$ 从 1 到 6 可单调地在 TTFT 和 TPOT 之间滑动 [2603.13358];PrfaaS 的优势在于有闭合形式的最优解且可证明单调性。

PPD vs MFS — 减少传输 vs 优化传输调度。PPD 将 Turn 2+ 的 ~75% KV 传输量消除(3.1 平均 turns → 仅 Turn 1 需传输)[2603.13358],MFS 对剩余的 KV 传输做 Defer-and-Promote 优先级调度以减少 collective comm 被挤压 [2603.17456]。两者叠加效应明确:PPD 先减少 Turn 2+ 的 P2D 传输流量,MFS 再对 Turn 1 不可避免的 P2D 传输做精细化网络调度——PPD 减少了 MFS 需要管理的 Stage 3 flow 数量,使 MFS 的 RMLQ 队列更空,间接提升 Stage 2 collective comm 的带宽分配。

PPD vs ZeRO-Prefill — 共享"反转数据流方向"的设计直觉。传统 EP 是"activation 路由到 expert 所在 GPU",ZeRO-Prefill 反转为"expert weight 流式搬到 activation 所在 GPU" [2605.02960]。传统 PD 是"Turn 2+ KV 在 P 节点重算再传到 D 节点",PPD 反转为"Turn 2+ 在 D 节点本地 append-prefill"[2603.13358]。两者的成功条件结构相似——ZeRO-Prefill 需要大 compute window(T = t_EP × F_GPU × γ)覆盖 AllGather 延迟,PPD 需要 append-prefill 的干扰足够低(2% at batch 200)以不降低 decode 质量。但 ZeRO-Prefill 的前提是 prefill-only workload [2605.02960],PPD 适用于完整的多轮 prefill+decode 生命周期。

PPD 的独有增量

  1. 唯一量化 append-prefill vs full prefill 干扰差异的工作——Figure 2 的 2% vs 48% TPOT degradation 是 PPD 的基础性实证 [2603.13358]。其余 7 篇均未区分这两种 prefill 模式的 decode 干扰特性。
  2. 唯一将 PD 分离路由形式化为可操作 scoring function 的工作——$S(\psi;\pi,\mathbf{w})$ 将 per-request 路由决策从启发式调参转化为离线 profiling + 在线 lookup [2603.13358]。PrfaaS 的长度阈值路由虽然也是 per-request,但 decision boundary 是一维(长度),PPD 是多维(QPS × I/O ratio × context length)。
  3. 唯一证明"传统 PD 和 Replica 都是 PPD 特例"的工作——PPD 将 $x=0$(标准 PD)和 $x=1$(Full AP-to-D)统一为同一框架的两个极端 [2603.13358],通过连续权重 $w_{\text{tpot}}$ 在 Pareto frontier 上单调滑动。
  4. 可攻击面 #

    Attack 1: append-prefill 干扰的 batch size 外推风险 (针对 Figure 2 及论证链 Step 1)

    PPD 的核心论据——append-prefill 仅 2% TPOT degradation——来自 H100 上 Llama-3.1-8B 的单次干扰测量("co-locating with one append-prefill operation processing 1,024 tokens")[2603.13358]。但这测量的是单个 append-prefill 请求对 batch 200 的干扰。在实际 PPD 部署中,如果路由器将大量 Turn 2+ 请求同时路由到同一 D 节点(高 QPS 下 $x \to 1$),则该 D 节点可能同时执行多个 append-prefill 请求——多个 AP 的叠加干扰可能远超单个 AP 的 2%。论文未提供多个并发 append-prefill 对 decode 的干扰测量数据。DualPath 的 layerwise streaming 实验也表明,单操作干扰测量无法线性外推到并发场景 [2602.21548]。如果并发 AP 干扰为 20%(5 个并发 AP × 非线性叠加),PPD 的 scoring function 需要重新标定。

    Attack 2: Offline profiling 的 workload 漂移问题 (针对论证链 Step 3)

    PPD 的路由决策依赖 Phase 1 offline profiling 建立的 lookup table——沿 accumulated context length、input/output ratio、system QPS 三轴离散化 [2603.13358]。这个 lookup table 在 workload 分布稳定时有效,但真实多轮对话的 workload 分布高度非平稳:ZeRO-Prefill 的生产数据显示 65.3% 的 input tokens 是 prefill-only [2605.02960],这类流量模式与 PPD 评估的 ShareGPT/WildChat 多轮对话差异巨大。PrfaaS 的双时间尺度调度器正是为应对这种非平稳性设计的——短期 per-request 反应 + 长期周期性 rebalance [2604.15039]。PPD 缺乏 online re-profiling 或 adaptive lookup table 更新机制。

    Attack 3: Session affinity 的单点故障与负载不均 (针对实现 cross-reference)

    PPD 的 Turn 2+ 必须路由到持有上轮 KV cache 的特定 D 节点——session affinity 是硬约束 [2603.13358]。如果该 D 节点过载或故障,fallback 回 PD path($x=0$)。这个设计有两个脆弱性:(1) 热门用户的多轮长会话可能导致某个 D 节点 KV 内存耗尽——论文未讨论 eviction 策略 [2603.13358];(2) session 分布不均导致 D 节点负载严重偏斜——TensorHub 通过"所有副本对等、任意节点可服务"的 ROS 设计解决了类似问题 [2604.09107],但 PPD 的 KV cache 不可在 D 节点间迁移。DualPath 的调度器考虑了 HBM-aware DE 选择 [2602.21548],PPD 未涉及 D 节点间的负载均衡。

    Attack 4: 评估规模的局限性 (针对论证链 Step 4-5)

    PPD 在 4×H100 上评估 3 种 PD 配置(1P_3D、2P_2D、3P_1D),最大 QPS 12 [2603.13358]。DualPath 在 1152 GPU 上验证近线性扩展 [2602.21548],TensorHub 在 1024 GPU 上验证 [2604.09107],PrfaaS 在 96 GPU 上验证 [2604.15039]。PPD 的 4 GPU 规模无法回答:(1) scoring function 的 lookup table 是否需要随集群规模重新标定——更多 D 节点意味着更多 session 分散、更低的 per-D 并发 AP,干扰特性可能变化;(2) 网络拓扑从 NVLink(4 GPU 同节点)扩展到跨节点 InfiniBand 时,PPD 的 TTFT 优势是否保持——论文的网络模拟(Figure 5)仅限于单链路带宽限制,未模拟多跳网络拓扑。

    Attack 5: Turn 1 仍然是传统 PD 的完整瓶颈 (隐含在架构设计中)

    PPD 仅优化 Turn 2+——Turn 1 请求仍走完整的 PD path(full prefill on P → KV transfer → decode on D)[2603.13358]。在 first-contact-heavy workload(大量新用户、少量回访)下,PPD 退化为标准 PD,无任何收益。DualPath 的双路径加载对所有请求(包括 Turn 1)均有效 [2602.21548]。KVServe 的压缩对 Turn 1 KV 传输同样有效 [kvserve]。PPD + KVServe 的组合可能比单独 PPD 更通用——PPD 减少 Turn 2+ 传输量,KVServe 压缩 Turn 1 传输量。

    生态位 #

    范式定位:PPD 代表 PD 分离架构从"单一静态策略"到"per-request 动态策略选择"的范式转变。在此之前,PD 分离的部署配置(P/D 比例、路由策略)是部署时一次性决定的;PPD 之后,每个请求根据实时 workload 状态独立决策最优路径。这个 per-request 路由范式与 PrfaaS 的长度阈值路由 [2604.15039] 和 KVServe 的 service-aware 压缩 profile 选择 [kvserve] 形成一个趋势:PD 分离系统正从静态配置走向在线自适应。

    学术定位与产业差距:PPD 是学术工作(4×H100 prototype on vLLM),未声明生产部署 [2603.13358]。相比之下,DualPath 在 DeepSeek 1152 GPU 生产环境部署 [2602.21548],TileRT 在 Z.ai 生产部署 [tile-ai-tilert],TensorHub 在 ByteDance 生产部署 [2604.09107]。PPD 的价值主要在于提供了一个轻量的、可在 vLLM 上增量实施的多轮优化方案,对于中小规模部署(4-16 GPU)有直接实用价值。

    采纳信号

    • 正面:(1) PPD 是 vLLM 上的 scheduler-level patch,无 model 修改、无 custom kernel,迁移成本极低 [2603.13358];(2) 将不稳定配置(2P_2D、3P_1D)从频繁崩溃恢复为 100% 成功率,这对运维来说是刚性需求 [2603.13358];(3) PD 和 Replica 均为 PPD 特例,切换零风险。
    • 障碍:(1) 代码未开源;(2) offline profiling 建表的 one-time cost 和对 workload 漂移的脆弱性;(3) session affinity 限制了 D 节点灵活性;(4) 4 GPU 评估规模的可扩展性未验证。

    竞争方案生态位对比

    场景最优方案PPD 的相对位置
    中小规模多轮对话(4-16 GPU)PPD最轻量的多轮优化,无硬件/模型约束
    大规模 agentic RL(千 GPU)DualPathPPD 的 session affinity 和 4 GPU 验证规模不足
    MoE + EP 网络争用MFSPPD 不涉及并行策略层的网络调度
    Prefill-only 高吞吐ZeRO-PrefillPPD 面向 prefill+decode 生命周期
    跨 DC 异构部署PrfaaSPPD 限于单集群
    Batch=1 极低延迟TileRTPPD 面向中高并发 batched serving
    低带宽 PD 传输KVServePPD 减少传输量,KVServe 压缩传输量,两者互补

    未探索方向 #

    方向 1: PPD + KVServe 组合——全 turn 覆盖的 PD 优化。PPD 仅优化 Turn 2+(本地 append-prefill 规避传输),Turn 1 仍走完整 PD path。KVServe 的三阶段压缩 pipeline(Transform → Quantizer → Codec)可将 Turn 1 的 KV 传输量降低 10× [kvserve]。两者组合的 scoring function 可扩展为三路决策:Turn 1 走 PD + KVServe 压缩传输,Turn 2+($S > 0$)走 D 节点本地 AP,Turn 2+($S \leq 0$)走 PD + KVServe。KVServe 的 analytical model 中的 $B < (1-1/cr) \cdot S$ 判据 [kvserve] 可以作为 PPD scoring function 的扩展维度——当网络带宽低于阈值时自动启用压缩。实现路径:两者都基于 vLLM,KVServe 的 external connector 机制与 PPD 的 scheduler patch 在架构上正交。

    方向 2: Multi-D-node KV migration 打破 session affinity。PPD 的 session affinity 硬约束(Turn 2+ 必须路由到持有 KV cache 的特定 D 节点)是负载均衡和容错的根本限制。借鉴 TensorHub 的 Reference-Oriented Storage 思想 [2604.09107]——权重副本对等、任意节点可服务——PPD 可以引入 lazy KV migration:当目标 D 节点过载时,将 KV cache 通过 RDMA 迁移到空闲 D 节点,再在空闲节点执行 append-prefill。DualPath 的 layerwise streaming 机制 [2602.21548] 提供了 KV 迁移的传输范式——逐层传输与 decode 计算重叠。迁移决策可以嵌入 PPD 的 scoring function:$S_{\text{migrate}}(\psi;\pi,\mathbf{w})$ 在 local-AP、PD-path、migrate-then-AP 三路中选最优。

    方向 3: Online adaptive profiling 替代静态 lookup table。PPD 的 Phase 1 offline profiling 在 workload 稳定时有效,但真实 serving 的流量模式持续漂移。KVServe 的 ε-greedy bandit controller 用 EWMA(α=0.2)在线学习 analytical model 的残差 [kvserve]——这个机制可直接移植到 PPD:用 bandit 在线校正 $\Delta_{\text{ttft}}$ 和 $\Delta_{\text{tpot}}$ 的 profiled 值。PrfaaS 的双时间尺度调度器 [2604.15039](短期 per-request + 长期周期性 rebalance)提供了另一种模式——PPD 可以在短期用 lookup table 做快速决策,长期用监控到的 TTFT/TPOT 实际表现 online re-fit scoring function。

    方向 4: PPD + MFS 联合优化——减少传输量 + 优化传输调度。PPD 消除 ~75% 的 Turn 2+ P2D 传输 [2603.13358],但剩余的 Turn 1 P2D 传输仍需要与 EP all-to-all 和 KV prefetch 争用网络。MFS 的 RMLQ 调度可对 Turn 1 的 P2D 传输做 Defer-and-Promote [2603.17456],而 PPD 减少的 Turn 2+ 传输量直接降低了 MFS 需要管理的 Stage 3 flow 密度。具体实现:PPD 的路由器告知 MFS 哪些请求走 PD path(需要 P2D 传输),MFS 仅对这些请求的 P2D flow 做优先级管理;走 local AP 的 Turn 2+ 请求完全不产生 Stage 3 flow,释放带宽给 Stage 2 collective comm。

    方向 5: 并发 append-prefill 干扰的精确建模。PPD 的核心实证(2% TPOT degradation)基于单个 AP 请求的干扰测量 [2603.13358]。当 $x \to 1$(高比例 Turn 2+ 走 local AP)时,D 节点可能同时执行多个 AP——并发 AP 的叠加干扰函数 $\delta_{\text{tpot}}(k)$($k$ 个并发 AP)可能是超线性的。ZeRO-Prefill 的饱和阈值 T [2605.02960] 提供了类似的"什么时候 overlap 不再成立"的精确判据。PPD 可以将 scoring function 扩展为 $S(\psi, k;\pi,\mathbf{w})$,其中 $k$ 是当前 D 节点已有的并发 AP 数,通过 offline profiling 建立 $\delta_{\text{tpot}}(k)$ 的查找表。当 $k$ 超过某个阈值使 $S < 0$ 时,后续 Turn 2+ 自动回退到 PD path——实现细粒度的自适应降级。