Вы находитесь на странице: 1из 20

Extracting Free bandwidth

from Busy Disk Drive

Symposium on OS design and


Implementation
Christopher R ,Jiri Schindler , D F Nagle
Tacess= Tseek+ Trot + Ttransfer

Ttransfer component represents the useful


utilization of disk head

Tseek and Trot >> Ttransfer

Only time disk can not transfer data to or from


media is while it is seeking a new track
How do we increase disk head utilization?
Increase transfer size : this reduces the positioning
overhead
Transferring additional data during the Trotate
component of Taccess
Modern disks transfer data to or from the
media out of order to minimize wasted
time (Zero latency access or Immediate
access)
Rotational latency is the time when head
is not doing any useful work. If required it
can perform read or write whereas seek is
unavoidable overhead
Before exploring the prospect of using
rotational latency for doing useful work we
need to find how much free bandwidth is
available
Simulation with synthetic (random) work
load . 10000 request issued one at a time
with no idle time between request
Request size 4 KB
Read:write :: 2:1
Disk Head Usage for modern Disks
We observe that that around 35% potential
bandwidth is available under synthetic work
load

Impact of request size on disk head


utilization
We have free bandwidth but how to
use?
Need to identify the applications which can
use free bandwidth
Need to precisely predict the rotational
and seek delays
Where do we implement this strategy
In firmware
In device driver
Implementation strategy
Categorize request as
Foreground request
Back ground request
While serving the fore ground request
compute available free time
Choose the best background request and
Service the back ground request during
available free time without impacting the
foreground request access time
Potential applications

Prefetching
Prewriting
Disk scan
Antivirus check
Segment cleaning of LFS
Free block requests will only be serviced
when opportunities arrise.
Response time may be extremely large
Background task that involve larger
fraction of disk capacity are best suited
No particular order of access. Ordering
requirement restrict the set of request that
can be considered by schedular.
Features of Background scheduler
No call into free block scheduling
subsytems waits for a disk access (non
blocking)
Register freeblock read request ( disk address,
blksize, callback)
Register freeblock write request( disk address,
blksize, buffers, callback)
Freeblock abort
Freeblock promote
Call back
Freeblock scheduler work independently
of the foreground scheduler
After foreground scheduler chooses the
next request B:
Freblock scheduler is invoked.
It computes the rotational latency that would be
incurred in serving next request
Seek to B+ rotational Time
Search list of pending request for most complete
use of free bandwidth
This search may result in two cases:
Case1 : Free blocks are available on current
track or on requested track
Case2 : free blocks are available on tracks
other than current track or requested track
For each track ,how many desired block could
be accessed
Prune search space
Skip all tracks for which desired number of
block is less than the best value found so far.
Consider tracks for which remaining free
bandwidth is (after extra seek )> best value
found so far
solution
Automatic disk characterization
Knowledge of disk geometry, LBN to Phy
Map, seek time, rotation speed command
processing overead
Overestimation of seek
Limited command queing
Request merging

Вам также может понравиться