Next: Seek Splitting: Preempting
Up: JIT-seek: Preempting
Previous: JIT-seek: Preempting
Figure 4:
JIT-seek.
|
The JIT-seek method is illustrated in
Figure 4. The x-axis depicts time, and the two
horizontal lines depict a regular IO and an IO with JIT-seek,
respectively. With JIT-seek, the read command for an IO operation is
delayed and issued just-in-time so that the seek operation takes the
disk head directly to the destination block, without incurring any
rotational delay at the destination track. Hence, data transfer
immediately follows the seek operation. The available rotational slack,
before issuing the JIT-seek command, is now preemptible. We
can make two key observations about the JIT-seek method. First, an
accurate JIT-seek operation reduces the component of the
waiting time without any loss in performance. Second, and perhaps more
significantly, the ongoing IO request can be serviced as much as
possible, or even completely, if sufficient slack is available before
the JIT-seek operation for a higher-priority request.
The pre-seek slack made available due to the JIT-seek operation can be used in
three possible ways:
- The pree-seek slack can be simply left unused. In this case, a higher-priority
request arriving during the slack time can be serviced immediately.
- The slack can be used to perform additional data
transfers. Operating systems can perform data prefetching for the current IO
beyond the necessary data transfer. We refer to it as free
prefetching [13]. Chunking is used for the prefetched data, to
reduce the waiting time of a higher-priority request. Free prefetching can
increase the disk throughput. We must point out, however, that free
prefetching is useful only for sequential data streams where the
prefetched data will be consumed within a short time. Operating systems can
also perform another background request as proposed
elsewhere [13,16].
- The slack can be used to mask the overhead incurred in
performing seek-splitting, which we shall discuss next.
Next: Seek Splitting: Preempting
Up: JIT-seek: Preempting
Previous: JIT-seek: Preempting
Zoran Dimitrijevic
2003-01-06