"Stop the RAID 0 insanity!" "There is no place, and no need for a RAID-0 array on a desktop computer." Met deze kreten riepen de websites Storage Review en AnandTech het doodvonnis uit over het nochtans populaire gebruik van RAID 0 annex striping in desktop computers. Jarenlang werd RAID 0 als de heilige graal beschouwd door power users en tweakers die het maximum uit hun storagesysteem wilde persen. Nu was het genoeg geweest. RAID 0 is nutteloos, een hype en niets sneller op de desktop. De wereld moest tot de orde geroepen worden. Voorbij moest het zijn met dat gestripe en gepoch met transfer rates.
"It is our hope that these findings taken as a whole will stem an internet-wide trend where enthusiast-oriented websites blithely incorporate RAID0 into their "high-end" single-user boxes, ignorant to both theory and empirical results", riepen de heren Storage Review vanaf hun altaar.
De keiharde, ondubbelzinnige uitspraken van Storage Review en AnandTech deden onze wenkbrauwen fronsen, want in tegenstelling tot de tests van de eerder genoemde websites hebben benchmarks van Tweakers.net in uiteenlopende RAID-configuraties keer op keer bewezen dat er wel degelijk grote voordelen zijn te behalen door toepassing van RAID 0 in desktopomgevingen. Verbeteringen van de I/O performance met 40 procent, soms zelfs 60 procent, zijn eerder regel dan uitzondering. De ongenuanceerde wijze waarop met name Storage Review stelling neemt in de RAID 0-discussie en de twijfels die wij hebben bij de testmethoden van zowel Storage Review als AnandTech, zijn aanleiding om dit artikel de resultaten van ons eigen onderzoek te presenteren en kritische kanttekingen te plaatsen bij de tests van collega's SR en AT. We kunnen alvast verklappen dat Storage Review weinig hoop hoeft te koesteren dat Tweakers.net het bovenstaande verzoek betreffende het afraden van RAID 0-configuraties ten uitvoering zal brengen.
De theorie achter RAID 0
De werking van RAID 0 is even eenvoudig als doeltreffend en zal bij veel tweakers bekend zijn. RAID 0 combineert een 'array' van onafhankelijke harde schijven tot één geheel door de gegevens in stukken te hakken en over meerdere disks te verdelen, het zogenaamde striping. Bij het benaderen van de gegevens kunnen meerdere spindels tegelijkertijd aan het werk gezet worden zodat een hogere I/O performance behaald kan worden. In tegenstelling tot andere RAID-soorten, die ook enige vorm van bescherming tegen uitval van harde schijven bieden, heeft bastaardkindje RAID 0 geen boodschap aan de R van Redundancy. Het principe van striping is echter van toepassing op veel vormen van RAID, bijvoorbeeld RAID 5 (striping plus distributed parity) en RAID 10 (striping en mirroring).
De voordelen van striping komen direct tot uiting in sequentiële schijfbenaderingen, die bij uitstek geschikt zijn om opgesplitst te worden over de deelnemende schijven in een array. Snelheidsverbeteringen van bijna 100 procent zijn geen uitzondering mits de bus geen bottleneck vormt. Verder biedt striping de mogelijkheid om meerdere I/O's tegelijkertijd uit te voeren door per spindel een I/O request te verwerken. Dergelijke optimalisaties kunnen veel snelheidswinst opleveren bij het verwerken van kleine I/O's. Voorwaarde is wel dat er een wachtrij van minimaal twee I/O's moet zijn, anders kan er immers geen gelijktijdige activiteit uitgeoefend worden. Ook moeten de gewenste gegevens zich op verschillende schijven bevinden. Desktop workloads hebben relatief kleine I/O's van gemiddeld zo'n anderhalve I/O in rustig verkeer, oplopend tot zo'n acht uitstaande I/O's onder zware belasting. Dit is minder dan bij zware server workloads, maar biedt desalniettemin goede mogelijkheden voor striping optimalisaties, ook omdat desktop workloads relatief veel sequentiële I/O kennen.
Hoewel RAID 0 geen noemenswaardige verbetering van de gemiddelde toegangstijd oplevert, kunnen de verhoogde sequentiële transfer rates en de mogelijkheid om simultane I/O's uit te voeren wel resulteren in een aanzienlijke verlaging van de gemiddelde 'servicetijd', de belangrijkste metriek voor het bepalen van storage performance. De grootte van de stripes, alsmede het type harde schijf en het type RAID-controller spelen een belangrijke rol in de uiteindelijke prestaties van een array. Voor desktoptoepassingen levert een stripe size tussen 64K en 256K doorgaans de beste verbetering.
Het effect van striping op de transfer rate is te zien in de onderstaande twee grafieken waarin de doorvoersnelheid van een single Western Digital Raptor WD740GD en een RAID 0 array van twee Raptors zijn uitgezet bij verschillende blokgroottes en queue-diepten. In de linker prent bevindt zich de transfer rate bij het uitvoeren van één simultane I/O en rechts is de doorvoer afgebeeld bij een wachtrij van acht I/O's. De tests werden uitgevoerd met een 50 procent willekeurig toegangspatroon dat enkel uit leesopdrachten bestond.


Door de overhead van striping is de single Raptor WD740GD bij een queue van één I/O tot een transfer size van 32K sneller dan de tweetakt in RAID 0. Bij 64K begint de turbodruk op te lopen en neemt de stripe van twee Raptors afstand van het eenspan. In de test met een queue van acht uitstaande I/O's is het RAID 0-duo over de hele linie sneller dan de single Raptor. Het verschil loopt uiteindelijk op tot 70,1MB/s versus 99,6MB/s in een volledig sequentieel leespatroon, waarbij de prestaties van de RAID 0-configuratie overigens zwaar werden opgehouden door de PCI-bus.