Saturday, September 12, 2009

Linux IO Scheduler

The IO Schedulers

  • No-op Scheduler

  • This scheduler only implements request merging.

  • Anticipatory IO Scheduler (AS)

  • This scheduler implements request merging, a one-way elevator, read and write request batching, and attempts some anticipatory reads by holding off a bit after a read batch if it thinks a user is going to ask for more data.

    This is optimised for the single disk systems.

  • Deadline Scheduler

  • The scheduler implements request merging, a one-way elevator, and imposes a deadline on all operations to prevent resource starvation.

  • Complete Fair Queueing Scheduler (CFQ)

  • The scheduler implements both request merging and the elevator, and attempts to give all users of a particular device the same number of IO requests over a particular time interval.

    References:
    Linux I/O Schedulers

    No comments: