jg3695

Distinguished
Jul 30, 2009
2
0
18,510
Question: How much is the performance of computer affected if I were to use software raid (1) in Linux?

Computer:
2.66 Ghz Dual Core
2GB ram
300GB, 500 GB, 500 GB hard drives (7200 rpm each)
Intel® Desktop Board DQ965GF

I'll be running simulations which involves fair deal of reading from and writing to drives, in addition to CPU usage. I'd like to make sure that performance wouldn't be affected considerably if I were to use softraid in Linux.

Thanks in advance.
 

r_manic

Administrator
The disadvantage of softraid is that your CPU will bear more load, so you may have faster access and write times, but you may feel a slowdown while using your apps overall.
 

sub mesa

Distinguished
Software RAID0 and RAID1 do not use any meaningful CPU cycles. Its RAID5/6 that really "uses" your CPU as something that exceeds 1% usage.

However, the performance of most RAID1's is that of a single drive, no more. I would be keen to test this on Linux though.
 

sub mesa

Distinguished
You've seen software RAID5 on windows probably, with awful performance. If you look at smarter designs on Linux/BSD you will see it uses more CPU cycles but has much higher I/O performance. For soft RAID5 on windows, the only driver that does I/O combining is the Intel ICHxR driver, and its not even that fast in RAID5. While in BSD its possible to exceed 400-500MB/s write speed with sufficient disks and CPU/memory speeds, as memorybandwidth is the likely bottleneck here.

Simple RAID5 drivers on windows don't implement writeback aka buffering. Without this they are unable to combine and split I/O which is required to make a fast RAID5 driver. Implementing all this in software will make a complex driver though, certainly not as easy as a RAID0 or RAID1. That's probably the reason there is no real "proper" RAID5 driver on Windows.
 
For reads there will be virtually no performance difference in terms of CPU utilization, as the only "extra" thing that needs to be done for RAID 1 is to choose which drive to read the data from. Of course you'll get better I/O throughput, so your CPU will spend less time waiting and more time working, and in that sense you might see your CPU utilization go up - but that's a good thing... ;)

For writes there won't be any significant CPU utilization difference, but there will be a slight drop in I/O performance because you have to write to both drives instead of just one. But this is true of both software RAID and hardware RAID, and between the two of them you're really not going to see any difference in performance worth mentioning.

If you get into a higher-end hardware RAID solution with write caching (which requires some form of battery backup or uninterruptable power source for data safety) then you could start to see an I/O performance difference between hardware RAID and software RAID (but still not anything significant in terms of CPU utilization).