超长序列下的 P/D 分离架构挑战

📅 2026-07-15 🎯 学术 + 工业双视角 📎 子报告:📚 资料全索引 · D 端内存瓶颈 Issue · vLLM D 端架构源码 · 超长序列定性研究 · 工业界引述
本报告核心问题:当 LLM 推理的序列长度达到 128K → 1M tokens,P/D 分离(Prefill-Decode Disaggregation)架构面临哪些研究上尚未完全解决的行业挑战?
调研发现这不是单一问题,而是互相缠绕的三重压力: ① D 端 KV Cache 膨胀导致的容量瓶颈(Decode-KV-bound,vLLM RFC 已正式命名)
② P→D 超长 KV 传输带来的时间压力(TTFT 主导项从计算变成传输)
③ 长序列 attention 自身带来的计算图变化(retraction、chunked prefill、低效的 attention kernel)
📋 目录
  1. 问题框架:为什么"长序列 × PD 分离"是研究热点
  2. 第一重压力 — D 端 KV 容量瓶颈(Decode-KV-bound)
  3. 第二重压力 — P→D KV 传输的时间成本
  4. 第三重压力 — 长序列 Attention 自身的反客为主
  5. 行业头部玩家如何公开讨论这一挑战
  6. 学术研究前沿:谁能缓解这三重压力
  7. 研判:已解 / 部分解 / 未解 的问题地图
  8. 引用资料

1. 问题框架:为什么"长序列 × PD 分离"是当前研究焦点

1.1 背景:PD 分离已是 LLM 推理事实标准

