Prefill-as-a-Service: KVCache of Next-Generation Models Could Go Cross-Datacenter
Prefill-as-a-Service: KVCache of Next-Generation Models Could Go Cross-Datacenter
发表时间: 2026-04 · arXiv:2604.15039 (Moonshot/THU)
文章标题:预填充即服务:下一代模型的KVCache可以跨数据中心
作者/机构:Ruoyu Qin, Weiran He, Yaoyu Wang, Zheming Li, Xinran Xu, Yongwei Wu, Weimin Zheng, Mingxing Zhang
单位:1 Moonshot AI, 2 清华大学
A1 主要贡献
本文旨在解决大规模语言模型(LLM)服务中,预填充-解码(Prefill-Decode, PD)分离架构因KVCache传输瓶颈而受限于单一高带宽网络域(如单个数据中心内的RDMA网络)的问题。这一限制阻碍了异构部署(即在计算密集型硬件上运行预填充,在带宽优化型硬件上运行解码)的弹性和资源效率。
核心问题与研究目标:
1. 核心问题:传统的密集注意力(dense-attention)模型在预填充阶段会产生巨大的KVCache,其高昂的传输成本使得预填充和解码阶段必须紧密耦合在同一个高带宽网络域内,这限制了在不同类型、不同地理位置的硬件上进行异构部署的灵活性和成本效益。
2. 研究目标:利用新兴的混合注意力(hybrid-attention)架构大幅减少KVCache大小的契机,设计一个能够跨数据中心进行异构部署的LLM服务架构,从而实现预填充和解码能力的独立扩展,并充分利用不同类型加速器的优势。
创新点与主要贡献:
本文提出了预填充即服务(Prefill-as-a-Service, PrfaaS),一个跨数据中心的LLM服务架构。其核心思想并非简单地将所有预填充任务外部化,而是结合了模型层面的KVCache效率和系统层面的智能调度。
1. 选择性卸载(Selective Offloading):PrfaaS架构选择性地将长上下文的预填充任务卸载到独立的、由高计算吞吐量硬件构成的专用预填充集群。而短请求或缓存命中率高的请求则保留在本地的PD集群中处理。这种策略将跨集群带宽集中用于最能从预填充加速中受益的任务。
2. 带宽感知调度(Bandwidth-Aware Scheduling):系统设计了一个调度器,它能感知跨集群链路的带宽状况。通过基于长度的路由、监控链路拥塞和排队情况,动态调整卸载策略,避免因网络波动或流量突发导致的服务质量下降。
3. 缓存感知请求放置(Cache-Aware Request Placement):架构包含一个全局KVCache管理器和一个混合前缀缓存池,能够联合考虑请求长度、缓存位置和可用的跨集群带宽,智能地将请求路由到最合适的计算集群和节点,以最大限度地减少数据传输和重复计算。
4. 架构解耦与弹性:PrfaaS架构(如图1所示)打破了异构加速器必须共享同一个低延迟RDMA网络的限制,允许预填充和解码能力在松散耦合的集群(甚至跨数据中心或区域)之间独立扩展,从而灵活应对变化的流量模式和硬件可用性。
通过在一个内部1T参数混合模型上的案例研究,证明了PrfaaS增强的异构部署相比同构PD部署和朴素的异构部署基线,分别实现了54%和32%的吞吐量提升,同时仅消耗适度的跨数据中心带宽。这表明,要实现跨数据中心的异构服务,仅有模型层面的KVCache效率是不够的,必须与系统层面的选择性卸载和带宽感知调度相结合。
(a) 现状:紧密耦合的单集群推理。
(b) PrfaaS:通过跨数据中心KVCache实现的多集群分离式推理。
图1:两种PD分离式LLM服务部署范式的比较。
A3 背景知识
2.1 传统PD分离架构中的带宽墙
PD分离的传输成本。预填充-解码(PD)分离已成为大规模LLM服务的标准系统抽象,因为它清晰地划分了两个根本不同的推理阶段:预填充主要受算术吞吐量限制,而解码主要受内存带宽限制。这种分离提高了利用率并支持针对各阶段的特定优化。但这并非没有代价。一旦预填充和解码被放置在不同节点上,每个请求都必须将其KVCache从预填充端导出到解码端,这将原本的设备内状态转换变成了跨节点传输问题。在实践中,正是这种传输需求将当今的PD部署限制在单个数据中心内,并依赖于RDMA级别的横向扩展网络。
KV吞吐量成为瓶颈。在对延迟敏感的服务约束下,预填充实例产生的KVCache可以异步传输以最大化计算利用率。为避免GPU空闲,预填充集群的出口带宽$B_{out}$必须超过集群产生KVCache的总速率。由于该总速率与实例数量成线性关系,约束最终归结为单个模型实例的KV吞吐量,我们定义为:
其中$S_{kv}(l)$是长度为$l$的请求的KVCache大小,$T_{prefill}(l)$是相应的预填充延迟。该指标的值在很大程度上取决于模型架构。对于传统的密集注意力架构,这种传输需求是一个主要的系统约束。在标准的Transformer风格注意力中,KVCache随上下文长度线性增长,可达数十GB。图2显示了MiniMax-M2.5(一个采用GQA的代表性密集模型)在不同输入长度下的KV吞uto量。瓶颈非常明显:对于一个32K token的请求,单个MiniMax-M2.5实例产生KVCache的速率约为60 Gbps,所需的出口带宽远超典型机器的跨数据中心以太网容量。这正是传统PD分离在操作上仍与紧密集成网络域绑定的原因。网络预算如此之大,以至于将预填充和解码跨越较松散的互连(更不用说跨数据中心)根本不现实。
图2:MiniMax-M2.5在8×H200实例上于不同输入长度下的KV吞吐量。
异构服务扩展困难。这种网络耦合也阻碍了异构服务的清晰扩展。每个阶段都已存在专用芯片:像Rubin CPX这样的硬件针对预填充吞吐量,而LPU风格的设计则针对解码带宽。然而,高性能互连仍然与机器形态和部署环境紧密耦合,因此以RDMA级别的带宽连接不同硬件通常需要定制工程。更糟糕的是,一旦异构硬件被迫进入一个紧密耦合的集群,系统就继承了固定的预填充与解码硬件比例。在生产流量中,请求组合、请求量和前缀缓存命中率不断波动,因此流水线的一侧不可避免地会过度配置,而另一侧则成为瓶颈。在同构集群中,任何机器都可以根据负载变化在预填充和解码角色之间动态重新分配。而异构集群没有这种灵活性:专门用于预填充的芯片无法服务于解码,反之亦然,导致严重的负载不平衡和容量搁浅。其结果是更高的运营复杂性和异构PD在定制或低吞吐量场景之外的有限实际应用。
2.2 混合注意力改变PD部署边界
模型架构的转变。改变这一现状的不仅仅是新的调度器,而是模型架构的转变。随着LLM向更长上下文发展,传统MHA的成本变得越来越难以承受,促使业界广泛转向KVCache友好的设计。表2从预填充延迟($T_{prefill}$)和KV吞吐量($\Phi_{kv}$)两个维度对主流注意力改进进行了分类。在长上下文工作负载下,全注意力机制(如GQA和MLA)保持二次复杂度,导致高昂的预填充成本。稀疏注意力【6,Generating long sequences with sparse transformers,2019】减少了计算量,可以降低预填充延迟,但仍需将与序列长度相关的KVCache传输到解码实例,使得KV吞吐量成为主要瓶颈。相比之下,线性注意力和SWA保持线性计算成本,同时其有界的状态大小显著降低了KV吞吐量。
表1:代表性模型的配置。A类表示线性复杂度块,B类表示二次复杂度的全注意力块。
表2:不同注意力机制的预填充延迟和KV吞吐量特性。两项指标均为越低越好。
混合架构的普及。越来越多的旗舰开源模型采用线性注意力【3,Ring-2.5-1t,2026】【18,Nemotron 3 Nano: Open, efficient mixture-of-experts hybrid Mamba-Transformer model for Agentic reasoning,2025】【26,Kimi linear: An expressive, efficient attention architecture,2025】【27,Qwen3.5: Towards native multimodal agents,2026】或SWA【2,gpt-oss-120b & gpt-oss-20b model card,2025】【11,Step 3.5 flash: Open frontier-level intelligence with 11b active parameters,2026】【31,Mimo-v2-flash technical report,2026】,将这些机制组合成混合堆栈,即少数全注意力层与多数线性复杂度层交错排列。代表性例子包括Qwen3.5-397B(线性与全注意力层比例为3:1),MiMo-V2-Flash(SWA与全注意力层比例为5:1),以及Ring-2.5-1T(线性与全注意力层比例为7:1)。在这些架构中,只有全注意力层产生随序列长度扩展的KVCache,而线性复杂度层维持固定大小的循环状态,其内存在长上下文场景下变得可以忽略不计。
KV吞吐量的显著降低。公式(1)量化了模型架构如何决定PD分离的带宽需求。表3对几款近期开源的密集和混合模型的$\Phi_{kv}$进行了基准测试。与规模相近的密集模型相比,混合模型的$\Phi_{kv}$急剧下降,这意味着每单位计算产生的、后续需要通过网络传输的状态要少得多。在32K token时,MiMo-V2-Flash的KV吞吐量为4.66 Gbps,而MiniMax-M2.5为59.93 Gbps,减少了13倍。Qwen3.5-397B为8.25 Gbps,而Qwen3-235B为33.35 Gbps,减少了4倍。论文进一步指出,对于Ring-2.5-1T,MLA相比GQA贡献了约4.5倍的压缩,而7:1的混合比例又贡献了约8倍的减少,总共实现了约36倍的KV内存节省。
表3:不同输入长度下的KV吞吐量$\Phi_{kv}$ (Gbps)。所有模型均在8×H200上使用SGLang v0.5.9【7,Sglang,2026】进行基准测试。
部署边界的转变。关键的系统意义不仅在于推理成本降低,更在于KV吞吐量的减少将PD分离的可部署网络边界从RDMA级网络转移到了商用以太网。在密集注意力模型中,预填充产生过多状态过快,网络成为各阶段间的硬耦合。在混合模型中,预填充仍执行大量工作,但产生的KVCache大幅减小。这并非让跨数据中心PD变得免费到可以无差别传输,而是开启了一个质的不同操作区间,在这个区间内,对选定的请求进行跨集群KVCache传输变得可行,因此值得在系统层面进行优化。
2.3 从数据中心内PD到预填充即服务范式
跨集群PD的带宽需求。在数据中心内部的PD部署中,预填充和解码节点通过高带宽、全互连的网络(如RDMA)通信,因此相对于预填充计算,网络远非瓶颈。然而,在跨集群PD中,集群间带宽与模型KV吞吐量之间的关系直接决定了跨数据中心KVCache是否可行。集群级别的带宽需求由单实例KV吞吐量得出。对于一个N-GPU的预填充集群,最小出口带宽为:
其中P是并行度(每个实例的GPU数),$L_{avg}$是实际卸载到PrfaaS集群的请求的平均未缓存输入长度。值得注意的是,$B_{out}$不仅取决于由模型架构和硬件决定的$\Phi_{kv}$,还取决于由请求长度分布、前缀缓存命中率和路由策略决定的$L_{avg}$。这种依赖性正是仅靠混合模型不足以解决问题的原因。在模型端,采用KVCache友好的架构降低了$\Phi_{kv}$。在系统端,选择性卸载和考虑带宽约束及KVCache局部性的带宽感知调度器(§3.4)从一开始就决定了哪些请求消耗跨数据中心预算,从而将$B_{out}$保持在可用的数据中心间带宽范围内。
具体案例分析。为了使分析具体化,我们考虑一个由512个H200 GPU组成的预填充集群,平均卸载长度$L_{avg} = 32K$。在此配置下,MiniMax-M2.5和Qwen3分别需要3.8 Tbps和2.1 Tbps的出口带宽,这实际上将部署锁定在紧密集成的单集群网络中。相比之下,采用混合架构的模型的KV吞吐量下降了一个数量级,使带宽需求降至现代数据中心间链路可以承受的水平。Ring-2.5-1T大约需要170 Gbps的专用线路容量。此外,通过将更长的请求(例如128K token)路由到PrfaaS集群进行处理,带宽需求进一步降至100 Gbps以下。即使在10,000个GPU的数据中心规模下,总出口带宽也仅约为1.8 Tbps,完全在物理数据中心间链路的容量之内。
系统转折点。这就是之前描述的系统转折点。一旦KV吞吐量下降得足够多,异构服务就不再必须实现为在同一个RDMA孤岛后尴尬地共置不同加速器。相反,预填充可以被选择性地外部化到独立的、计算密集的“预填充即服务”集群中,而解码则保留在传统的带宽优化型PD集群中。问题随之从“我们如何将异构硬件强制塞入一个紧密耦合的部署中?”转变为“我们如何识别值得卸载的请求并高效地跨松散耦合的集群传输其KVCache?”从这个意义上说,KVCache友好的模型架构,与选择性卸载和带宽感知调度共同作用,使得异构PD分离能够扩展到单个数据中心之外。
A2 方法细节
3.1 概览
PrfaaS-PD架构的核心思想。跨数据中心KVCache的核心思想不是将每个预填充任务都外部化,而是在远程预填充加速值得付出传输成本时,有选择地将分离式LLM服务扩展到单个集群的边界之外。我们通过PrfaaS-PD架构实现这一愿景,该架构利用跨数据中心KVCache,为那些具有长未缓存前缀、最能从更快计算中受益的请求,在松散连接的集群间解耦预填充和解码。如图3所示,专用的PrfaaS集群在成本效益高、吞吐量大的加速器上执行计算密集的长上下文预填充,并通过商用以太网将生成的KVCache流式传输到本地PD集群,而短请求或对带宽不友好的请求则保留在本地PD路径上。
图3:PrfaaS-PD架构的部署拓扑。
PrfaaS-PD架构的组成。PrfaaS-PD架构包括三个子系统:计算、网络和存储。
* 计算子系统:由多个集群组成,每个集群只包含同构硬件,因为不同类型的芯片通常难以在同一设施内共置。集群分为两类:
* 本地PD集群:执行PD分离式服务,能端到端地完成请求的推理。
* PrfaaS集群:为增量未缓存长度超过路由阈值的请求提供选择性的远程预填充能力。预填充后,生成的KVCache被传输到本地PD集群进行解码。
-
网络子系统:跨越两个层次:
- 集群内网络:使用RDMA进行延迟敏感的集体通信和PD KVCache传输。
- 集群间链路:依赖VPC对等连接或专用线路进行跨数据中心KVCache传输。
-
存储子系统:位于每个集群内部,在所有机器上构建一个分布式的混合前缀缓存池(§3.2)。一个全局KVCache管理器维护所有集群的KVCache元数据。
在这些基础设施组件之上,一个全局调度器根据请求特性、网络状况和缓存分布将请求路由到集群和节点,以在跨集群带宽约束下最大化端到端吞吐量,详见§3.4。
3.2 混合前缀缓存池
混合模型对缓存池的挑战。前缀缓存池允许服务系统将KVCache卸载到集群内的分布式主机内存和SSD中,从而显著提高前缀缓存命中率。然而,传统的前缀缓存池是为单一类型的KVCache设计的,在token或块级别进行匹配和驱逐。在混合模型中,线性注意力或SWA层的循环状态是请求级别的:它们的大小与输入长度无关,只有当缓存长度完全匹配时才能重用。相比之下,全注意力层的KVCache是块级别的:它们随输入长度线性增长,并支持部分前缀匹配。这种异构性对传统的“所有层统一”的KVCache存储范式提出了挑战。
混合前缀缓存系统的设计。基于vLLM的混合KVCache管理器【29,Hybrid models as first-class citizens in vLLM,2025】,我们构建了一个专为跨集群KVCache传输定制的混合前缀缓存系统,如图4所示。线性状态和全注意力KVCache由独立的KVCache组管理,这些组具有对齐的块大小,使得所有组都可以从一个共享的KVCache池中分配和释放块。在这个共享池之上,我们将缓存块分为两类:
* 前缀缓存块(prefix-cache blocks):必须被完全填充后才能在请求间重用。
* 传输缓存块(transfer-cache blocks):用于保存在预填充请求尾部产生的、用于PD分离传输的KVCache,传输完成后缓存池会丢弃它们。
图4:混合前缀缓存池。线形状态和全注意力KVCache由独立的组管理,这些组由一个统一的块池支持。块被分类为前缀缓存(仅限集群内,块对齐)或传输缓存(跨集群,传输后丢弃)。
全局KVCache管理器的功能。当一个新请求到达时,全局KVCache管理器会为每个集群计算前缀匹配信息,请求路由器利用这些信息来选择预填充集群和其中具有缓存亲和性的节点。除了路由,KVCache管理器还执行缓存重新平衡以缓解热点问题。当有足够的集群间带宽时,跨集群缓存传输也是可行的,如§3.4.3所讨论。
3.3 PrfaaS-PD 分离架构
PrfaaS集群作为选择性扩展。在传统的集群内PD分离基础上,我们引入PrfaaS集群作为一种选择性扩展,它可以在不强制所有请求都走跨集群路径的情况下,提高部署的可扩展性并降低成本。一个PrfaaS-PD系统可能包含多个PrfaaS和本地PD集群,其大小和比例由硬件能力、网络带宽和请求流量决定。
基于长度的路由策略。每个PrfaaS集群作为一个无状态的KVCache生产者,其有效吞吐量等于其预填充计算速率和网络出口带宽中的较小者。并非所有请求都能同等地从卸载到PrfaaS集群中受益。短上下文的预填充通常受内存或通信限制,而非计算限制,导致算术利用率低,无法充分利用PrfaaS集群中的计算密集型加速器。因此,我们在本地PD集群内保留预填充节点,并应用基于长度的路由策略。设$l$表示请求的增量预填充长度(不包括任何已缓存的前缀),$t$为一个路由阈值。当$l > t$时,请求被路由到PrfaaS集群,生成的KVCache在完成后传输到解码节点。当$l \le t$时,请求由PD集群内的预填充节点处理。随着代理式工作负载的日益普及,大多数请求是带有前缀缓存命中的增量预填充。对于这类请求,全局KVCache管理器跟踪所有缓存条目的存储位置,确保只有增量部分跨集群传输。调度器在做路由决策时必须联合考虑缓存亲和性和集群带宽,如§3.4.3所讨论。
实现PrfaaS-PD分离的实际考虑。在实践中实现PrfaaS-PD分离需要稳定、高吞吐量的以太网传输。尽管混合模型架构显著降低了名义上的带宽需求,但突发流量和不均匀的链路利用仍可能导致拥塞,增加排队延迟并降低KVCache交付效率。因此,我们的设计旨在平滑传输流量并维持高链路利用率,同时不引起持续拥塞。为此,我们结合了以下技术:
1. 逐层预填充流水线化(layer-wise prefill pipelining):使KVCache生成与传输重叠。
2. 多连接TCP传输(multi-connection TCP transport):充分利用可用带宽。
3. 与调度器集成的拥塞监控(congestion monitoring integrated with the scheduler):及早检测丢包和重传信号,防止拥塞累积。
3.4 建模与调度
系统角色定义。一个PrfaaS-PD系统包含三个角色:PrfaaS预填充(PrfaaS prefill)、PD集群内的预填充节点(PD-P)和PD集群内的解码节点(PD-D)。为了推导调度策略,我们构建了一个分析性吞吐量模型,该模型捕捉了每个角色的计算和带宽约束,并用它来指导短期路由和长期资源分配。
3.4.1 吞吐量模型
模型假设与符号。我们使用表4中的符号来建模PrfaaS-PD系统的稳态吞吐量。为便于分析,我们用代表性长度$l_{long} = E[L | L > t]$及其服务时间$T_{prefill}(l_{long})$来近似所有PrfaaS请求,用$l_{short} = E[L | L \le t]$及其服务时间$T_{prefill}(l_{short})$来近似所有PD-P请求。请求以总速率$\Lambda$均匀到达。一部分比例为$p = P(L > t)$的请求被路由到PrfaaS,其余$1-p$的请求由PD-P处理。
表4:PrfaaS-PD吞吐量模型中使用的符号。
各阶段吞吐量。每个PrfaaS请求经历两个流水线阶段:预填充计算和KVCache传输。通过逐层预填充流水线化,PrfaaS集群的吞吐量由计算和出口传输中较慢者决定:
由于集群内RDMA带宽不是瓶颈,PD-P的吞吐量仅由计算能力决定:
端到端系统吞吐量。PrfaaS和PD-P作为上游生产者,分别预填充不相交的请求子集(比例分别为$p$和$1-p$),而PD-D是唯一的下游消费者。它们共同构成一个汇合流水线:
端到端系统吞吐量受最慢阶段的限制,并考虑了路由分流:
3.4.2 吞吐量最优配置
优化目标。在给定的硬件资源($N_{prfaas}, N_p+N_d$)和网络带宽($B_{out}$)下,我们寻求两个决策变量来最大化$\Lambda_{max}$:路由阈值$t$(它决定了$p$, $l_{long}$和$l_{short}$)和PD集群内预填充与解码的比率$N_p/N_d$。
路由阈值t的权衡。阈值$t$控制着PrfaaS和PD-P负载之间的权衡。增加$t$会将PrfaaS限制在更长的请求上,对于这些请求,$T_{prefill}(l)$的增长速度快于$S_{kv}(l)$(接近二次方的预填充与线性的KVCache大小),这降低了单实例的KV吞吐量并缓解了带宽压力。相反,降低$t$会用KV吞吐量较高的短请求淹没PrfaaS,更容易触发带宽瓶颈。最优的$t$平衡了PrfaaS和PD-P的吞吐量,使两个阶段同时接近饱和:
Np/Nd比率的权衡。对于一个固定大小的集群$N_p + N_d$(数据中心内的机器数量在短期内是恒定的),比率$N_p/N_d$应平衡总生产者吞吐量与消费者吞吐量。预填充节点太少会使解码阶段因缺少KVCache而挨饿,而太多则会使预填充能力闲置。最优比率满足:
公式(7)和(8)约束了两个未知数$t$和$N_p/N_d$。由于$\Theta_{prfaas}/p$随$p$(即随$t$减小)单调递减,而$\Theta_{pd-p}/(1-p)$随$p$单调递增,通过对$t$和$N_p/N_d$进行网格搜索可以高效地找到最优操作点。
3.4.3 双时间尺度调度
调度的重要性。调度是使跨数据中心分离架构在实践中可行而不仅仅是架构上可能的关键。理论上,混合模型架构将KV吞吐量降低到足以让商用以太网链路维持跨集群传输,并且上述稳态分析可以通过优化$t$和$N_p/N_d$来最大化集群吞吐量。然而在实践中,流量变化和突发性可能导致PrfaaS出口处出现瞬时拥塞和队列积压。此外,集群维护着大型前缀缓存,其批量传输可能进一步加重跨集群链路的负担。为处理这种动态环境,我们设计了一种双时间尺度调度算法,该算法将跨集群带宽和吞吐量作为主要约束,将影响请求路由和资源分配的因素分为短期和长期两类,并为每类采用专用策略。
短期调度:带宽和缓存感知的路由。PrfaaS集群有一个由带宽施加的吞吐量上限$B_{out}/S_{kv}(l_{long})$。当集群接近此上限时,出口链路会发生拥塞。因此,调度器持续监控PrfaaS的出口利用率和请求队列深度。当利用率接近阈值或排队激增时,会触发短期路由调整。在初始化或策略更新时,调度器会分析当前的计算能力和出口带宽,然后根据前缀匹配后的增量预填充长度分布搜索最优阈值$t$。通过仅将足够长的请求路由到PrfaaS,调度器降低了每个请求的带宽需求,并避免了在带宽上限附近发生拥塞。
考虑前缀缓存的路由决策。对于有前缀缓存命中的请求,调度器必须联合考虑缓存亲和性和带宽可用性。
* 带宽稀缺时:每个集群中的前缀缓存被独立评估。如果$l_{total} - l_{pd} \le t$,请求在PD-P中本地预填充;否则卸载到PrfaaS。
* 带宽充裕时:计算成为稀缺资源,跨集群缓存传输可以减少冗余计算。调度器考虑所有集群中的最佳缓存,令$l_{prefix} = \max(l_{prfaas}, l_{pd})$;如果$l_{total} - l_{prefix} \le t$,请求在PD-P中预填充;否则去PrfaaS。当拥有较长缓存的集群与计算集群不同时,会执行跨集群缓存传输。
长期调度:流量驱动的分配再优化。在更长的时间尺度上,流量总量的变化会在流水线各阶段之间造成持续的不平衡。当$\Theta_{prfaas} + \Theta_{pd-p} \ll \Theta_{pd-d}$时,预填充是系统瓶颈;反之,解码是瓶颈。调度器通过监控每个阶段的队列深度和利用率来识别约束瓶颈。由于此时间尺度上的流量变化是渐进的且通常是周期性的,调度器会定期重新评估负载平衡,并在PD集群内转换节点角色(在预填充和解码之间),调整$N_p$和$N_d$以恢复公式(7)和(8)的最优条件。随着实例数量的变化,路由阈值$t$也会相应地重新优化。
A4 实验环境
-
硬件配置:
- 集群:部署了两个通过VPC网络连接的集群,提供约100 Gbps的聚合跨集群带宽。
- PrfaaS集群:由32个H200 GPU组成,具有较高的计算吞吐量,专门用于处理长度$L > t$的长上下文预填充请求。
- 本地PD集群:由64个H20 GPU组成,以传统的PD分离模式运行,每个节点配备800 Gbps的RDMA互连。其预填充与解码实例的比例可根据流量动态调整。
- 基线:一个由96个H20 GPU组成的同构PD集群。
-
模型架构:
- 使用一个内部的1T参数混合架构模型,其架构遵循Kimi Linear【26】,采用KDA:MLA层交错结构,比例为3:1。
- 模型以每个实例8个GPU的方式部署。
-
工作负载与数据集:
- 请求的输入长度遵循一个截断的对数正态分布($\mu = 9.90, \sigma = 1.00$,截断范围为[128, 128K]),平均长度约为27K token,以反映真实世界中的长上下文工作负载分布。
- 输出长度固定为1024 token。
-
软件配置:
- 代码实现:使用内部版本的vLLM【28】进行预填充和解码的性能分析。
-
服务等级目标(SLO):
- 解码速度(不包括推测解码)设置为40 tokens/s。
A4 实验结果
实验1:吞吐量建模与最优配置求解
- 实验内容:利用§3.4中提出的PrfaaS-PD吞吐量模型,通过二维网格搜索来优化路由阈值$t$和本地PD集群中的预填充/解码实例分配($N_p/N_d$),以最大化系统总吞吐量$\Lambda_{max}$。
-
实验结果:
- 找到了最优配置:路由阈值$t = 19.4K$,本地PD集群中分配3个预填充实例($N_p=3$)和5个解码实例($N_d=5$)。
- 在此配置下,约50%的较长请求被卸载到PrfaaS集群,充分利用了H200 GPU的高计算吞吐量。
- 图5(a)显示了固定$t$时,系统吞吐量在$N_p=3, N_d=5$处达到峰值,此时预填充和解码吞吐量大致平衡。图5(b)显示了固定$N_p, N_d$时,最优$t$出现在PrfaaS和PD-P两条吞吐量曲线的交点处。
-
分析结论:该实验验证了分析模型的有效性,并为后续对比实验确定了PrfaaS-PD系统的最佳运行点。
图5:两个优化变量的网格搜索过程示意图。(a) 固定t在最优值,搜索本地PD集群内的预填充/解码实例划分。(b) 固定Np=3, Nd=5,搜索t。
实验2:跨数据中心带宽利用率评估
- 实验内容:在最优配置($t=19.4K$)下,测量PrfaaS集群因KVCache传输产生的出口带宽负载。
-
实验结果:
- 49.6%的请求被路由到PrfaaS集群,这部分请求的平均长度约为44K token。
- PrfaaS集群的总出口负载约为13 Gbps,仅占用了100 Gbps以太网链路容量的13%。
-
分析结论:该结果证实了PrfaaS-PD架构的可行性。对于混合架构模型,在配合选择性卸载调度后,跨数据中心的KVCache传输需求完全在商用以太网的能力范围内,并有充足的余量。
实验3:与同构PD基线对比
- 实验内容:将最优配置的PrfaaS-PD系统(32个H200 + 64个H20)与一个同样经过优化的同构PD基线(96个H20)进行比较。
-
实验结果:
- 吞吐量:PrfaaS-PD配置的系统吞吐量比同构基线高出54%。
- 首个Token延迟(TTFT):PrfaaS-PD的平均TTFT和P90 TTFT分别比同构基线降低了50%和64%。
-
分析结论:PrfaaS-PD通过将计算密集型的长上下文预填充任务卸载到计算能力更强的PrfaaS集群,不仅释放了本地PD集群的容量用于更多解码任务,从而大幅提升了系统总吞吐量,还显著降低了长请求的排队和处理延迟。
实验4:与朴素异构PD基线对比
- 实验内容:将PrfaaS-PD系统与一个朴素的异构PD配置进行比较。朴素配置将所有预填充任务分配给H200 GPU,所有解码任务分配给H20 GPU,不进行基于长度的路由或负载均衡。
-
实验结果:
- 朴素异构PD的吞吐量仅比同构基线高1.16倍,而PrfaaS-PD的吞吐量比朴素异构PD高出32%。
-
分析结论:该对比凸显了智能调度的重要性。简单的硬件异构化会导致严重的预填充和解码吞吐量不平衡,从而限制性能。PrfaaS通过选择性卸载和负载均衡,有效地解决了这一问题,将异构硬件的优势充分发挥出来。
表5:内部1T混合模型在不同输入长度下的KVCache大小Skv、预填充延迟Tprefill和KV吞吐量Φkv。预填充延迟在8×H200上使用自研vLLM【28】进行基准测试。
表6:PrfaaS-PD、同构PD和朴素异构PD部署的最优配置对比。
A7 补充细节
引言。跨数据中心KVCache将PD分离从单一紧密耦合的集群扩展到松散连接的异构集群。其实用性取决于模型架构、系统设计和硬件的协同进步。本节讨论这些趋势如何相互加强,以及它们对下一代LLM服务系统的启示。
KVCache友好的模型架构。随着上下文窗口的持续增长,KVCache在存储和传输方面日益主导推理成本。诸如MLA、滑动窗口注意力和线性注意力等架构技术已经表明,可以在不牺牲模型能力的情况下大幅减小KVCache大小。未来,模型协同设计可能不仅会优化FLOPs,还会优化KVCache传输量。这些改进直接降低了跨数据中心KVCache的延迟和带宽成本,扩大了PrfaaS-PD具有成本效益的部署范围。
KVCache压缩与复用。除了架构创新,越来越多的工作通过算法或系统层面的KVCache压缩和复用来降低LLM推理成本。像H2O【35,H2o: Heavy-hitter oracle for efficient generative inference of large language models,2023】和KIVI【14,Kivi: A tuning-free asymmetric 2bit quantization for kv cache,2024】这样的方法选择性地驱逐或量化KVCache条目以缩小内存占用。CacheGen【13,Cachegen: Kv cache compression and streaming for fast large language model serving,2024】应用传统压缩技术来减少KVCache传输量,而CacheBlend【34,Cacheblend: Fast large language model serving for rag with cached knowledge fusion,2025】和FusionRAG【30,From prefix cache to fusion rag cache: Accelerating llm inference in retrieval-augmented generation,2026】则通过对近似匹配的KVCache进行复用。这些技术共同补充了KVCache友好的模型设计,通过减少有效内存压力和网络流量,从而使跨数据中心KVCache在生产工作负载下更具鲁棒性。
阶段专用的推理硬件。预填充和解码之间的分离也正在硬件设计中变得可见。预填充是计算密集型的,而解码则由内存带宽主导。近期的芯片路线图越来越趋向于阶段专用化:NVIDIA Rubin CPX【19,Nvidia rubin cpx accelerates inference performance and efficiency for 1m+ token context workloads,2025】强调用于预填充的计算吞吐量,而像LPU【8,What is a language processing unit?,2025】和Taalas HC1【25,Taalas hc1,2025】等芯片则具备极高的内存带宽以实现快速解码。跨数据中心KVCache自然地契合了这一趋势。它消除了异构芯片必须部署在同一紧密耦合网络域内的要求,允许运营商独立调整预填充和解码集群的规模,并将每个阶段部署在最适合其特性的硬件上。
A5 结论
为了解决异构分离式推理在实际部署中面临的挑战,本文提出了跨数据中心KVCache的概念,将分离式服务从单一的同构集群扩展到跨集群的异构部署。在此基础上,我们设计了PrfaaS-PD分离架构,通过商用以太网连接的异构PrfaaS集群,以低成本的方式增强了系统的服务吞吐量。我们预见,跨数据中心KVCache范式将与下一代模型、硬件和网络共同演进,以实现规模化的高效LLM服务。
方法细节中的引用汇总
在《方法细节》章节(即第3节)中,明确引用了以下文献:
- 引用:【29,vLLM Team at IBM. Hybrid models as first-class citizens in vLLM. 2025. PyTorch Blog, November 2025. URL: https://pytorch.org/blog/hybrid-models-as-first-class-citizens-in-vllm/ 】
- 引用位置:3.2节 Hybrid Prefix Cache Pool,第2段。
- 原文描述:“Based on vLLM’s hybrid KVCache manager [29], we build a hybrid prefix cache system tailored for cross-cluster KVCache transfer, as shown in Figure 4.”
- 中文释义:“基于vLLM的混合KVCache管理器【29】,我们构建了一个专为跨集群KVCache传输定制的混合前缀缓存系统,如图4所示。”
- 引用目的:说明本文提出的混合前缀缓存系统是基于vLLM团队已有的工作进行构建和扩展的,特别是在支持混合注意力模型(如线形状态和全注意力KVCache)方面。
💬 评论讨论
欢迎在这里分享您的想法和见解!