Prefill-as-a-Service: KVCache of Next-Generation Models Could Go Cross-Datacenter

framework 2604.15039
pd-disaggregationkvcachehybrid-attentioncross-datacenterschedulingheterogeneous-serving

PrfaaS: KVCache of Next-Generation Models Could Go Cross-Datacenter #

Ruoyu Qin et al. (Moonshot AI + Tsinghua) | 2026-04 | arXiv:2604.15039

1. TL;DR #

PrfaaS 把 LLM serving 的 PD 分离从"单集群 RDMA 岛"扩展到"跨 DC commodity Ethernet":把长上下文 prefill 选择性 offload 到独立 PrfaaS 集群、KV 经 Ethernet 回流到本地 PD 集群 decode。两根支柱:混合注意力(KDA:MLA=3:1 等)把单实例 KV 吞吐压到 ≈3 Gbps 让跨 DC 可行;长度阈值 $t$ 路由 + 双时间尺度调度让它实用。1T Kimi-Linear 风格模型、32 H200 + 64 H20 vs 96 H20 同构:+54% 吞吐、−64% P90 TTFT、13 Gbps/100 Gbps(13%)egress;vs 朴素异构 +32%;等成本口径降到 +15%。

2. Q1 / Q2 / Q3 #

Q1 — 痛点:常规 PD 分离把 prefill 和 decode 绑死同一 RDMA 域——dense 模型单实例 KV 吞吐 ≈60 Gbps@32K(MiniMax-M2.5),跨 DC Ethernet 扛不住;512-H200 集群需求 3.8 Tbps。此外被 "固定 prefill/decode 芯片比例" 锁死,无法吸收流量波动。

Q2 — 方法:hybrid attention 把 $\Phi_{\text{kv}}$ 降 4–13× 后,用 PrfaaS-PD 架构:compute-dense PrfaaS 集群 + commodity Ethernet + bandwidth-optimal 本地 PD 集群;全局调度器按长度阈值 $t$ 选择性 offload、按稳态最优解(Eq.7 ∩ Eq.8)做 $N_p/N_d$ 再平衡、配合层间 prefill pipeline + 多连接 TCP + 拥塞监控 3 个 transport 原语。核心壁垒 = 层间 prefill pipelining(见 §7)。

Q3 — 结果:1T Kimi-Linear KDA:MLA 3:1,$t^*=19.4\text{K}$、$(N_p, N_d, N_{\text{prfaas}})=(3, 5, 4)$、49.6% 请求 offload。$\Lambda_{\max} = 3.24$ vs 2.11 req/s(+54% vs 同构)Mean/P90 TTFT 2.22/3.51 vs 4.44/9.73 s(−50%/−64%)egress 13 Gbps(13% 链路)。vs 朴素异构(4H200 + 8H20 无调度)+32%,表明 scheduling value > pure heterogeneity value。

3. 架构 / 方法图 #

3.0 部署范式对比(paper Figure 1) #

Figure 1: deployment paradigm comparison

Paper's Figure 1, verbatim (caption: "Comparison of two deployment paradigms for PD-disaggregated LLM serving. (a) Status quo: tightly coupled single-cluster inference. (b) PrfaaS: Multi-cluster disaggregated inference via cross-datacenter KVCache.").

左 (a) = 常规 PD 绑死单个 RDMA 域;右 (b) = PrfaaS 把 prefill 抽到独立 compute-dense 集群,通过 commodity Ethernet 回流 KV 到 decode 端。§3.1 的 Fig 3 进一步展开 (b) 的内部拓扑。

3.1 PrfaaS-PD 内部拓扑(paper Figure 3) #

Figure 3: PrfaaS-PD deployment topology

Paper's Figure 3, verbatim (caption: "Deployment topology of the PrfaaS-PD architecture").

三个子系统:compute(多个同构集群,两类:Local PD / PrfaaS);network(两层:intra = RDMA, inter = Ethernet VPC / 专线);storage(每集群分布式 hybrid 前缀池 + 全局 KV manager 跨集群维护 metadata)。三个 pipeline 角色:PrfaaS prefill($p$ 份额)/ PD-P($(1-p)$ 份额)/ PD-D(100%)。Case study 具体量化:PrfaaS = 32×H200 (4 实例);PD-P = 3 实例 on 24×H20;PD-D = 5 实例 on 40×H20;cross-cluster ~100 Gbps VPC;intra-cluster 800 Gbps RDMA/node。

3.2 Hybrid prefix cache pool(paper Figure 4) #

Figure 4: Hybrid prefix cache pool

Paper's Figure 4, verbatim (caption: "Hybrid prefix cache pool. Linear states and full-attention KVCache are managed by separate groups backed by a unified block pool. Blocks are categorized as prefix-cache (intra-cluster only, block-aligned) or transfer-cache (cross-cluster, discarded after transfer).").

两种 KV 类型(linear/SWA recurrent state 是 request-level 精确匹配;full-attention KV 是 block-level 支持 partial prefix)共用一个 block 池但分 KV group 管理;blocks 分 prefix-cache(intra-cluster 长驻)vs transfer-cache(cross-cluster 传完即丢)。建立在 vLLM 的 hybrid KVCache manager [ref 28] 之上。

3.3 双时间尺度调度器(§3.4.3) #

stateDiagram-v2 [*] --> Idle Idle --> CheckBW: request arrives CheckBW --> RouteScarce: egress util high or queue surge CheckBW --> RouteAbundant: egress util low RouteScarce --> Route: evaluate prefix per cluster RouteAbundant --> Route: use max prefix across clusters, may trigger cross-cluster cache transfer Route --> Idle: len minus prefix leq t then PD-P else PrfaaS Idle --> Diagnose: periodic timer Diagnose --> PrefillBound: producers much less than consumer Diagnose --> DecodeBound: producers much greater than consumer Diagnose --> Balanced: Eq 8 satisfied PrefillBound --> ConvertNodes: flip D to P in PD cluster DecodeBound --> ConvertNodes: flip P to D in PD cluster ConvertNodes --> ReoptT: re-solve Eq 7 for new t ReoptT --> Idle Balanced --> Idle

Short-term(reactive,per-request):监控 egress utilization + queue depth;触发时按 BW regime 决定路由——BW-scarce 独立看每个集群的 cache,BW-abundant 取 max(l_prfaas, l_pd) 可能触发跨集群 cache transfer。Long-term(proactive,周期性):监控 Eq.8 balance;失衡时在 PD 集群内 P↔D 角色转换(同构硬件才能做),再重解 Eq.7 更新 $t^*$。

4. 作者证明(throughput model) #

4.1 Notation (Table 4, 完整复现) #

符号含义符号含义
$\Lambda$请求到达率(吞吐)$N_{\text{prfaas}}$PrfaaS prefill 实例数
$L$未命中 prefix 的输入长度(r.v.)$N_p, N_d$PD-P / PD-D 实例数
$t$路由阈值$B_{\text{out}}$PrfaaS 出口带宽
$l_{\text{long}} = \mathbb{E}[L \mid L>t]$PrfaaS 平均长度$BS_{\max}$最大 decode batch
$l_{\text{short}} = \mathbb{E}[L \mid L \leq t]$PD-P 平均长度$T_{\text{prefill}}(l)$长度 $l$ 的 prefill 耗时
$p = P(L>t)$offload 比例$T_{\text{decode}}$单步 decode 耗时
$L_{\text{out}}$平均输出长度$\Theta_{\text{prfaas}}$PrfaaS 吞吐(req/s)
$S_{\text{kv}}(l)$长度 $l$ 的 KV 大小$\Theta_{\text{pd-p}}, \Theta_{\text{pd-d}}$PD-P / PD-D 吞吐

