As an Amazon Associate I earn from qualifying purchases @AMAZON
SoftRAID RAID-4 / RAID-5 Performance with Heavy CPU load
Related: RAID, RAID-0, RAID-4, RAID-5, SoftRAID, storage, Thunderbolt, video
RAID-4 and RAID-5 offer fault tolerance against a drive failure. This fault tolerance derives from the use of parity data, which must be computed when disk writes are done. This parity calculation is performed by the CPU and so if the CPU is heavily loaded, things slow down for writes (parity is not computed for reads by SoftRAID).
SoftRAID will use one CPU core for every drive that is part of the RAID-4/RAID-5, hence a dual-core machine (or even 4 core) might not run as fast even if idle, and under load will definitely see degradation (for writes).
The important point is that most workloads neither utilize all CPUs nor does the workload involve a lot of writing. But some workloads might, so a RAID-0 stripe may be more appropriate (e.g., processing a video stream to a new format). Still, few workloads will write a gigabyte a second, so specifics are what matter.
Performance with RAID-4, idle machine vs heavy CPU load
8-core 3.3 GHz 2013 Mac Pro, 64GB memory, 7-drive RAID-4 Machine mostly idle Iteration Write MiB/sec Read MiB/sec 1 1014 1071 2 1054 1077 3 1020 1079 4 1002 1104 5 1031 1103 6 1013 1068 7 952 1098 8 967 1122 9 971 1114 10 953 1114 Slowest 952 1068 Fastest 1054 1122 Average 998 1095 Median 1008 1101 Range 102 54.4 StdDev 35.0 19.9 Machine heavily loaded: mt stress -t 8 -m 512M Iteration Write MiB/sec Read MiB/sec 1 487 1140 2 486 1100 3 480 1077 4 468 1118 5 447 1110 6 439 1031 7 431 1098 8 438 1057 9 424 1109 10 424 1102 Slowest 424 1031 Fastest 487 1140 Average 453 1094 Median 443 1101 <=== 56% REDUCTION in WRITE SPEED Range 63.3 109 StdDev 25.6 31.5
Performance with RAID-0, idle machine vs heavy CPU load
RAID-0 striping has very low CPU overhead (no parity to compute) and thus is all but unaffected by a heavy CPU load.
8-core 3.3 GHz 2013 Mac Pro, 64GB memory, 8 drive RAID-0 Machine mostly idle Iteration Write MiB/sec Read MiB/sec
1 1332 1357
2 1316 1351
3 1301 1315
4 1321 1314
5 1340 1320
6 1324 1346
7 1305 1348
8 1274 1329
9 1277 1358
10 1314 1293
Slowest 1274 1293
Fastest 1340 1358
Average 1310 1333
Median 1315 1338
Range 66.6 65.3
StdDev 21.8 22.3 Machine heavily loaded: mt stress -t 8 -m 512M Iteration Write MiB/sec Read MiB/sec
1 1312 1353
2 1261 1306
3 1257 1341
4 1322 1332
5 1289 1286
6 1327 1346
7 1328 1325
8 1276 1348
9 1291 1290
10 1285 1348
Slowest 1257 1286
Fastest 1328 1353
Average 1295 1328
Median 1290 1337
Range 71.2 67.3
StdDev 26.3 25.1