Software RAID-vendepunktet

I juni 2001 skete der noget fantastisk i IT-verdenen: Intel lancerede den Tualatin-baserede Pentium IIIS 1,0 GHz-processor. Dette var en af de første Intel-processorer (IA32-arkitektur) der havde passeret 1 GHz-clockbarrieren, og den første af nogen betydning. Den var også særlig ved at have dobbeltprocessorunderstøttelse og en dobbelt så stor cache sammenlignet med dens Coppermine-baserede forgængere eller dens ikke-“S” Tualatin-efterfølger (der kom blot en måned senere.) PIIIS-systemkortene var uhyre populære i deres æra og udgjorde rygraden i højtydende standardservere, som Proliant og PowerEdge, i 2001 og de næste par år med kulminationen i Pentium IIIS 1,4 GHz dobbeltprocessorsystemer, der var så vigtige, at de resulterede i at sætte gang i den nu berømte HP Proliant “G”-navnekonvention. Pentium III-boksene var “G1”.
Hvad har alt dette at gøre med RAID? Vi er nødt til at træde et skridt tilbage og se på, hvor RAID befandt sig frem til maj 2001. Fra 1990'erne og frem til maj 2001 var hardware-RAID standarden for IA32-serververdenen, som primært omfattede systemer som Novell Netware, Windows NT 4, Windows 2000 og noget Linux. Software-RAID eksisterede for nogle af disse systemer (ikke Netware), men servere kæmpede altid med CPU- og hukommelsesressourcer, og at bruge disse dyrebare ressourcer på RAID-funktioner var kostbart og ville få applikationer til at konkurrere med RAID om adgang, og systemerne ville ofte sætte i stå på grund af konflikten. Hardware-RAID løste dette ved at tilføje dedikeret CPU og RAM specifikt til disse funktioner.
RAID i slutningen af 1990'erne og starten af 2000'erne var også i høj grad baseret på RAID 5 og i mindre grad RAID 6 paritets-striping, fordi diske var meget små og ekstremt dyre for kapacitetsenheden, og det var en topprioriteret opgave at presse maksimal kapacitet ud af de tilgængelige diske, mens risici som URE var så trivielle på grund af de små kapacitetsstørrelser, at paritets-RAID var meget pålidelig alt taget i betragtning. Faktorerne var fuldstændig anderledes end de ville være i 2009. I 2001 var det stadig almindeligt at se 2,1 GB, 4,3 GB og 9 GB harddiske i enterprise-servere!
Fordi paritets-RAID var dagens orden, og mange diske typisk blev brugt på hver server, havde RAID mere CPU-overhead i gennemsnit i 2000 end i 2010! Påvirkningen af RAID på systemressourcerne var derfor meget betydelig.
Det er baggrunden. Men i juni 2001 fik de mennesker, der havde købt meget laveffektive IA32-systemer, pludselig adgang til Tualatin Pentium IIIS-processorer med kraftigt forbedrede clockhastigheder, effektiv dobbeltprocessorunderstøttelse og dobbelt så store on-chip caches, der præsenterede et forbløffende spring i systemydelsen bogstaveligt talt over natten. Med al denne nye kraft og ingen tilsvarende ændring i softwarekrav havde systemer, der traditionelt var udsultede for CPU og RAM, pludselig mere end de vidste, hvad de skulle stille op med, især da ekstra tråde var tilgængelige, og de fleste applikationer på det tidspunkt var enkelttrådede.
System-CPU'erne, selv i Pentium III-æraen, var dramatisk mere kraftfulde end de små CPU'er, der ofte var indgangsniveau PowerPC eller MIPS-chips, på hardware-RAID-controllerne, og den tilgængelige systemhukommelse var ofte meget større end hardware-RAM-cacherne, og at investere i ekstra systemhukommelse var ofte langt mere effektivt og generelt fordelagtigt, så med tilgængeligheden af ledig kapacitet på hovedsystemet kunne RAID-funktioner i gennemsnit flyttes fra hardware-RAID-kortene til det centrale system og opnå bedre ydeevne, selv mens man opgav den ekstra CPU og RAM fra hardware-RAID-kortene. Dette var ikke sandt for overbelastede systemer, dem der var udsultede for ressourcer, og var mere relevant for paritets-RAID-systemer, hvor RAID 6 havde størst fordel, og ikke-paritets-systemer som RAID 1 og 0 havde mindst fordel.
Men juni 2001 var det berømte vendepunkt – inden den dato var det gennemsnitlige IA32-system hurtigere ved brug af hardware-RAID. Og efter juni 2001 ville nye indkøbte systemer i gennemsnit være hurtigere med software-RAID. For hvert år der gik, har fordelene hældt mere og mere mod software-RAID med overfloden af underudnyttede kerne-CPU'er og inaktive tråde og overskydende RAM, der eksploderede, med den eneste fordel ved hardware-RAID der bestod i faldet i paritets-RAID-brug, da spejlet RAID overtog som standard efterhånden som diskstørrelserne steg dramatisk, mens kapacitetsomkostningerne faldt.
I dag er det mere end femten år siden, at forestillingen om, at hardware-RAID ville være hurtigere, er blevet lagt til hvile. Overbevisningen hænger ved primært på grund af det mærkelige “Klassen af 1998”-fænomen. Men dette har længe været en myte, der ukorrekt gentages af dem, der ikke tog sig tid til at forstå det originale kildemateriale. Hardware-RAID har fortsat fordele, men ydeevne har ikke været en af dem i størstedelen af den tid, vi har haft RAID, og forventes aldrig at stige igen.