Академический Документы
Профессиональный Документы
Культура Документы
NOOP scheduler
FIFO + Request Merging.
Request Merging
A technique that groups together I/O requests that are physically close
together on the disk
SSTF !
reduces average seek time.
The scheduler assumes I/O performance optimization will be handled at
some other layer of the I/O hierarchy
by the block device
by an intelligent HBA such as a Serial Attached SCSI (SAS), RAID
controller or by an externally attached controller
Potentially can be used for solid state devices.
Deadline Scheduler
Deadline Scheduler
Guarantee a start service time for each request
each request has an expiration time / deadline to prevent it starvation.
Uses three queues:
sorted queue (scan algo)
all request sorted to cylinder / track
read queue (deadline queue)
read requests sorted based on deadline
by default, read requests have an expiration time of 500 ms
write queue (deadline queue)
by default, write requests have an expiration time of 5 sec
Anticipatory Scheduler
Scan and Deadline scheduling can be counterproductive
if there are numerous synchronous read requests
It seeks to increase the efficiency of HDD by "anticipating" synchronous
read operations.
Deceptive idleness
Process is about to issue next request
Scheduler assumes that process has no further requests!
More to other area on disk
After servicing a request
Wait (Intelligently )
If a nearby request occurs , service it
If not … resume deadline scheduling algorithm
AS was default Linux kernel scheduler between 2.6.0 and 2.6.18
Completely Fair Queuing [CFQ]
RT
Q2
Disk
Q20
Completely Fair Queuing [CFQ]
Synchronous requests
Per process queue
Fixed time slice for the queue / process to access HDD.
Length of the time slice and the number of requests a queue is
allowed to submit depends on the IO priority of the given process.
Asynchronous requests
All processes are batched together in few queues based on priority.
CFQ fixes “Deceptive Idealness”
By batch processing
Memory Hierarchy
Data on DRAM