DistServe (OSDI'24) 确立 P/D 分离范式后,SGLang、vLLM、Mooncake、NVIDIA Dynamo 等开源 / 商业系统全面跟进,Meta / Alibaba PAI / AWS / Volcengine / Moonshot Kimi 均已落地部署。PD 分离的常态输入长度已从 2024 年的 2-4K tokens,上升到 2025 下半的 32-128K tokens,1M 级别已列入 2026-2027 年产品规划(Kimi K2.5、Claude、Gemini 系列在 2025 年先后宣布 1M 上下文)。

1.2 新矛盾:PD 分离 + 长序列 = 压力叠加而非简单相加

长序列在共置(colocated)推理中已带来挑战;但在 PD 分离下,这类挑战会被放大,因为:

1.3 三重压力的关系

压力 ① D 端 KV 容量压力 ② P→D KV 传输压力 ③ 长序列 Attention 计算
在 PD 分离下被放大机制D 端 HBM 必须同时存放所有活跃请求的 KV,长请求会让 batch size 急剧压缩128K+ 的 KV 经网络搬运,传输时间可能超过 prefill compute 本身Decode 每一步都要对完整 KV 做 attention,decode 时长随 sequence 线性增长
关键定性阈值≈ 128K(GQA 模型 D 端从并行退化为串行)≈ 64K(传输开始主导 TTFT)≈ 32K(标准 FMHA kernel 效率开始退化)
是否有研究未覆盖区有(异构 KV pool sizing 是 open 问题)多数已有工作计算 + 路由联合优化是 open 问题

2. 第一重压力 — D 端 KV 容量瓶颈(Decode-KV-bound)

2.1 学术圈与工业界的"官方命名"

vLLM 社区 RFC #43470 "Bottleneck-aware expansion for PD disaggregation"(2026-05-22, author: zsn6493)首次将 PD 运行时的压力分为三类:

关键原文:"decode-side KV capacity becomes the dominant bottleneck even when compute is still available; remote KV transfer backlog creates hidden stalls between the two pools"

协作方 robertgshaw2-redhat(llm-d 组织,与 NVIDIA Dynamo 同源)回应:该能力应放在编排层(llm-d flow-control / Dynamo 路由),vLLM 作为执行层只需"暴露压力信号"即可 —— 这一分工共识说明KV 容量调度已从系统问题提升为编排层问题。

源:github.com/vllm-project/vllm/issues/43470

2.2 从 SGLang 社区真实 Issue 看 D 端内存不够的具体表现

2.2.1 SGLang #24523 — SWA 分配器 bug 让 PD 部署的 input 被硬限 18K tokens(H200 140GB) NEW

DeepSeek-V4-Pro FP8 + H200 GPU(total_gpu_memory=138.17 GB),PD 分离 prefill 节点因 is_hybrid_swa=true 错误地把 token 容量钳制到 swa_max_total_num_tokens = 18,432,而实际硬件 KV pool 可支撑 186,368 tokens:

Memory profiling: available_gpu_memory=17.94 GB, total_gpu_memory=138.17 GB,
  mem_fraction_static=0.90, rest_memory=4.13 GB
DSv4 memory calculation: bytes_per_full_token=23749.84, available_bytes=4.13 GB,
  full_token=186368
DSv4 pool sizes: full=186368, swa=18432, c4=46592, ...
Request ... exceeds the maximum number of tokens: 100804 > 18432

这说明:即使在 140GB 级 GPU 上,PD 部署的有效 KV 容量利用率低于 14%(Pool 可用 186K 但被 SWA 限到 18K)。问题不只是硬件不够,而是软件栈里的 KV pool 规划逻辑与长序列 load 不对齐。

源:#24523(2026-05-06, 14 comments, open)

2.2.2 SGLang #30010 — 高并发 batch 下 Decode 死锁(GB300 + Kimi-K2.5-NVFP4 + Mooncake)NEW

GB300 节点(4 GPU/node, MNNVL fabric),Kimi-K2.5-NVFP4,mooncake transfer backend:

场景CUDA graphsPer-rank running reqs结果
PD disagg serving (mooncake)on450–790deadlock 6/6 复现(4–8 分钟)
PD disagg servingoff512 (slot cap)stable 26 min
Single-node agg, CUDA-graph onon730–790stable 16 min

解读:在 PD 分离 + CUDA graph 启用 + 高 batch 三者耦合时,D 端在长序列 decode 队列高密度堆积 → KV pool 实时调度与 CUDA graph 捕获的计算图失配 → 死锁。说明 D 端在高并发 + 长序列的压力耦合下,稳定性的工程挑战仍 open。

源:#30010(2026-06)

2.3 SGLang GB300 Long-Context Blog:长序列 decode 被认为是 KV-dominated workload

SGLang 在 GB300 NVL72 长上下文博客(2026-07-08)中明确写道:

"Long-context decode quickly becomes KV-dominated and memory-bound: each new token repeatedly reads the full KV history, so both KV capacity (how many sequences can stay resident) and HBM bandwidth become the primary bottlenecks."

团队列出的 key techniques 直接针对 D 端容量:

源:Deploying DeepSeek on GB300 NVL72: Big Wins in Long-Context Inference(LMSYS 2026-07-08,此前已抓取归档为 blog_gb300_longctx.md)

3. 第二重压力 — P→D KV 传输的时间成本

3.1 为什么 P→D 传输在长序列下成了 TTFT 主导项

在 PD 分离下,D 端必须"收到完整 KV Cache"才能开始 decode,而这个等待时间直接加在 TTFT 上。共置推理没有这个成本(KV 就在本地显存里)。

NetKV(2606.03910)论文证明:

"Disaggregated LLM inference forces the KV cache to traverse the datacenter network before decoding begins, so transfer time enters directly into the Time to First Token (TTFT) budget."

更进一步的结论:随着上下文长度增长,仅靠 cache-aware(KV 亲和性)和 load-aware(负载均衡)调度会"arbitrarily suboptimal" —— 必须加入网络拓扑感知(network-aware)的代价函数。这说明在长序列 + PD 分离下,P→D 的数据路径本身从"完美网络假设"退化为"实际拓扑相关性",这是共置推理不需要面对的挑战。

源:NetKV (2606.03910)

3.2 学术研究前沿:长序列 P→D 传输缓解三件套

路径代表工作关键思路长序列下适用性
KV 渐进传输Lynx (2607.01831)把 KV 拆为 Anchor(高位,优先)+ Residual(低位,投机 decode),D 端收到 Anchor 就开始 decode直接针对长序列 decode 不能等完整 KV 的痛点
GPU 友好 KV 压缩SplitZip (2605.01708)利用 float exponent 冗余做无损压缩,GPU 上实时编解码"especially for long-input and agentic workloads" — 作者在摘要里明确面向的场景
语义蒸馏SCD (2606.07684)用 low-rank 重建 + 稀疏 patch 替代原始 KV长序列下 semantic misalignment 随层累积,需有损 / 无损的精度取舍
按 token 混合精度SpectrumKV (2606.08635)attention sink FP16 / 中重要 INT8 / 次重要 INT4(按模型 adaptive)长序列下"重要 token"分布变化,需要 token 级别的保护

3.3 跨 DC P→D 的极端情况(1M+ tokens 直接跨城)

Prefill-as-a-Service (PaaS, 2604.15039) 把 P 端和 D 端物理拆分到不同 DC,之间走 commodity Ethernet:

"... PD disaggregation has become the standard architecture for large-scale LLM serving, but in practice its deployment boundary is still determined by KVCache transfer. ... real workloads remain bursty, request lengths are highly skewed, prefix caches are evenly distributed, and inter-cluster bandwidth fluctuates."

对长序列研究者的启示:长序列下的 P→D 路径已经从"机内 NVLink" → "机架 RDMA" → "DC 内 RoCE" 一路退化到 "跨 DC Ethernet"。这是极端但现实的场景,在研究长序列 PD 时必须把网络距离作为一等参数,而不是 off-band 假设。

源:Prefill-as-a-Service (2604.15039)

4. 第三重压力 — 长序列 Attention 自身的反客为主

4.1 为什么长序列下"retraction"成为 D 端的隐性成本

在序列长度远大于 GPU cache 容量时,D 端只能保留最新的 K 个 token(sliding window),一旦 decode 窗口滑出 KV pool,需要丢弃旧 KV 并在重新需要时 recompute——这就是 retraction。

GB300 博客原文明确提及这一危险:Wide-EP 的目标之一是 "without triggering retraction"。说明即使 288 GB HBM 的 GPU,retraction 在 128K 工作负载下仍是一个现实风险。

SGLang #31252 内也讨论了 HiCache 方案——Prefill 端用根号的 KV cache 表示(Lora-style),Decode 端只在需要时 reconstruct —— 这是对 retraction 问题的一个重构方案。

源:#31252(HiCache discussion) · GB300 博客

4.2 SGLang 对长序列的"PP prefill + 动态 chunking"路径

在 128K prefill 下,TTFT 从 ~3.2s 被压缩到 ~8.6s(GB300 + 32K dynamic chunking)。核心逻辑是

这说明:即使 P 端计算和网络传输都已经优化,prefill 本身的调度粒度在 128K+ 下仍是一个开放优化空间。

4.3 芯片级方案:3DLS 对长序列的启示

3DLS(2607.01617)指出,在长序列 PD 分离(每 layer KV 都要搬到 D 端)下,KV 传输与 TP 的 all-to-all 集体通信在同一 2D 平面互连上混跑,decode critical path 被拉长。

3DLS 的解法:把 KV 传输走垂直(3D TSV)通道,让 decode-side TP 留在平面互连上。1.49× throughput 与 60.2% latency 下降,给出方向:长序列 PD 的芯片互连拓扑需要为 KV 传输单独开道。

源:3DLS (2607.01617)

4.4 Conversation-level 调度:避免每 turn 都重新搬 KV

长序列不仅是"单请求长 prompt",更是"多轮对话累积长 history"。

这两项工作共同指向一个洞察:长序列 PD 的真实压力不在"长 prompt"本身,而在"长 history 反复被搬动"。缓解策略的核心是"稳定 D 端 residency"——一旦 KV 落地 D 端,就尽量别动。

5. 行业头部玩家如何公开讨论这一挑战

5.1 SGLang(LMSYS)

5.2 Moonshot Kimi / Mooncake(FAST'25)

5.3 vLLM

5.4 NVIDIA Dynamo

5.5 Meta / Alibaba / AWS

6. 学术研究前沿:谁能缓解这三重压力

6.1 第一类:KV Cache 容量节省(让 D 端装更多)

工作年份核心思路对 PD 长序列的适用度
Mooncake (2407.00079)FAST'25三级 KV 存储(GPU-CPU-SSD)+ early rejection★★★★★ 商业部署先例
Prefill-as-a-Service (2604.15039)2026跨 DC P→D,commodity Ethernet 传 KV★★★★ 长序列 × 跨 DC
Lynx (2607.01831)2026Anchor + Residual 双重渐进传输★★★★ 解决"D 端等完整 KV 才 decode"的假设
SpectrumKV (2606.08635)2026per-token mixed precision 保护 attention sink★★★★ 长序列下 attention sink 是关键
3DLS (2607.01617)2026KV 传输走 3D 垂直互连★★★ 芯片级,2027+ 才有硅
HMA-Serve (2606.29986)2026GDDR-P + HBM-D 异构(phase-wise 量化)★★★ 长序列下 prefill 端 KV 精度损失问题

6.2 第二类:P→D 传输让路

工作年份核心思路
SplitZip (2605.01708)2026GPU 实时 lossless KV 压缩,613 GB/s
SCD (2606.07684)2026语义蒸馏替代 raw KV(low-rank + sparse patch),TTFT ↑2.65×
NetKV (2606.03910)2026network-aware D 端选择(含拓扑代价)
MFS (2603.17456)2026Least-Laxity-First + RMLQ 避免多阶段流拥塞
TraCT (2512.18194)2025CXL shared KV cache 替代 RDMA(rack-scale)

6.3 第三类:计算图 / 调度层让路

工作年份核心思路
ConServe (2606.01839)2026对话级调度,Turn 1 走 PD,后续 pin D 端
PPD MultiTurn (2606.13358)2026Turn 2+ append-prefill 直接在 D 端完成
HexAGenT (2605.16637)2026Agentic workflow DAG 异构图调度
Load-Aware Prefill Deflection (2607.02043)2026P 过载时分流到 D 端做 chunked prefill
DynaServe (2504.09285)2025micro-request 任意 token-boundary 切分 PD
EcoServe (2504.18154)2025部分 PD + 滚动激活
Price of Anarchy (2606.17081)2026博弈论分析 + 自适应路由(NVIDIA Dynamo 实测)

6.4 第四类:跨 DC / 异构 GPU 部署

7. 研判:已解 / 部分解 / 未解 问题地图

7.1 已解(有明确工程或学术共识)

7.2 部分解(有方案但仍有显著开放子问题)

7.3 未解(仍是学术前沿)

7.4 补充前沿工作(2026-07-15 调研新增)

以下为 2026-07-15 后续调研新发现的高阶论文,进一步佐证上述判断:

7.5 vLLM 源码级 D 端内存承诺与容量护栏(2026-07-15 新增)

对 vLLM main 分支(2026-07-15)源码级抓取,揭示 PD 分离下 D 端 KV 容量的内生矛盾:

源:vllm/config/cache.py · nixl_kv_push_connector.md · nixl_kv_cache_lease.md · 本目录 vllm-decode-memory/index.html(713 行深度解析)

7.6 判断:研究密度与未来 12 个月预测

方向当前论文密度 (2025-2026)工业落地密度未来 12 个月预测
D 端 KV 容量扩容(HBM / CXL / 异构)★★★★★★★GB300 / MI355X / Rubin 发布让 HBM 不再是短期绝对瓶颈
KV 压缩(渐进 / 混合精度 / 语义)★★★★★★★★从"论文井喷"到"少数方案收敛"(Lynx/SplitZip 路径有望胜出)
长序列 PD 调度 / 稳定性★★★★★★★伴随 128K+ 部署量上升,OOM / 死锁类 issue 将成为研究热点
1M+ PD 分离系统研究★★预计 2027 年才会出现第一批系统论文(Moonshot Kimi 最可能首发)
长序列 PD 与 kernel/FMHA 联合★★★★FMHA 长序列 kernel 优化(参考 GB300 SFU 升级)是关键依赖

8. 引用资料

工业博客

社区 Issue / RFC

学术论文(按年代)