In the previous sections, we have discussed existing techniques for reducing seek distance and rotational delay in isolation. Their combined effects, however, are not well understood. We now develop models that predict the overall latency as we increase the number of disks.
SR-Array: Combining Striping and Rotational Replication
Since disk striping reduces seek distance and rotational replication reduces rotational delay, we can combine the two techniques to reduce overall latency. We call the resulting configuration an SR-Array. Figure 3 shows an example SR-Array. In an SR-Array, we perform rotational replication on the same disk. We explore rotational replication on different disks in a later section.
|
Given a fixed budget of D disks, we would now like to answer the following question: what degree of striping and what degree of rotational replication should we use for the best resulting performance? We call this the ``aspect ratio'' question. We first consider this question for random access latency, and then we examine how the model can be extended to take into account other workload parameters.
Read Latency on an SR-Array
In this paper, we define overhead to include various processing times, transfer costs, track switch time, and mechanical acceleration/deceleration times. We focus on the overhead-independent part of the latency in the following analysis.
Let us assume that we have a single disk's worth of data, and we have a total of D disks. Suppose the maximum seek time on one disk is S, the time for a full rotation is R, only 1/Ds of the cylinders on a single disk is used to limit the seek distance, and Dr is the number of replicas for reducing rotational delay ( Ds Dr = D). If Dr=1, an SR-Array degenerates to simple striping and only 1/D of the available space is used. If Ds=1, we use all the available space. In Figure 3, Ds = 3 and Dr = 2.
Because the random read latency
is the sum of the overhead, the average seek time, and the average rotational time,
we can approximate the overhead-independent
part of random read latency
TR(Ds,Dr) as:
Given the constraint of Ds Dr = D, we can prove that the following configuration produces the best overall latency for independent random I/Os under low load:
Disks with slow rotational speed (large R) demand a higher degree of rotational replication. In terms of the SR-Array illustration of Figure 3(b), this argues for a tall thin grid. Conversely, disks with poor seek characteristics (large S) demand a large striping factor. In terms of Figure 3(b), this argues for a short fat grid. The model indicates that the latency improvement on an SR-Array is proportional to the square root of the number of disks ().
So far, our discussion of the model applies to random access by assuming an average seek of S/3 in Equation (6). To capture seek locality, we replace S/3 with the average seek of a workload. In the later experimental sections, this is accomplished by dividing S/3 with a ``seek locality index'' (L), which is observed from the workload. The model does not directly account for sequential access.
Read/Write Latency on an SR-Array
Now we extend the latency model of an SR-Array to model the performance
of both read and write operations.
When performing a write, in the worst case scenario of not
being able to mask the cost of replica propagation, we must incur a
write latency of
TW(Ds,Dr):
Let the number of reads be Xr, the number of writes that can be
propagated in the background be Xwb, and the number of writes that
are propagated in the foreground be Xwf. We define the ratio
p:
A low p ratio calls for a short fat grid in Figure 3(b). A p ratio under 50% precludes rotational replication and pure striping provides the best configuration. In the best case, when all write replicas can be propagated in the background (or when we have no writes at all), writes and reads become indistinguishable as far as this model is concerned, so p approaches 1 and the latency improvement is proportional to .