views:

67

answers:

4

Based on your experience, have you gained performance boost from parallelizing disk I/O? I/O reads in particular

In my case, I though having RAID 0 drives would allow to run at least two reads concurrently, but it still is slower than the serial approach.

Would you ever go for concurrent I/O reads? Why?

+1  A: 

Basically when you have plenty of IO capacity and the process does not only do IO (i.e. it really spends time doing something).

Discs, per physical definition, are pretty serial in their processing.

TomTom
A: 

I remember a thread here but unfortunatly not the details. IIRC the O tone there was, reading 1 file per thread is an OK approach, but not reading one (evlt. large) file with more than 1 thread.

InsertNickHere
+2  A: 

Try the same with two separate threads reading from two separate disks.
Preferably, the disks should be on separate controllers (and the threads should run on separate CPUs).

Basically, a RAID 0 array already parallelizes reads and writes and behaves as a single entity in that regard.
What you have tried is analogous to parallelizing a calculation on a single CPU machine.

andras
A: 

A redundant array of independent disks (RAID) is a technology that provides increased storage reliability through redundancy. RAID 0 generally doesn't provide higher input / output speeds because any given file that you want to access is striped across the two disks. If you have huge files, you might see some improvement in read access times in a RAID 0 configuration.

Higher levels of RAID provide redundancy, not necessarily performance.

Gilbert Le Blanc