Check out the new USENIX Web site. next up previous
Next: What is the benefit Up: Experiments Previous: Experiments

Do multiple outstanding requests
solve the positioning-time problem?

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.

Figure: Track-sized Ranges. The graphs plot the performance of range writes under randomized write workloads using the hierarchical range scheduler. The experiments are identical to those described in Figure 4, except that range writes are used instead of traditional writes; the range is set to 100 blocks, just bigger than the track size of the simulated disk (thus eliminating rotation).
0.9

Figure: Group-sized Ranges. The graph plots performance of range writes, as described in Figure 5. The small difference: range size is set to 4096 blocks (the size of a block group).
0.9

0

Figure: Scheduler Performance. The figure shows how performance improves when the scheduler is given more flexibility. Along the x-axis, we increase the number of targets given per write request, and the two graphs show two different range sizes, from 1 (on the left) to 100 (on the right). All requests are made within a small portion of the disk (a block group), and the average time per write is plotted, including breakdowns of seek and rotational costs.
0.9


next up previous
Next: What is the benefit Up: Experiments Previous: Experiments
Remzi Arpaci-Dusseau 2008-10-08