I/O scheduling explained

Input/output (I/O) scheduling is the method that computer operating systems use to decide in which order I/O operations will be submitted to storage volumes. I/O scheduling is sometimes called disk scheduling.

Purpose

I/O scheduling usually has to work with hard disk drives that have long access times for requests placed far away from the current position of the disk head (this operation is called a seek). To minimize the effect this has on system performance, most I/O schedulers implement a variant of the elevator algorithm that reorders the incoming randomly ordered requests so the associated data would be accessed with minimal head movement.

I/O schedulers can have many purposes depending on the goals; common purposes include the following

Disciplines

Common scheduling disciplines include the following:

See also

Further reading

Notes and References

  1. Web site: Budget Fair Queueing I/O Scheduler.
  2. Web site: BFQ I/O Scheduler Queued For Linux 4.12 - Phoronix. www.phoronix.com.
  3. Web site: mClock: Handling Throughput Variability for Hypervisor IO Scheduling . 2015-07-12 . VMware Inc..
  4. Web site: blk-mq: Kyber multiqueue I/O scheduler [LWN.net]]. 14 Apr 2017. lwn.net. 2019-07-19.
  5. Web site: BFQ I/O Scheduler Lands Along With New Kyber Scheduler - Phoronix. 1 May 2017. www.phoronix.com.