Vendepunktet for programvare-RAID

I juni 2001 skjedde noe oppsiktsvekkende i IT-verden: Intel lanserte Tualatin-baserte Pentium IIIS 1,0 GHz-prosessoren. Dette var en av de første Intel-prosessorene (IA32-arkitektur) som hadde krysset 1 GHz-klokkebarrieren, og den første av noen betydning. Den var også spesiell fordi den hadde støtte for to prosessorer og dobbelt så stor cache sammenlignet med sine Coppermine-baserte forgjengere eller den ikke-«S»-baserte Tualatin-etterfølgeren (som kom bare én måned senere.) PIIIS-systembordene var vanvittig populære i sin tid og utgjorde ryggraden i høyytelses standardservere, som Proliant og PowerEdge, i 2001 og de påfølgende årene – med kulminasjonen i Pentium IIIS 1,4 GHz to-prosessorsystemer som var så viktige at de ga opphav til HPs nå berømte Proliant «G»-navngivningskonvensjon. Pentium III-boksene var «G1».
Hva har dette med RAID å gjøre? Vi må gå tilbake og se på hvor RAID stod frem til mai 2001. Fra 1990-tallet og frem til mai 2001 var hardware-RAID standarden for IA32-serververdenen, som hovedsakelig inkluderte systemer som Novell Netware, Windows NT 4, Windows 2000 og noe Linux. Programvare-RAID eksisterte for noen av disse systemene (ikke Netware), men servere hadde alltid knappe CPU- og minneressurser, og å bruke disse dyrebare ressursene på RAID-funksjoner var kostbart og fikk applikasjoner til å konkurrere med RAID om tilgang, noe som ofte fikk systemene til å knele under konflikten. Hardware-RAID løste dette ved å tilføye dedikert CPU og RAM utelukkende for disse funksjonene.
RAID på slutten av 1990-tallet og begynnelsen av 2000-tallet var også i stor grad basert på RAID 5 og i noe mindre grad RAID 6, paritetsstripring, fordi disker var små og ekstremt dyre per kapasitetsenhet, og å presse maksimal kapasitet ut av tilgjengelige disker var høyeste prioritet. Risikoer som URE var svært ubetydelige på grunn av de små kapasitetsstørrelsene, slik at paritet-RAID var meget pålitelig alt tatt i betraktning. Faktorene var helt annerledes enn de ville bli innen 2009. I 2001 var det fremdeles vanlig å se 2,1 GB, 4,3 GB og 9 GB harddisker i enterprise-servere!
Fordi paritet-RAID var normen, og mange disker typisk ble brukt på hver server, hadde RAID i gjennomsnitt høyere CPU-overhead i 2000 enn i 2010! Dermed var RAID-belastningen på systemressursene svært betydelig.
Det er bakgrunnen. Men i juni 2001 fikk plutselig de som hadde kjøpt svært lite kraftige IA32-systemer tilgang til Tualatin Pentium IIIS-prosessorer med betydelig forbedrede klokkehastigheter, effektiv to-prosessorsupport og dobbelt så store on-chip-cacher – noe som representerte et forbløffende sprang i systemytelse nærmest over natten. Med all denne nye kraften og ingen tilsvarende økning i programvarekrav hadde systemer som tradisjonelt hadde vært sultne på CPU og RAM plutselig mer enn de visste hva de skulle gjøre med, særlig ettersom flere tråder ble tilgjengelige mens de fleste daværende applikasjoner var entrådet.
System-CPU-ene, selv i Pentium III-æraen, var dramatisk kraftigere enn de små CPU-ene – som ofte var inngangsnivå PowerPC- eller MIPS-brikker – på hardware-RAID-kontrollerne, og det tilgjengelige systemminnet var ofte mye større enn hardware-RAM-cachene. Å investere i ekstra systemminne var ofte langt mer effektivt og generelt fordelaktig, og med ledig kapasitet på hovedsystemet kunne RAID-funksjoner i gjennomsnitt flyttes fra hardware-RAID-kortene til sentralsystemet og oppnå bedre ytelse, selv om man ga avkall på den ekstra CPU-en og RAM-en på hardware-RAID-kortene. Dette gjaldt ikke for overbelastede systemer med knappe ressurser, og var mer relevant for paritet-RAID-systemer der RAID 6 tjente mest og ikke-paritetssystemer som RAID 1 og 0 tjente minst.
Men juni 2001 var det berømte vendepunktet – før denne datoen var det gjennomsnittlige IA32-systemet raskere med hardware-RAID. Og etter juni 2001 ville nye systemer som ble kjøpt i gjennomsnitt være raskere med programvare-RAID. For hvert år som gikk har fordelene dreid seg stadig mer i retning av programvare-RAID, med et overflod av underutnyttede kjerne-CPU-er og inaktive tråder, og ledig RAM som har eksplodert – der den eneste fordelen for hardware-RAID er nedgangen i bruk av paritet-RAID ettersom speiling tok over som standard etter hvert som diskstørrelsene økte dramatisk mens kapasitetskostnadene falt.
I dag er det gått mer enn femten år siden forestillingen om at hardware-RAID skulle være raskere ble lagt i graven. Troen henger ved, primært på grunn av det merkelige «Klasse av 1998»-fenomenet. Men dette har lenge vært en myte som ukritisk gjentas av dem som ikke tok seg tid til å forstå det opprinnelige kildematerialet. Hardware-RAID har fortsatt fordeler, men ytelse har ikke vært en av dem for størstedelen av den tiden vi har hatt RAID, og forventes aldri å stige igjen.