4.2 核心方程逐条解释(全部 load-bearing) #

Eq.1 — 单实例 KV 吞吐(在 §2.1 引入):

$$\Phi_{\text{kv}}(l) = \frac{S_{\text{kv}}(l)}{T_{\text{prefill}}(l)}$$

Eq.2 — 集群出口 BW 需求(在 §2.3 引入):

$$B_{\text{out}} = \frac{N}{P} \cdot \frac{\mathbb{E}[S_{\text{kv}}]}{\mathbb{E}[T_{\text{prefill}}]} \approx \frac{N}{P} \cdot \Phi_{\text{kv}}(L_{\text{avg}})$$

Eq.3 — PrfaaS 集群吞吐(§3.4.1):

$$\Theta_{\text{prfaas}} = \min\left(\frac{N_{\text{prfaas}}}{T_{\text{prefill}}(l_{\text{long}})},\; \frac{B_{\text{out}}}{S_{\text{kv}}(l_{\text{long}})}\right)$$

Eq.4 — PD-P 吞吐(§3.4.1):

$$\Theta_{\text{pd-p}} = \frac{N_p}{T_{\text{prefill}}(l_{\text{short}})}$$

Eq.5 — PD-D 吞吐(§3.4.1):

$$\Theta_{\text{pd-d}} = \frac{N_d \cdot BS_{\max}}{T_{\text{decode}} \cdot L_{\text{out}}}$$

Eq.6 — 端到端吞吐(§3.4.1):

$$\Lambda_{\max} = \min\left(\frac{\Theta_{\text{prfaas}}}{p},\; \frac{\Theta_{\text{pd-p}}}{1-p},\; \Theta_{\text{pd-d}}\right)$$

Eq.7 — 最优阈值条件(§3.4.2):

$$\frac{\Theta_{\text{prfaas}}}{p} = \frac{\Theta_{\text{pd-p}}}{1-p}$$

Eq.8 — 最优 $N_p / N_d$ 比(§3.4.2):

$$\Theta_{\text{prfaas}} + \Theta_{\text{pd-p}} = \Theta_{\text{pd-d}}$$

4.3 从模型到 case study 数字的一阶映射(§4.2 实测验证) #

设 $t = 19.4\text{K}$、$N_p = 3$、$N_d = 5$、$N_{\text{prfaas}} = 4$、$L \sim \text{LogNormal}(\mu=9.9, \sigma=1.0)$ 截断 $[128, 128\text{K}]$:

推导过程结果与 paper 报告比对
$p = P(L > 19.4\text{K})$$e^{9.9} \approx 20\text{K}$ 是 log-normal 中位数,$t \approx$ 中位数 → $p \approx 0.5$$p \approx 0.5$§4.3.1 报告 49.6% ✓
$l_{\text{long}}$条件期望 $\mathbb{E}[L \mid L > t]$≈ 44K§4.3.1 报告 44K ✓
$\Phi_{\text{kv}}(44\text{K})$Table 5 内插(32K=3.19, 128K=2.62)≈ 3.0 Gbps / 实例
集群 egress 聚合$4 \times 3.0 = 12$ Gbps≈ 12 Gbps§4.3.1 报告 13 Gbps
$T_{\text{prefill}}(44\text{K})$Table 5 内插(32K=1.84s, 128K=7.40s)≈ 2.6 s
$\Theta_{\text{prfaas}}^{\text{compute}}$$N_{\text{prfaas}} / T_{\text{prefill}}(l_{\text{long}}) = 4 / 2.6$≈ 1.54 req/s报告 1.61 ✓(差异来自插值精度)
Eq.7 验证$\Theta_{\text{prfaas}}/p = 1.61/0.5 = 3.22$;$\Theta_{\text{pd-p}}/(1-p) = 1.64/0.5 = 3.28$两者≈相等Eq.7 满足 ✓
Eq.8 验证$\Theta_{\text{prfaas}} + \Theta_{\text{pd-p}} = 3.25$;$\Theta_{\text{pd-d}} = 3.91$生产侧略低(PD-D 富余 20%)Eq.8 基本满足(decode 侧留余量避免 SLO 违反)✓
$\Lambda_{\max}$$\min(3.22, 3.28, 3.91) = 3.22$3.22 req/s报告 3.24

