CPU Usage for RAID-0 vs RAID-4 or RAID-5
Related: CPU cores, hard drive, Other World Computing, OWC Thunderbay, RAID, RAID-0, RAID-4, RAID-5, SSD, storage, Thunderbolt, video, weather events
Thunderbay Mini configurations start at about $379 without drives. Thunderbay Mini RAID-5 edition also available.
RAID-4 = striping with a dedicated parity drive
RAID-5 = striping with distributed parity
Both RAID-5 and RAID-4 consume significant CPU cycles during write operations in order to perform the parity calculations.
There is no such overhead during reads, which behave similarly to a RAID-0 stripe (no parity calculation).
- With modern Intel Core i7 CPUs, I/O speed is minimally affected by dint of a fast CPU.
- With relatively slow CPUs in older Macs, I/O speed can drop and CPU usage will increase in relative terms.
- Relatively slow CPUs process data relatively slower also, so the need for very high I/O speeds is of less importance than it seems in the context of real world tasks that involve computing.
Does it matter? See Real World Throughput for RAID-0 vs RAID-4 vs RAID-5.
CPU usage
As shown below, over a GB/sec* is being written to a 4-drive RAID-4 (SSDs)**. Note that this requires Thunderbolt 2, implying a relatively recent Mac model and CPU.
To write that 1+ G/sec requires about 1.3/2 virtual = 0.65 real CPU cores***. But a RAID-0 stripe is not overhead free; it requires about 0.2 CPU core. And there are other CPU cycles needed by the system to perform the I/O in general (e.g., the file system).
So taking the delta with RAID-0, the use of RAID-4 or RAID-5 at 1+ GB/sec means the use of ~ 1/2 real CPU core on a fast 2014 Intel Core i7.
* Activity Monitor generally displays erroneous speed figures (too high as can be seen) due to its sampling methodology.
** disktester fill-volume --xfer 128MB, 64K RAID stripe size, RAID-4
*** There are 4 real CPU cores on a MacBook Pro and iMac, and some Mac Pros, and 8 virtual cores (~useless). A display of 130% in CPU core terms means 1.3 virtual cores out of those 8, and 0.65 real cores out of 4 real cores.
Discussion continues below images.
Context and relevance
- Since hard drives are much slower than SSDs, the CPU usage will be commensurately slower, since CPU usage is proportional to data rates.
- The data rates are fast with SSDs; using CPU cycles for a short duration is far better than forcing an application to wait 2X or 3X as long (for hard drives), forcing the application to remain idle until the data is delivered.
- Unless the CPUs are already fully utilized (rare), CPU usage by the SoftRAID driver has no appreciable impact.
- Faster disk I/O means an application that needs it can get more work done faster. Choosing SSDs for such work is a huge gain over hard drives (when and where fast disk I/O really matters).
That said, the rare (and perhaps non-existent !) application that uses all CPU cores while simultaneously demanding a gigabyte per second of data might be better served by hardware RAID that can offload the computation. Or by using a Mac with 8/10/12 cores instead of 4 cores; see 2013 Mac Pro: 4 CPU Cores Can Constrain Your Workflow.
Does it matter? See Real World Throughput for RAID-0 vs RAID-4 vs RAID-5.