< previous page page_644 next page >

Page 644
0644-01.gif
Figure 9.35
Striping files across q disks.
distributed across 16 such drives, then the occupancy per drive is:
0644-02.gif
9.5.6 Striping: Files Distributed across q Available Drives
Suppose a file has n blocks and it is to be distributed across q disk drives. By distributing blocks across consecutive disks (i.e., interleaving by block), we reduce the service time.
If n < q, we access n drives concurrently and then read them into a common buffer. We can begin to transfer from the buffer to the processor after the first block is available. (For a file of n blocks, the disk read time = [n/q] ´ Tread, but the buffer-to-processor transfer rate is the same as in the independent drive case and equals 2.6 ms/4-KB block. See Figure 9.35.)
Access now consists of:
0644-03.gif
Note that we define Ttransfer as the unoverlapped part of the buffer-to-processor transfer time.
Now E(f/q) is the expected number of blocks that must be read to retrieve the file from a (striped) distributed disk ensemble of q disks. Thus, E(f/1) = E(f) = 3.4 blocks, as in the case of independent disks. For our particular workload E(f/16) = 1 block, since the maximum file length is 16. For E(f/8), 70% of the files have one block and require one read. About one-half (actually 7/15) of the remaining 30% of the files also require a single read, as they can be distributed over eight single disks; they consist of eight or fewer blocks. The remaining 8/15 of the 30% require two disk

 
< previous page page_644 next page >