Doubling Theoretical Performance: RAID-0

For those of you who are already familiar with RAID and how it works, go ahead and skip to the benchmarks; these next two pages are designed to serve as brief introductions to the two most common forms of RAID on the desktop: RAID-0 and RAID-1.

Otherwise known as striping, RAID-0 is the only performance-enhancing form of RAID that we'll be talking about in this article. The premise behind striping is simple. Data being written to a drive is split into "stripes", generally 16 - 256KB in size, with each stripe being written to a different drive in the array. For example, say we were dealing with a 2-drive RAID-0 array with a stripe size of 128KB and we wanted to write 256KB of data; drive 0 would get the first 128KB of data written to it, and drive 1 would get the remaining 128KB.

Writing to a single hard disk

Writing to a two-disk RAID-0 array

Here, you can see that the write performance of RAID-0 can be almost double that of a single drive, since twice as much data gets written at the same time. The higher write performance is obtained at the expense of some controller overhead, since the RAID controller has to handle splitting up data into stripes before sending it to the drives themselves - but with modern day microprocessors being as fast as they are, the overhead is usually thought of as negligible.

Reading works the exact same way, but in reverse. Say that we want to read that same 256KB of data back; we pull one stripe from drive 0 and the other stripe from drive 1. The read is now completed in half the time, theoretically doubling performance.

We are careful to use the word "theoretical" because the performance advantages of RAID-0 disappear quickly if we're not dealing in ideal situations like the ones we just described. If too large of a stripe size is used, then the performance advantages of RAID-0 can be lost, while too small of a stripe size could result in excess overhead, reducing the performance improvement of the striped array.

We have seen in the past that for most desktop applications, the largest stripe size that a desktop RAID controller will offer is usually the best choice for performance. With Intel's ICH5/6, that translates into a 128KB stripe size, which for our comparison is what we decided to go with. The other stripe size options didn't offer any better performance for our desktop test suite.

The main downside to RAID-0, other than cost, is reliability. The size of a RAID-0 array is the sum of all of its members; so, two 100GB drives in a RAID-0 array will give you one array with a 200GB total capacity. Unfortunately, if you lose any one of the drives in the array, all of your data is lost and isn't recoverable. Since two drives are working in tandem and are both necessary to hold your data, you effectively halve the mean time between failure by moving to a two-drive RAID-0 array.

Index Putting the Redundancy in RAID: RAID-1
Comments Locked


