Raid 0: Blessing or hype?
Yoeri Lauwers writes "Tweakers.net investigates matters a bit more clearly and decides that AnandTech and Storagereview should think twice before they shout that "RAID 0 is useless on the desktop". Tweakers.net's tests illustrate the contrary"
Sure, lose one drive and you lose everything. There are better ways to store everything on one "drive letter"
A common misconception is that striping beyond 2 drives is "worthless." That simply isn't true: remember that the inside of the drives, close to the spindles, has a transfer rate that is nearly half what it is on the outside cylindars. By striping 4 drives togeather, about half the bandiwdth is wasted near the FRONT of the drive, but near the tail, it's almost all being used. The effect is that the drive feels uniformly quick no matter what part of the drive you are reading from!
I personally jumped from a single drive to a 4-drive SATA raid-0 system, composed of 120GB drives from two different manufacturers.
The system screams.
I can't tell you how nice it is to have my computer boot in half the time... how your system feels like you always wished it would feel. You can add all the memory you want, all the processing power you want, but if you can't feed the computer, it's all pointless.
The only thing I wish now was that my system had a faster and/or wider bus that would allow me to take advantage of all the currently unused bandwidth available from the four drives.
Of course they do. After all, they've spent extra money and time pimping out their rigs.
Just the thought of using RAID-0 makes me shiver. The only people who should use this are people who keep good backups, and like using them. The speed gains are of little use for individuals, and for the professionals or corporations that might actually want the speed-up, the chances of data-loss are too high.
That's not to say there isn't a purpose for RAID-0 - it teaches people how useful backups are. The hard way.
Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
Nope, reliability goes down.
Let's suppose that both the 80Gb and the 160Gb drives have a possibility of failing in a month of 10%.
Now, with the 1x160Gb you have 10% of having a failure this month, obviously. What's the probability for both drives?
Well, since each one won't fail 90% of the time, the probabilities of both not failing is 81% (0.9*0.9). The rest, 19% is the possibility that one or both fail, therefore, instead of a 10% failure rate, you get 19%... nearly twice!
So long as the operating system can take advantage of it, every spindle you add to your system will add performance. Windows does make it harder to take full advantage of multiple spindles, because you can't easily distribute disks to different parts of your file system to cut down on seeking, but using RAID 0 will help some.
/tmp disks, and other system tuning you could do on even medium-sized "big iron". I've done similar things on my FreeBSD home desktop and been quite pleased with the results, though IDE's limitations make it a lot harder to get a big win out of it than SCSI did.
Ideally, you should bring hot spots on the disk closer together, which is what filesystem optimization tools do, and have one disk for each "hot spot" on your system. %systemroot%, the swap partition, your system temporary files directory, your applications, and your profile could each be given a separate disk so that the disk head that's sitting there writing your cached files doesn't get hauled off to the other end of the disk to read a plugin from %systemroot% or a write an old dirty block to the swapfile. Old timers will remember dedicated swap disks and swap partitions on every drive, fast dedicated
With enough drives and an OS that's aware of the physical layout, you should be able to get the same kind of performance improvement from RAID 0 on Windows. Hardware RAID, of course, won't help much with the seeking problem because the OS doesn't know it's got two heads to do seek optimization on. Software RAID, if Windows is smart about seek optimization, should give you a superlinear speedup for many workloads.
The author produces a lot of words but shows remarkably poor insight. Examples his lack of understanding between sequential access arrays and parallel IO arrays in the introduction, the poor showing of the RAID 5 tests (conveniently avoiding writes in those tests), the difference between RAID techniques and caching, and the association of PCI as the performance limiter in the Promise controller.
The fact is that the article readily admits that desktop workloads show poor average IOps (under 1.5) and modest average IO size (23K). Those numbers prove that there is little opportunity to accelerate performance either with parallel access or random access designs. The first tests show clearly that the IO sizes in question leave little opportunity for large transfer gains while the lack of decent command queue depths rules out good load balance with larger stripe sizes. Interestingly, the author didn't provide the stripe size for that test. It's easy to deduce from the chart but it demonstrates his limited grasp of the subject matter.
Regarding the tests dispelling the myth of poor RAID 5 performance, hardly! Poor RAID 5 performance is no myth. First off, the RAID 5 configuration was trounced by lesser RAID 0 IDE drives. Second, the benchmarks consistently avoided writes, notably small writes, where RAID 5 massively fails, and uses a large writeback cache to further hide write performance and to cause the configuration to shine is small read tests. If you are going to sing the praises of RAID 5 for data protection you should probably mention the data integrity disaster that writeback caches introduce. If I were offering the RAID 5 config myself I would feel like I just got my ass kicked.
Ultimately this article is nothing other that a rant by someone who disagrees with others' contention that RAID 0 is of limited benefit. He justifies his position by saying that performance matters when "performance matters", that is specifically when you create disk-intensive loads you can see a benefit. Well, no shit. When you create large command queue depths through multiple disk-intensive processes then you will benefit. Again, no shit. Boot times can get shaved a little. Big deal. Beyond that he doesn't know what he talking about. There's a big difference between RAID 0 being theoretically capable of superior performance and it being a performance value to a desktop user. This is a subjective matter and he fails to make his case. Just how often does he or any other "power user" actually benefit from these unusual workloads and is that often enough to justify the costs?
1. Anandtech and StorageReview benchmarked RAID 0 and found that, for desktop applications, RAID 0 is slightly slower than a single drive, because the things that RAID 0 is good at are not the things that desktops need.
2. So we changed the benchmarks to really need the things that RAID 0 is good at.
3. And now, RAID 0 improves things!
4. Therefore, the benchmarks in #1 were wrong.
Summary of the summary:
I'm looking for my keys under this lamppost because the light is better here.
Well I got a very simple solution to that, one that the overclockers I care about all use. It is called a small server with real Raid to store all the "real work" they got.
The game machine is the game machine and it doesn't need to have a long live as it won't be around longer then a year anyway.
Raid 0 fits in the "getting 1% extra fps" scene. It does not fit in the office scene.
Anatech and a whole lot of /.ers just don't seem to get that to some people every bit of extra speed is worth it. You would review a ferrari as a lesser car then a ford focus since a ferrari costs more and who needs the speed.
Does speed matter? Oh yeah, does reliability? Hell no, this ain't a server. Only thing I could loose is a few hours reinstalling windows and my games. I do that often enough anyway whenever a new piece of hardware arrives.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
There are a number of desktop applications that can benifit from RAID-0, but you have to be smart about it.
RAID-0 is perfect for booting an OS and loading large applications. It's also excellent for swap space, and initializing your JVM.
It's less well suited, however, for small documents and anything important (like documents).
Thus, my strategy would be to use a RAID-0 array for my OS, JVM, applications, and swap space, and a non-RAID drive for application data. A good way to achieve this on Linux would be to format the single non-RAID drive and mount it as /home, and install everyting else onto the raid array.
Seems to be a good strategy for a desktop system to me. Add in some backup for the single disk mounted as /home, and if anything goes wrong with the RAID, you're important data is completely protected.
Yaz.