The position of I/O schedulers (center) within various layers of the Linux kernel's storage stack.[1]

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

edit

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

  • To minimize time wasted by hard disk seeks
  • To prioritize a certain processes' I/O requests
  • To give a share of the disk bandwidth to each running process
  • To guarantee that certain requests will be issued before a particular deadline

Disciplines

edit

Common scheduling disciplines include the following:

  • Random scheduling (RSS)
  • First In, First Out (FIFO), also known as First Come First Served (FCFS)
  • Last In, First Out (LIFO)
  • Shortest seek first, also known as Shortest Seek / Service Time First (SSTF)
  • Elevator algorithm, also known as SCAN (including its variants, C-SCAN, LOOK, and C-LOOK)
  • N-Step-SCAN SCAN of N records at a time
  • FSCAN, N-Step-SCAN where N equals queue size at start of the SCAN cycle
  • mClock scheduler[2]
  • In Linux kernel:
    • anticipatory (until 2.6.32)
    • noop (until 4.20) 🠊 none (since 4.11)
    • deadline (until 4.20) 🠊 mq-deadline (since 4.11)
    • cfq (Completely Fair Queuing) (until 4.20) 🠊 bfq (Budget Fair Queueing) (since 4.12)[3][4]
    • kyber (since 4.12)[5][6]

See also

edit

References

edit
  1. ^ Werner Fischer; Georg Schönberger (2015-06-01). "Linux Storage Stack Diagram". Thomas-Krenn.AG. Retrieved 2015-06-08.
  2. ^ "mClock: Handling Throughput Variability for Hypervisor IO Scheduling". VMware Inc. Archived from the original on 2014-01-23. Retrieved 2015-07-12.
  3. ^ "Budget Fair Queueing I/O Scheduler". Archived from the original on 2014-03-11. Retrieved 2017-04-25.
  4. ^ "BFQ I/O Scheduler Queued For Linux 4.12 - Phoronix". www.phoronix.com.
  5. ^ "blk-mq: Kyber multiqueue I/O scheduler [LWN.net]". lwn.net. 14 Apr 2017. Retrieved 2019-07-19.
  6. ^ "BFQ I/O Scheduler Lands Along With New Kyber Scheduler - Phoronix". www.phoronix.com. 1 May 2017.

Further reading

edit
edit
  • Wikimedia Commons logo Media related to I/O scheduling at Wikimedia Commons

📚 Artikel Terkait di Wikipedia

Completely fair queueing

kernel.dk/linux-block". Retrieved 2020-10-25. "Budget Fair Queueing I/O Scheduler". "BFQ I/O Scheduler Queued For Linux 4.12 - Phoronix". www.phoronix.com

Video games and Linux

such as e.g. the Brain Fuck Scheduler (a process scheduler) or the Budget Fair Queueing (BFQ) scheduler (an I/O scheduler). Similar to the way the Linux

BFQ

Badaga language (ISO 639-3 code: bfq) Bite force quotient, of animals Budget Fair Queueing, a Linux I/O scheduler This disambiguation page lists articles associated

1964 New York World's Fair

The 1964 New York World's Fair (also known as the 1964–1965 New York World's Fair) was an international exposition at Flushing Meadows–Corona Park in

Brian Lenihan Jnr

government budget for 2010 was delivered. Referred to at home and abroad in such terms as "the harshest budget in decades", "the most austere Budget in the

The Odyssey (2026 film)

well as at the Universal Studios Lot in Los Angeles. With an estimated budget of $250 million, the film is among the most expensive of Nolan's career

Archive of Our Own

with commissions for original works. In 2018, the site's expenses were budgeted at approximately $260,000. In 2022, AO3's expenses were $290,688, most

ARC Raiders

generally adjusts to place the player against other solo players, making fair and balanced possible player-versus-player (PvP) encounters common, yet not