排程器架構
現有功能
- asyncio 單 worker 佇列
- 按 prompt 長度 + L 估算成本的優先排序
- PrefixPool 自動 dispatch(共享 prefix 重用)
請求生命週期
- 請求進入 → 估算 cost =
prompt_len × loops - 准入檢查(佇列深度、SLO 預算)
- 佇列等待 → worker 取出
- PrefixPool 查找 → prefill(命中則跳過)
- Decode loop → streaming 回應
- 完成 → 釋放資源
Public API
from server.scheduler import Scheduler
sched = Scheduler(engine, max_queue=128)
result = await sched.submit(request)