Check out the new USENIX Web site. next up previous
Next: What if there are Up: Experiments Previous: Do multiple outstanding requests

What is the benefit of range writes?

We now wish to investigate how range writes can improve performance. Figures 5 and 6 presents the results of a set of experiments that use range writes with a small (track-sized) or large (block-group-sized) amount of flexibility. We again perform random writes to either the entire disk or to a single block group.

Figure 5 shows how a small amount of flexibility can greatly improve performance. By specifying track-sized ranges, all rotational costs are eliminated, leaving only seek overhead and transfer time. We can also see that track-sized range writes are most effective when there are few outstanding requests (the left side of each graph); when the span is set to a block group, for example, positioning costs are halved. Finally, we can also see from this graph that range writes are still of benefit with medium-to-large disk queues, but the benefit is indeed smaller.

Figure 6 plots the results of the same experiment, however with more flexibility: range size is now set to the entire block group. When the span of the experiment is the entire disk (left graph), this makes little difference; rotational delay is eliminated. However, the right graph with a span of a block group shows how range writes can also reduce seek costs. Each write in this experiment can be directed to any free spot in the block group; the result is that there is essentially no positioning overhead, and almost all time spent in transfer.

0 On the left, we see a graph that presents the time per write as we increase the number of targets; we fix the range size of each target at 1. The targets are chosen randomly from the entire cylinder group, perhaps emulating that some blocks would be unavailable because they are in use. From the figure, one can observe the rapid decrease in total positioning costs (both seek and rotation) as the number of choices increases. Thus, given a number of potential targets, range writes reduce both rotation and seek times substantially.

On the right, we perform the same experiment, but increase the size of each range to 100 blocks (just greater than the track size of the disk). With large ranges to choose from, performance improves even further, removing virtually all rotational cost while greatly reducing seek costs as well. Overall, with large ranges and a large number of options (64), writes complete in roughly 4 ms (the rightmost point on the right graph), as compared to over 12 ms with a single choice and a range of size 1 (the leftmost point on the left graph). Thus, for random writes to a small portion of the disk, range writes improve performance by over a factor of three.


next up previous
Next: What if there are Up: Experiments Previous: Do multiple outstanding requests
Remzi Arpaci-Dusseau 2008-10-08