IOMeter Results
Starting with the IOMeter tests, here's the sustained obtained with our three RAID arrays.
Immediately we can see that the PCI bus is holding up the two PCI cards, with the NVIDIA SATA RAID array pumping nearly double the data per second. All the more reason to be eager to get hold of a PCIe solution! Comparing the Revo 64 and FastTrack SX4, the SX4 appears to have the edge in read speeds, possibly down to the distributed parity that RAID 5 provides, allowing data to be read from all three drives, whereas the Revo 64 has two drives with data on, the third being read from purely for parity. As a side note, the Revo 64 will by default read from the parity drive during read operations, which according to the manual is 'to maintain a balance across the drives'. In writes, the SX4 falls behind the Revo 64. In fact, the Revo 64 is just as nippy at writing as it is reading. Regardless of whether the PCI bus is holding these cards back, sustained transfer rates above 100MB/s is impressive.
So, when all this sequential reading and writing is going on, how much CPU is being used?
Here we begin to see why the Revo 64 is a fully hardware accelerated RAID solution and the SX4 is only partial. 40% CPU (a 2.0GHz Athlon 64, no less) is required to pump 100MB/s through the SX4. The Revo 64 gets by with just 8% CPU usage. The NVIDIA SATA RAID 0 array sits between the two, striking a balance between pumping more data and being a much simpler RAID implementation. For writing, the SX4 makes a slight recovery, but still uses three times more CPU than the Revo 64.
Testing how the cards handle a more random load now, first running a simulated workstation load with an I/O queue depth of 1, examining response time.
The Revo 64 doesn't seem to do quite as well here, with the NVIDIA SATA RAID and FastTrack SX4 being more responsive.
Up the I/O queue depth to 256 and the same rings true. The SX4 demonstrates its superior ability to handle more random data transactions as the queue depth grows.
What does this mean for the Revo 64? Let's think for a moment at what we saw on the packaging for this card. The particular model I received was marketed towards audio professionals. What sort of files do audio guys deal with? Often large files that need to be sequentially read and written at high data rates, which the Revo 64 handles superbly and with minimal CPU usage. The same ring true for gamers, who aren't going to be hammering databases all day. The SX4, aimed at a more workstation/server type application can also provide some impressive transfer rates and is also very good in our simulated workstation benchmark, but is something of a letdown when you look at the amount of CPU power required to push large amounts of data; a shallow victory for the SX4, then. So, regardless of the slower response time, significantly lower CPU usage can potentially give the Revo 64 an edge over the SX4, even sat in a server.
The benchmarks so far are all with wonderfully well behaved hard disks, but what if one suddenly decides to fail? In the next series of tests we turn our arrays from healthy to critical, denying them the use of one hard drive. First thing, however, a few comments. Drives can fail whenever they see fit and thanks to SATA I was able to hot-unplug the hard drives. With both the Revo 64 and SX4 the system would carry on without a crash, although there was a slight hang in responsiveness, seemingly more so with the SX4. I was able to enjoy playing a Shaun Of The Dead DivX off the Revo 64 RAID 3 array, while unplugging one of the hard drives, with nothing more than a brief stutter. Here on in the NVIDIA RAID array cannot be benchmarked, a harsh reminder of just what will happen if a disk in a RAID 0 array fails... bye bye data!
Negligible change in transfer rates moving from healthy to critical arrays. As a side-note, curious as to just which drive the Revo 64 RAID 3 configuration uses for parity, I took different drives offline to run the tests, but always obtained similar throughput results. I felt it significant to check for this, because unlike the distributed parity of RAID 5, which will always be used if a drive fails, in RAID 3, if the parity drive is subject to failure, then the original data remains intact and is still used. In this case the Revo 64 seems able to sustain a good transfer rate regardless of whether it's reconstructing data from parity.
The Revo 64, when in a critical state, experiences a slight increase in CPU usage during sustained transfer. The SX4 figures remain unchanged; still disconcertingly high.
The Revo 64 card has a response time similar to that of when the array is healthy. The SX4 has taken a hit to its response time, but remains the winner.
The situation remains the same when the I/O queue depth is 256 I/Os strong. The Revo 64 keeps roughly the same average response time, with the SX4 still winning, albeit by a smaller amount than with a healthy RAID array.
It must be said that the consistency of the Revo 64's performance is impressive. It sticks to its guns through thick and thin, providing the same level of performance no matter what (well, excecpt perhaps two disks failing.)