推理服务
请求抢占
也称为 request preemption、preemption、请求重算、调度抢占
先用大白话
抢占会暂停执行中的请求,让其他工作使用资源;被暂停的请求恢复前,有时需要重建注意力状态。
技术定义
请求抢占会暂停已调度的请求,并回收其他请求需要的资源;暂停的工作随后按引擎策略恢复。
工程细节
KV cache 空间不足时,服务引擎可能被迫停止已经开始生成的序列。继续执行前,引擎可能重新计算被丢弃的状态,或恢复之前保存的状态。这与驱逐未使用的前缀不同:即使已经输出的 token 仍然有效,活跃请求也会因暂停而延后完成。
为什么重要
反复抢占会增加工作量,并造成较长的响应停顿。重算期间加速器利用率高,不代表有效输出也保持相同速率。结合抢占次数和请求延迟,可以识别这一性能问题。
如何在 InferenceX 中解读
并发扫描中交互性或吞吐量突然下降时,应查看引擎遥测和日志。不要假设所有服务栈都导出相同的抢占计数,也不能仅凭 KV cache 利用率高就断言发生了抢占。