三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

轻量推理引擎的背压,应该放在批处理之前

轻量推理引擎的背压,应该放在批处理之前

轻量推理引擎的背压,应该放在批处理之前

推理服务并发升高后,排队通常发生在预处理、批组装或执行后端。只增加异步任务数量,会让等待占用更多内存,却不会提升硬件吞吐。

先定义资源单位

把一次请求拆成输入缓冲、KV Cache、执行工作区和输出缓冲。不同序列长度的任务成本不同,队列不应只按请求个数计费。可以为任务记录估算成本,再按租户和后端设置总预算。

背压早于批处理

入口先校验长度并尝试获取容量许可,拿不到就返回忙或进入有期限的等待。批处理器只从已获许可的请求中组批,避免为了凑批而无限延长旧请求。取消信号需要同时清理队列位置和资源许可。

用可重复负载找拐点

固定模型、硬件、线程和输入分布,逐步增加到达率,分别记录排队、执行、拒绝和内存。拐点只代表该配置,不是推理引擎的永久上限。

背压不是降低性能,而是让超出预算的请求尽早得到明确结果。系统守住内存边界,后续优化算子才有稳定基线。

← 返回列表