结论:paper §4 的三张"optimal configuration"数字($t=19.4\text{K}$、$(3,5,4)$、3.24 req/s、13 Gbps)全部可从 Eq.1–8 + Table 5 一阶导出,不是 sweep-fit。作者证明 load-bearing 被验证。

4.4 Paper 自述的简化假设(§3.4.1 明确声明) #

Paper 在 §3.4.1 主动声明 了以下 tractability 近似:

5. 实验与数据 #

5.1 Hardware + workload setup (§4.1) #

维度取值
PrfaaS cluster32× H200(compute-dense)
Local PD cluster64× H20, 800 Gbps RDMA/node
Homogeneous baseline96× H20
跨集群 BW~100 Gbps VPC
Model内部 1T 混合模型,Kimi-Linear 风格 KDA:MLA=3:1
部署粒度8 GPU / instance
请求长度Truncated log-normal ($\mu=9.9, \sigma=1.0$), $[128, 128\text{K}]$, mean ≈ 27K
输出长度1024 tokens (fixed)
SLO40 tokens/s(excluding speculative decoding)

5.2 Case study 模型 profile (Table 5, 8×H200 + in-house vLLM) #

Seq LenKV SizePrefill Latency$\Phi_{\text{kv}}$
1K190.8 MiB0.44 s3.61 Gbps
8K308.9 MiB0.72 s3.59 Gbps
32K701.3 MiB1.84 s3.19 Gbps
128K2316.3 MiB7.40 s2.62 Gbps

5.3 Hybrid vs dense 跨模型对比 (Table 3, 8×H200 + SGLang v0.5.9) #

Figure 2: MiniMax-M2.5 KV throughput vs input length

Paper's Figure 2 (caption: "KV throughput of MiniMax-M2.5 on an 8×H200 instance at various input lengths"). Single-model zoom-in on the dense baseline — shows the ~60 Gbps wall at 32K that Table 3 below quantifies across all models.

$\Phi_{\text{kv}}$ (Gbps) 不同 seq len:

Seq LenHybrid Kimi LinearMiMo-V2-FlashQwen3.5-397BRing-2.5-1TDense MiniMax-M2.5Qwen3-235B
1K1.190.824.137.274.944.12
8K2.292.856.284.4732.8722.42
32K3.874.668.252.5959.9333.35
128K4.884.717.471.4647.8221.50

5.4 Grid search 求解(Figure 5) #

Figure 5(a): 固定 $t=19.4\text{K}$,扫 $(N_p, N_d)$ with $N_p+N_d=8$。峰值 $N_p=3, N_d=5$(Eq.8 balance 的经验印证)。

Figure 5a: prefill-decode allocation

Figure 5(b): 固定 $N_p=3, N_d=5$,扫 $t$。两条曲线($\Theta_{\text{prfaas}}/p$ 递减 vs $\Theta_{\text{pd-p}}/(1-p)$ 递增)交于 $t^*=19.4\text{K}$(Eq.7 monotonicity 的经验印证)。

Figure 5b: routing threshold search

5.5 三架构对比 (Table 6, 核心结果) #

MetricPrfaaS-PDHomogeneous PDNaive Het PD
Threshold $t$19.4K
$N_{\text{prfaas}} / N_p / N_d$4 / 3 / 5— / 9 / 34 / — / 8
Mean TTFT (s)2.224.441.74
P90 TTFT (s)3.519.733.51
$\Theta_{\text{prfaas}} / \Theta_{\text{pd-p}} / \Theta_{\text{pd-d}}$ (req/s)1.61 / 1.64 / 3.91— / 2.11 / 2.352.45 / — / 6.25
$\Lambda_{\max}$ (req/s)3.242.112.45
Ratio1.54×1.00×1.16×

