跳至主要内容

排程器架構

現有功能

  • asyncio 單 worker 佇列
  • 按 prompt 長度 + L 估算成本的優先排序
  • PrefixPool 自動 dispatch(共享 prefix 重用)

請求生命週期

  1. 請求進入 → 估算 cost = prompt_len × loops
  2. 准入檢查(佇列深度、SLO 預算)
  3. 佇列等待 → worker 取出
  4. PrefixPool 查找 → prefill(命中則跳過)
  5. Decode loop → streaming 回應
  6. 完成 → 釋放資源

Public API

from server.scheduler import Scheduler
sched = Scheduler(engine, max_queue=128)
result = await sched.submit(request)