Marc W. Mengel on Thu 30/01 17:40 -0600: > > I'm not talking about multiple writes to the same tape > > happening at once. With a single parity tape, all writes > > to any drive in the set block on writes from any of the > > other drives, since they all wait on the same drive head > > used to record parity information. This limits write > > speed to all the drives in the data set combined, to that > > of the single parity drive. > > That would be true, except *every* drive out there > 1) buffers writes > 2) writes really slowly, relative to the bus speed. So the > fact that you are writing round-robin rather than "in > parallel" (which you can really only do if you have > distinct SCSI bus/fiber paths to your various drives > anyway) doesn't in practice make much difference. > > [...] > > The parallelism you get is that the drives buffer before > writing; and write much more slowly than the buffers can be > filled.
Ok, I wanted to try and measure this, so I made a script which attempts to do it (attached). Three `amdd's run in parallel writing to three different AIT-2 drives (same bus) are compared to a single `amdd' using a rait: drive with the same members. The results look like this: $ sudo bash test.sh each run is 256 megabytes running parallel amdd tests now testing 524288 blocks of size 512...0:29.36 elapsed now testing 262144 blocks of size 1024...0:34.45 elapsed now testing 65536 blocks of size 4096...0:31.98 elapsed now testing 4096 blocks of size 65536...0:32.41 elapsed now testing 512 blocks of size 524288...0:32.30 elapsed now testing 64 blocks of size 4194304...0:33.64 elapsed running rait amdd tests now testing 524288 blocks of size 512...0:15.19 elapsed now testing 262144 blocks of size 1024...0:16.25 elapsed now testing 65536 blocks of size 4096...0:10.92 elapsed now testing 4096 blocks of size 65536...0:07.59 elapsed now testing 512 blocks of size 524288...0:17.24 elapsed now testing 64 blocks of size 4194304...0:05.41 elapsed I don't really understand the RAIT results very well...even if the buffering effect made the writes go near-simultaneously, I can't figure out how the values could be so different, and the elapsed time seeming to approach near impossible. Note that I also tried with a single amdd in the first test instead of three parallel ones and the times were basically identical.
test.sh
Description: Bourne shell script