5.6 关键结论数字(§4.3 + §4.4) #

6. 论证链(paper-internal reconstruction) #

StepPremise(引用 §/Table/Fig)ConclusionEvidenceLoad-bearing?
1Dense MHA/GQA 模型 $\Phi_{\text{kv}}$ 高(§2.1 Fig 2 + Table 3: MiniMax-M2.5 32K = 59.93 Gbps)常规 PD 分离的 cluster-level $B_{\text{out}}$ 远超商品 Ethernet(§2.3 计算 512-H200 MiniMax 需 3.8 Tbps)Eq.1 Eq.2 + Table 3LB(击倒"dense 也能跨 DC")
2Hybrid attention(linear/SWA + full-attn 混合)把 $\Phi_{\text{kv}}$ 降 4–13×(§2.2 Table 3 对比行)跨 DC PD 从"infeasible"变"plausible for selected requests";512-H200 Ring-2.5-1T 需 170 Gbps,可行§2.2 Para 3 数字 + §2.3 Para 2 例子LB(paper 的存在依赖)
3但 naive 全 offload 在真实 workload(bursty / skewed / uneven prefix / fluctuating BW)下失败(§1 Para 3, §3.3 Para 3)必须做选择性 offload(长度阈值 $t$),配合 BW/cache-aware 调度Table 6 "Naive Het PD" 列间接验证(仅达 1.16× 同构)LB(论证调度必要性)
4在 throughput model(Eq.3–8)下,$t$ 和 $N_p/N_d$ 两个决策变量由 Eq.7 ∩ Eq.8 唯一确定(§3.4.2 monotonicity)2D grid search 可快速求解;结果是 case study 的 $t=19.4\text{K}, (N_p, N_d)=(3, 5)$Figure 5(a)(b)LB(scheduler 的数学基础)
5最优配置下实测 egress 13 Gbps、$\Lambda_{\max}=3.24$ req/s、P90 TTFT 3.51 s(§4.3)Headline effect numbers:+54% vs Homo、+32% vs Naive Het、P90 TTFT −64%、13% 链路Table 6LB(headline claim)

论证链总长 5 步,全部 load-bearing,无 decorative。起点 BW 硬约束,终点 headline 数字;中间经过架构机会 (step 2) → 系统设计必要性 (step 3) → 最优性证明 (step 4) → 实测 (step 5)。

Paper 自我 pre-empt 的既有 rebuttal(paper-internal:这些是 paper 在 Table/column 层面主动对抗的 strawman,不是 Stage-4 的 adversarial search):

7. 实现 cross-reference #

Paper 的 PrfaaS 核心实现未开源。可验证 / 复现路径按层级如下。

7.0 核心技术壁垒 (Core Technical Barrier) #

The ONE hardest-to-replicate engineering insight that makes PrfaaS actually work in practice: 层间 prefill pipelining (§3.3 Para 3).

Paper §3.4.1 Eq.3 给出的 PrfaaS 吞吐是:

$$\Theta_{\text{prfaas}} = \min\left(\frac{N_{\text{prfaas}}}{T_{\text{prefill}}(l_{\text{long}})},\; \frac{B_{\text{out}}}{S_{\text{kv}}(l_{\text{long}})}\right)$$

这个 min 形式的前提是 compute 和 KV transfer 完美重叠——paper 明确说 "Through layer-wise prefill pipelining, the PrfaaS cluster throughput is determined by the slower of compute and egress transfer"。

为什么这是核心壁垒:

与 §4 作者证明的区别:§4 是"数学上 min 形式怎么推出来"(formal model);这里是"工程上 min 怎么变成现实"(engineering barrier)。两者 load-bearing 层级都是核心,但面向不同——作者证明对方案正确性;核心壁垒对方案可操作性。