View All Comments

  • RyanVM - Friday, July 2, 2004 - link

    Let's not forget the target audience of this article: home users. The point of this article was that a two disk RAID0 array has little to no benefit whatsoever for the home user and/or gamer, which is exactly the primary consumer who'd make use of Intel's onboard RAID controller.

    Power users with multiple-disk RAID setups would be VERY unlikely to use an onboard RAID controller, opting instead for a dedicated RAID controller with onboard cache, processor offloading, etc.

    And as others said, the controller makes very little difference in a two-disk RAID array. It's only with multiple disks (4+) that the controller starts showing its importance by managing read/write requests, caching data, etc.

    In summary, for those of you who were expecting a full blown RAID review, go over to Storage Review where they specialize in those types of tests. This article was simply showing that onboard RAID is really quite useless for its target audience.
  • Jalf - Friday, July 2, 2004 - link

    Funny how quick people are to dismiss an article the moment it doesn't confirm what they already believed...

    I might be the only one here, but I'm not really surprised by this article in general.
    RAID has its place, yes, but not as a desktop system.

    Yes, bandwidth goes way up, but so does latency. Instead of locating a file on one drive, you have to locate it on two drives, before you can even start the transfer. With sequential transfers, RAID is obviously faster, but with multiple smaller accesses, it will be slower. There's no magic in it, no faked results, and no incompetent and biased authors of that article.

    It's simple, really. Locating data on one disk is faster than locating it on two disks simultaneously.
    That is no matter which controller you use. Yes, a faster controller might mean a smaller performance penalty, but doesn't change the fact.

    The most expensive part of I/O is the seek time. The actual transfer is fast by comparison.

    The problem is that RAID aids the already acceptable transfer speed, but slows down seek time, which was already a bottleneck.

    So yes, it can improve performance, but only if you have large sequential reads/writes, where you don't need to waste time seeking, and where the faster transfer really becomes useful.

    In other words, *not* on normal desktop systems, and not on normal gaming systems.
  • masher - Friday, July 2, 2004 - link

    > "I'd like to get to the truth about RAID0 for
    > desktop users like myself."

    RAID0 really isn't significantly faster for most users and apps. Its not due to the reason KF states though-- HD performance is still very important to most apps.

    But a RAID array doesn't increase performance across the board. Bandwidth goes up sharply...but latency rises as well. The only apps you'll see large gains in are ones that favor bandwidth much more than latency-- such as streaming huge files in a diskbound mode.

    The Intel onboard raid controller isn't the best one out there. You can buy a dedicated card and scrape another couple percentage points out. A small gain for the dollars invested.

  • TheCimmerian - Friday, July 2, 2004 - link

    This is my first post in this forum.
    Let me start by saying that appears to be a great place to get news, and I've enjoyed the articles so far.

    While I agree that the "Raptor RAID0" article has some issues, I fail to see how so many of you can dismiss the results, and even the conclusions.

    Anand has presented a real-world test of a commonly used RAID0 setup against commonly accepted benchmarks.
    Frankly, I'm astounded by the number of "I don't care what his results show, my RAID0 setup is faster" comments. If your array IS faster, please post some evidence! There is way too much anecdotal assertion on this thread for my taste.

    Honestly, I'm poised to purchase a couple Raptors for a desktopo RAID0 setup--based on the general yahoo about the performance benefits of RAID0. I was suprised and concerned to read this article, and the similar articles linked-to in this thread. As someone on the verge of dropping several hundred dollars for the supposed increased performance, I'd like to get to the truth about RAID0 for desktop users like myself.

    I appreciate KF's thoughts on "why" RAID0 doesn't make a difference, and I'd like to hear more opinions and thoughts--especially opinions backed up by some kind of evidence!

    Anand pretty much (except for the game tests) confined his test to synthetic benchmarks. Anyone have any results with actual applications and/or files?

    Specifically, I plan(ned?) on using a dual 74Gb Raptor RAID0 array as a scratch/capture disk for DV work. DV files are huge (multiple Gb), and disk speed is important for smooth and error-free capture from a DV camera. Any thoughts?

    Thanks for the dialog.
  • masher - Friday, July 2, 2004 - link

    > "I can tell you for a fact that my 8 disk RAID
    > 10 array, with 15k 73GB Cheetahs, running on a
    > LSI 320-2, installed in a 133MHZ PCI-X slot..."

    Is it just me, or does Denial sound like he's trying to score chicks by bragging about the size of his array?

    Oh, and BTW Denial...the servers your employer use don't count. You're either a liar for claiming you run this setup in your personal desktop...or an idiot if you're telling the truth.
  • Zar0n - Friday, July 2, 2004 - link

    Nice article but very incomplete.
    Next time please include chip7 from via & nvidia
    And more modern drives are available like Seagate 200GB.
    Also include tests with raid 1

    No SCSI drives, keep it real, most ppl have SATA or ATA drives.
  • pookie69 - Friday, July 2, 2004 - link

    There have been A LOT of issues/concerns raised by various ppl here regarding things like benches and configuration setups etc that were left out in the article. I think it would be great if there was a follow-up article to this one in which these issues were addressed and previous things further explained.

    >>> indeed, if ALL :) the issues were addressed in the said follow-up article, it may end-up being the most comprehensive RAID report/review ever!

    Anyways, something for the guys at AnandTech to think about - i think its hard to overlook the fact that alotta ppl are feeling quite a bit of discontent at the way this article hit upon its (pre-concluded :) ) conclusion.
  • Denial - Friday, July 2, 2004 - link

    "Then programmers (in some cases) will write their programs differently amd the extra speed of RAID 0 will show more in real-life benchmarks."

    Let me get this straight, you think apps today (I assume you mean desktop/office apps) aren't dependent enough on disk I/O, and should start to be written so they are more I/O bound?

    I hope you don't mind, but I'm going to put this in the old sig library for use someday. :)
  • KF - Friday, July 2, 2004 - link

    Denial: You are in denial. The results of Anand's simple-to-understand test are the same as the results that have been reported in overwhelmingly mind-numbingly-detailed reviews at specialized storage sites. This just happens to be about the IMPORTANT latest incarnation, which will no doubt put RAID capability on 90% of new computers, once the Intel production machine is rolling. Until Pariah opined, I wondered if I was the only one that understood those reviews, the way people seem to tout RAID 0 so relentlessly.

    Maybe this will be simple to understand: The authors of programs know what a slug their programs would be if they wrote them in such a way as to depend on the slowest link in the chain; namely the HD. Therefore HD accesses are avoided at all costs, and everything accessed is cached (in memory.) The OS (Windows) caches everything out-the-whazoo as well. In other words: all algorithms are selected to preserve locality. Therefore HD speed only shows up during intitialization and where there is no way to arrange locality. Therefore real-life benchmrks have a small dependence on HD speed.

    Since HD I/O is interrupt driven, and transfers are DMA, a program does not have to just sit and wait until the I/O is performed. It can do useful work concurrently provided the I/O algorithms look-ahead. Then the data will be there (most of the time) before it is needed.

    As for why the loading of games does not show a RAID 0 boost, I can only guess that they are doing a lot more than just loading HD data into memory. Possibly most of the HD I/O was done before the point that timing was done, and the slowness at that point is due to other operations. Pre-calculating known physics? Buffering major scenery changes?

    I still think people could get a feeling of extra speed during times when the HD IS loading. It may only be a tiny part of the whole time a program is run, but you could notice it during that time.

    Furthermore, if the past is a guide, every new capability that becomes commonplace gradually is made more and more use of, especially where Intel is concerned. (AGP, 2xAGP, USB, DMA66, SSE.) So Intel putting RAID 0 in its chipset means RAID 0 will be used more and more. Then programmers (in some cases) will write their programs differently amd the extra speed of RAID 0 will show more in real-life benchmarks. Before that comes about, people will correctly warn that the extra money buys you very little. Fortunately for the rest of us, there are a few people willing to pay for that extra bit, which gets the ball rolling.
  • Pumpkinierre - Friday, July 2, 2004 - link

    #45,#46 Generally the reviews I've seen on RAID1 have the read rates equal or a little bit more than a single drive while RAID0 shows 30%+ improvement. Why? I dont know. To me, in the read part of the deal, it should be the same in Raid 0 or 1.
    With my suggestion of virtual striping, I also suggested variable stripe size in a previous post (not possible in Raid0 but possible in Raid1 because the stripes are virtual). Here a smaller stripe size could be used for smaller data size requests and a larger stripe for bigger files or sequential data requests. This would speed up reads significantly and give a net advantage over Raid0 which is limited to one stripe size at inception. The controller on request for a particular data file would optimise the size of the stripe based on the request. For desktops where data throughput can range from the few k to the gigs, it would be perfect. This seems possible to me but I have'nt heard anyone implement it.

Log in

Don't have an account? Sign up now