ORCA 和 chunked prefill:把每次 iteration 的开销摆平
很多 request 同时在跑,结束时间各不相同,有的还带着比一次 decode 大 1000 倍的 prefill。每次 iteration 的开销因此摇摆得厉害。ORCA 那种 iteration-level 调度先收拾一半问题;chunked prefill 再给最大的那次 iteration 封顶,让短任务不被拖在长任务后面。
很多 request 同时在跑,结束时间各不相同,有的还带着比一次 decode 大 1000 倍的 prefill。每次 iteration 的开销因此摇摆得厉害。ORCA 那种 iteration-level 调度先收拾一半问题;chunked prefill 再给最大的那次 iteration 封顶,让短任务不被拖在长任务后面。
Article 05 让两个阶段勉强共用一台引擎。这一篇要说的是:它俩本来就不该共用 —— prefill 是 compute-bound、decode 是 bandwidth-bound,长上下文还把这条沟越拉越宽。承认了这种 asymmetry,拆机就不再是优化,而是顺着公式来唯一说得通的答案。