Traditional systems attack the positioning-time problem by sending multiple requests to the disk at once; internally, an SPTF scheduler can reorder said requests and reduce positioning costs [28]. Thus, the first question we address is whether the presence of multiple outstanding requests solves the positioning-time problem.
0 Until now, we have issued only a single write to disk at a time. However, as most disks support tagged queueing, it would likely be the case that multiple requests to the disk are outstanding at a given time. This enables a traditional SPTF scheduler to amortize positioning costs over those requests, and thus may lessen the relative benefit of range writes. We now investigate this issue.
In this set of experiments, we vary the number of outstanding requests to the disk under a randomized write workload and utilize an in-disk SPTF scheduler. Each experiment varies the span of the workload; a span of the entire disk implies the target address for the write was chosen at random from the disk; a span of a block group implies the write was chosen from a localized portion of the disk (from 4096 blocks, akin to a FFS cylinder group). Figure 4 presents our results.
From the graphs, we make three observations. First, at the left of each graph (with only 1 or 2 outstanding requests), we see the large amount of time spent in seek and rotation. Range writes will be of particular help here, potentially reducing request times dramatically. Second, from the right side of each graph (with 64 outstanding requests), we observe that positioning times have been substantially reduced, but not removed altogether. Thus, flexibility in exact write location as provided by range writes could help reduce these costs even further. Third, we see that in comparing the graphs, the span greatly impacts seek times; workloads with locality reduce seek costs while still incurring a rotational penalty.
We also note that having a queue depth of two is no better than having a queue depth of one. Two outstanding requests does not improve performance because in the steady state, the scheduler is servicing one request while another is being sent to the disk, thus removing the possibility of choosing the ``better'' request.
0 Thus, even with a large number of outstanding write requests, range writes could be of use to reduce these costs even further.
With a
small set of choices (i.e., within a track), the remaining rotational overhead
could be removed. With a larger set of choices (i.e., within a block group),
much of the seek overhead can also be removed (as we saw in
Figure
). Thus, even with multiple outstanding requests,
range writes can noticeably improve performance.
|
|
|
|
0
|
|