绑定手机号
获取验证码
确认绑定
提问
0/255
提问
订阅开课提醒需关注服务号
回答成功
知道了
扫码关注智猩猩服务号登录
请使用微信扫描二维码
扫描二维码分享给微信好友
您已订阅成功,有新课程,我们将第一时间提醒您。
知道了
发送提问成功
回答可在
“我的——我的提问”中查看
知道了
失败
欢迎来智东西
关注我们
智东西
车东西
芯东西
智猩猩
0
0
吞吐量提升5.6倍!清华提出新型LLM服务系统FlowPrefill,破解预填充阶段队头阻塞
分类: AI论文解读
2026-03-05 12:07:05

智猩猩AI整理

编辑:没方

随着大语言模型(LLM)需求的激增,服务系统需处理具有多样化服务等级目标(SLO)的高并发请求。在计算密集的预填充(prefill)阶段,长上下文请求往往独占资源,导致高优先级请求遭遇严重的队头(HoL)阻塞,进而引发首token 延迟(TTFT)的SLO违规。现有的分块预填充技术虽支持中断,但陷入了响应性与吞吐量的两难困境:减小块尺寸虽提升响应速度却牺牲计算效率,增大块尺寸则加剧阻塞。如何在动态平衡执行粒度与调度开销成为亟待解决的核心挑战。

为此,清华大学联合北京科技大学的研究者们提出了FlowPrefill,这是一个专为优化有效吞吐量(goodput)而设计的 LLM 服务系统。通过将抢占粒度与调度粒度解耦,FlowPrefill 能够在不牺牲吞吐量的前提下实现及时抢占,从而缓解预填充阶段严重的队头阻塞,并提升在线服务质量。在真实生产轨迹上的评估表明,相比现有的SOTA系统,FlowPrefill在满足异构SLO的前提下,最大有效吞吐量提升了5.6倍。

  • 论文标题:FlowPrefill: Decoupling Preemption from Prefill Scheduling Granularity to Mitigate Head-of-Line Blocking in LLM Serving

  • 论文链接:https://arxiv.org/pdf/2602.16603

01 方法

如图5所示,一个典型的服务系统由三个主要组件构成:代理(Proxy)、预填充实例(Prefill Instances)和解码实例(Decode Instances)。FlowPrefill 的核心优化主要集中在预填充实例中。每个预填充实例包含三个核心模块:请求队列(Request Queue)、执行池(Execution Pool)和调度器(Scheduler)。

为了从根本上解决长请求导致的队头阻塞,FlowPrefill设计了两大核心技术:算子级抢占(operator-level preemption) 和 事件驱动调度(event-driven scheduling)

算子级抢占能够在算子边界处实现自适应的运行时抢占,使 FlowPrefill 即使在长时间运行的预填充执行过程中,也能迅速响应新到达的高优先级请求。

事件驱动调度仅在请求到达或完成时触发调度决策,从而实现对 SLO 敏感的优先级调度,而不会产生与抢占粒度成正比的调度开销。

FlowPrefill 完整的调度流程如算法 2 所示。

因此,FlowPrefill 非常适用于 PD 解耦系统(即预填充与解码阶段分离处理),能够有效缓解由预填充阶段引发的队头阻塞,并在异构 SLO 要求下最大化系统有效吞吐量。

02 评估

研究团队将 FlowPrefill 与基线方法在 QwenTrace 数据集上进行了端到端性能对比,测试中变化了请求速率和 SLO要求

SLO 达成率 vs. 请求速率

研究团队在三种模型下评估了 FlowPrefill 在不同请求速率规模下的表现。如图 9 第一行所示,随着请求速率的增加系统负载上升,导致 SLO 达成率逐渐下降,因为越来越多的请求无法满足其延迟要求。图中的垂直线标示了最大有效吞吐量(Maximum Goodput)

在所有模型中,FlowPrefill 能够承受的请求速率比 DistServe 高出 4.7 倍至 5.6 倍,并且相比 DistServe-CP2K 和 DistServe-CP8K 分别最高提升了 2.0 倍 和 4.5 倍

这种提升主要归功于 FlowPrefill 在异构 SLO 环境下迅速抢占低优先级请求的能力。当高优先级请求到达时,事件驱动调度能迅速识别抢占机会,而算子级抢占则能挂起那些 SLO 要求较宽松的正在进行的长输入预填充执行,从而释放资源给对延迟敏感的请求,实现近乎无阻塞的中断。因此,延迟敏感型请求得以处理而不会产生不当延误(undue delay),这减少了预填充阶段的队头阻塞,并防止了 SLO 违规。

SLO 达成率 vs. SLO 要求

图 9 的第二行评估了系统在不同延迟要求下的鲁棒性。研究团队固定请求速率,并使用一个 SLO 缩放参数线性调整表 2 中的延迟目标。图9中的垂直线标示了各系统所能支持的最低 SLO 目标

与 DistServe-CP2K 相比,FlowPrefill 支持 1.5×–2.3× 更严格的 SLO。与 DistServe-CP8K 相比,FlowPrefill 支持 2.1×–3.1× 更严格的 SLO。这些改进源于 FlowPrefill 对延迟敏感请求的近乎无阻塞执行,这提升了 SLO 达成率,并降低了平均延迟和尾部延迟。