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
|