Work-conserving scheduler
A work-conserving scheduler does not deliberately leave its service resource idle while requests are waiting to be served.
Anticipatory scheduling can deliberately wait for a synchronous process's next demand request even when other requests are pending. Such non-work-conserving behavior can reduce seeks or protect proportional service; keeping a disk busy is not the same objective as completing useful work efficiently. [1]
State the scheduling boundary. Linux blk-mq separates software staging from hardware dispatch, and resource shortages can delay submission. A gap in host dispatch alone does not establish that all device resources are idle or that a policy deliberately withheld work. This is a measurement implication of the layered path. [2]
Relations
Limitations
- Work conservation alone specifies neither service order nor fairness between requesters. [1]
Citations
- Iyer and Druschel. Anticipatory scheduling. SOSP 2001, sections 2 and 3.2.
- Linux 6.16: blk-mq, operation and hardware dispatch queues
Further reading
Sources & caveats
- Primary-source synthesis, not a new scheduler implementation or benchmark.
- The historical disk results do not establish performance gains for contemporary SSDs.