ai-infra-interview-305

第 136 题:推理请求的priority scheduling实现?weighted fair queuing

题目

推理请求的priority scheduling实现?weighted fair queuing


完整讲解

一、Priority Scheduling

Priority scheduling:请求带优先级(如高优 VIP、低优批量),调度器按优先级决定谁先获得 GPU 或先入批。实现方式:(1)多队列:按优先级分队列,高优队列先被取;(2)抢占:高优请求可抢占低优(需支持中断或分批,推理中较难);(3)加权轮询:按权重从各优先级取请求,高权高优多占资源。推理服务常采用多队列 + 从高优队列优先取批,无抢占则通过「高优队列等待时间更短」体现优先级。

二、Weighted Fair Queuing(WFQ)

WFQ:按流或按优先级给不同权重,调度时按「虚拟完成时间」或权重分配带宽/算力,使各流在长期上按权重获得公平份额,同时高权流更快。在推理中可抽象为:不同租户或优先级对应不同权重,batch 调度时按权重决定每类请求进入 batch 的比例或顺序,避免某类请求长期饿死。实现可用虚拟时间戳:每类维护 virtual finish time,按最小 virtual time 选下一个请求或 batch。

三、工程要点

结合 dynamic batching:高优请求可设更短 max_queue_delay 或单独队列;WFQ 需按租户/优先级打标签并在调度逻辑中算权重与 virtual time。监控上区分各优先级的延迟与吞吐。


面试要点


记忆要点

  1. 优先级 = 多队列或加权轮询,高优先服务;推理少用抢占。
  2. WFQ = 按权重公平分配,虚拟时间或权重;防饿死、可体现优先级。
  3. 与 dynamic batching 结合:高优短等待或单独队列;打标签与监控。
返回模块 返回总览