you are here:   / News & Insights / Engineering Advantage Blog / Speeding Up Your Analysis – Part 3

Engineering Advantage

Speeding Up Your Analysis – Part 3

RAID | FEA or CFD Consulting
June 26, 2017 By: James Kosloski

In Part 2,  I discussed how choosing the right hard drive can help speed up your analyses. Finite element analyses read and write huge amounts of data to the disk, so anything we can do to make that process faster will improve our analysis time.

Regardless of the type of drive you are using, the best way to get improved performance is to use a RAID array. A RAID array is a way to combine several hard drives so that they appear to the operating system as a single large drive. Since they still have individual connections and read/write heads, data can be written (or read) simultaneously by all of the drives in the array. This makes a RAID array much faster than a single drive.

There are several different RAID levels and each has its advantages and disadvantages. Some RAID configurations are designed for speed and others are designed for redundancy (when data is critical).  In general, the better the speed, the less redundancy you have.

RAID 0 – Striping

This is the absolute best RAID set up for speed. This RAID level allows all disks to operate simultaneously, so you get a write/read speedup of basically the number of disks striped together. A RAID 0 with 4 disks will be able to write data 4X as fast as a single disk. The caveat, of course, is reliability. In a RAID 0 array, if there is a problem with any one of the drives, then ALL of the data is lost. Therefore RAID 0 should be used as scratch space only; no data should be permanently stored on a RAID 0 array. 

RAID 1 – Mirroring

On the other end of the spectrum we have RAID 1. This configuration is pure mirroring, meaning that all data from one drive is duplicated to a second drive. In RAID 1 configuration, your data capacity will always be reduced by half, so 4 250 gigabyte drives in RAID 1 will only provide 500 GB worth of storage. RAID 1 is not recommended for write intensive use like FEA solutions.

RAID 5 – Stripe with Parity

This configuration uses a “parity” block, to provide redundancy in case of drive failure. The read speeds for RAID 5 are similar to that of RAID 0, but the write speeds are slowed down by the need to write the parity block.  The write speed of RAID 5 tends to be no better than the single disk write speed. The capacity from one of the drives in the array is used to maintain the redundancy, therefore you will lose one drive worth of storage in an array. A RAID 5 array with 6 x 1TB drives will give a total capacity of 5TB. A RAID 5 array can withstand a failure of a single disk and still continue to function (although read and write speeds are reduced).

RAID 6 – Stripe with Dual Parity

RAID 6 is essentially the same a RAID 5 but uses 2 parity blocks. It requires 2 drives of the array for parity storage but can still functions with a failure of up to 2 drives.

RAID 10 – Mirrored Striping

RAID 10 is really RAID 1 + 0, it a mirror of 2 RAID 0 arrays.  So, like RAID 1, it requires 2X the number of drives to perform the mirroring. Read speeds are as fast as RAID 0, but write speeds are reduced by a factor of 2 (because of the need to write the mirror data) so you get N/2 write speed, where N is the number of disks in the array. This is the most expensive option because it typically requires the most disks to create a reasonable size array.

Other RAID levels are rarely, if ever, used any more.

Any of these RAID levels can be used with any type of hard disk, so a RAID 0 of a bunch of SSD or SAS drives is going to be a very fast solution, but should only be used as scratch space. In general with any RAID striped configuration, you are always better off with more smaller disks than fewer larger disks. A RAID 0 array of 8x 500GB drives is going to be much faster than an array of 2x 2TB drives.

Using a RAID array of striped disks is also important when making use of multi-core processors and running in parallel on a single machine. As I discussed in a previous blog, making use of all of your processors is a great way to speed up an analysis, BUT if all of those processes are trying to write to the same disk at the same time, there can be a bottleneck.  With a striped RAID array there are multiple read/write heads available to access the disks so there is much less of a bottleneck.

Hopefully you have found this series of blogs useful for configuring a system to give you the best bang for your buck!