[CentOS] Software versus hardware RAID performance.

Thu Sep 21 17:12:58 UTC 2006
Lamar Owen <lowen at pari.edu>

With the Dell OpenManage question on my mind (and having seen it answered very 
well), I was reminded of an interesting and a little surprising thing I saw 
yesterday.

I upgraded a PowerEdge 2850 from CentOS4 to Fedora Core 5 (keeping everything 
updated for GNUradio to run on CentOS 4 became more of a job that it should 
have) for our pulsar data processing machine (it has a GNUradio Universal 
Software Radio Peripheral (USRP) attached USB 2.0), which has a Dell PERC 
4e/Di RAID controller, two 72GB 10k U320 SCSI drives, and four 146GB 10k U320 
SCSI drives.  Well, during installation of a sound card (so we can actually 
listen to the dedispersed, phase-aligned, and detected pulsar chirp audio), 
something happened to the RAID firmware, so I put the PERC in SCSI-only mode 
and installed anyway (I needed to get the install done, and not spend a lot 
of time troubleshooting the RAID firmware not found message right now, as I 
need to demonstrate the pulsar receiver Friday evening).

Ok, the two 72GB drives are set up RAID1, and the four 146GB drives are set up 
striped, RAID0.  The two 72's are on channel 1, and the four 146's are on 
channel 2.  Under CentOS 4 with the hardware RAID running, the four 146's 
(hardware RAID0) have a raw read performance of abut 150MB/s, which I thought 
was pretty good. 

Now, the box has dual 3GHz Xeons (it needs them for the pulsar dedispersion 
algorithm's FFT's, particularly when we refine it to do dedispersion in 
real-time).  With FC5 installed, and the four 146's running software RAID0, I 
am getting nearly 240MB/s throughput (with other processes running).  The box 
feels significantly more responsive; the GNUradio build with the PERC running 
in hardware RAID mode took about thirty minutes; with it running in LSI MPT 
SCSI mode it's taking half that time to build and install.

The reason to run RAID0 instead of RAID5 is due to the ephemeral nature of the 
data being stored on the 146's; with the USRP, I need to record data at 
32MB/s with no dropouts (1 channel, 8 megasamples per second, 12 bit samples 
(16 bit words), quadrature encoding (two12 bit samples (I and Q) per sampling 
interval); this data is then reduced post recording into just a few hundred 
megabytes, after dedispersion and phase processing; the need for raw 
sustained throughput even under load is critical.

Just thought I drop this data point in.
-- 
Lamar Owen
Director of Information Technology
Pisgah Astronomical Research Institute
1 PARI Drive
Rosman, NC  28772
(828)862-5554
www.pari.edu