next up previous
Next: Configuring an EW-Array Up: Eager-Writing Disk Arrays Previous: Mirroring and Striping


Eager-writing Disk Arrays

An EW-Array resembles a conventional striped mirror in how data is distributed and reads are performed. However, the two systems differ in how writes are satisfied: instead of performing a write to one of many fixed locations, a $D_m
\times D_s$ EW-Array chooses a disk whose head is closest to a free block among $D_m$ candidates to perform the foreground write. In cases where a higher degree of reliability is desired, the two disk heads that are closest to their free blocks are chosen to perform the foreground writes. The remaining $D_m - 1$ (or $D_m - 2$) writes are buffered in the delayed write queues of the remaining disks to be performed in the background, also in an eager-writing fashion.

In an EW-Array, reads enjoy good latency and throughput just as they do in a conventional striped mirror. Foreground write latency is improved greatly due to eager-writing. This latency can be even lower when there are more disk heads to choose from. Unlike a striped mirror, copy propagation is no longer the limiting problem because the writes are sufficiently efficient that they are easily masked even when idle time is scarce. As a result, an EW-Array can sustain higher I/O throughput. The low cost of replica propagation also makes it possible to raise the degree of replication $D_m$ for even lower read latency or to increase the fraction of foreground writes for higher reliability.


next up previous
Next: Configuring an EW-Array Up: Eager-Writing Disk Arrays Previous: Mirroring and Striping
Chi Zhang
2001-11-16