与 §7.5 未公开点的区别:§7.5 列出3 项未公开(scheduler、pipelining、cross-cluster cache transfer);这里选出壁垒性最高的一项——即使 scheduler 和 cross-cluster transfer 在现有基础上相对好复刻(用户自己写调度策略 + 跨集群 KV 传输就是普通的 RPC),layer-wise pipelining 是三者中"深入到 execution engine 才能改"的那一个。

7.1 构建基础:vLLM hybrid KVCache manager(§3.2 的直接依赖) #

7.2 PD 分离的上游实现 #

7.3 Benchmark 工具(§2.2 Table 3 + §4.1 Table 5) #

7.4 关键实现细节 (Key Technical Details) — 易错点 #

除了 §7.0 核心壁垒之外,还有 2 个容易被 summary 读掉但错了就 break case study 的细节:

  1. 路由阈值 $t$ 作用在 prefix-match-aware 增量长度上,不是原始请求长度 (§3.3 Para 2 + §3.4.3)。
  2. 流程:request 到达 → global KVCache manager 查各集群 prefix hit → 得到"增量"$l$(原长减去命中的最长 prefix)→ 对 $l$ vs $t$ 做阈值判断。
  3. 如果实现者用原始长度做阈值:agentic workload 下大量请求有高 prefix hit("incremental prefills with prefix cache hits"),增量很短但原长很长 → 按原长判断会把大量短增量送进 PrfaaS → BW 爆掉、case study 13 Gbps 变 100+ Gbps → 整套 $t^*=19.4$K 方案失效。
  4. 这个区别在 §3.3 只有一句话:"only the incremental portion is transferred across clusters",容易漏掉。
    1. PD 集群内部必须同构(H20 only),才能做 long-term P↔D role 转换 (§3.4.3 long-term block, §4.1 setup)。
    2. Paper §3.4.3 依赖 "scheduler periodically ... converts nodes between prefill and decode roles"——这是 Eq.8 的动态平衡机制。
    3. 前提:PD 集群内同构硬件(任一台可以做 prefill 或 decode)。Case study 用 64×H20 都在 PD 集群、32×H200 都在 PrfaaS 集群——严格 intra-cluster 同构 + inter-cluster 异构。
    4. 如果实现者把 H200 放一些进 PD 集群当 prefill,H20 做 decode,表面上和 case study 一样(都是异构 + PD),但失去了 P↔D swap 能力——退回"Naive Heterogeneous PD"的 1.16× 结果。这就是 Table 6 里 PrfaaS-PD (1.54×) 和 Naive Het (1.16×) 38% 差距的结构性来源之一。
    5. 是"架构 framework 是不够的,配套约束才是":PrfaaS-PD != cross-DC + heterogeneous(那是 Naive Het),PrfaaS-PD = cross-DC + heterogeneous + inside each cluster 同构 + scheduler。
    6. 7.5 关键未公开点 #

      以下三项是 paper 的核心系统贡献,均未开源

      • Dual-timescale scheduler(§3.4.3): BW utilization 监控 + 长度阈值自动调参 + 节点角色 P↔D 转换
      • Layer-wise prefill pipelining(§3.3 Para 3): 现有 vLLM / SGLang 的 PD transfer 仍是 "full prefill → then transfer";paper 要求 "layer k done → ship layer k KV while computing layer k+1"
      • Cross-cluster cache transfer(§3.2 + §3.4.3 BW-abundant 模式): vLLM 的 hybrid KV manager 不支持跨集群 transfer-cache 迁移

      审计结论:用 vLLM hybrid KV manager 和 PD disaggregation 作骨架可以复刻 PrfaaS 的 §3.1–§3.2 部分;§3.3 Para 3 transport 原语和 §3.4 scheduler 需要完全自实现。整体属 [实现部分未公开,仅支撑基础可见]