Introduktion till ARM-servrar
“Intel har ingen som helst konkurrens på mellanregister- och high-end (x86)-servermarknaden”. Vi kom till den ganska tråkiga slutsatsen i vår recension av Xeon E5-2600 v2. Det datumet var september 2013.
Samtidigt var antalet tillkännagivanden och pressmeddelanden om ARM-server SoCs baserade på den nya ARMv8 ISA nästan oräkneliga. AppliedMicro tillkännagav sin 64-bitars ARMv8 X-Gene i slutet av 2011. Calxeda skickade oss en riktig ARM-baserad server i slutet av 2012. Texas Instruments, Cavium, AMD, Broadcom och Qualcomm meddelade att de skulle utmana Intel i servermarknaden med ARM SoCs. Idag har de första detaljhandelsprodukterna till sist dök upp i HP Moonshot-servern.
Det har inte saknats muskulösa uttalanden om ARM Server SoCs. Till exempel sa Andrew Feldman, grundaren av mikroserverpionjären Seamicro och den tidigare chefen för serveravdelningen på AMD: “I datorernas historia har mindre, billigare och högre volym-processorer alltid vunnit. ARM-kärnor, med deras lågeffektsarv i enheter, borde möjliggöra energieffektiva serverchips.” En av de mest ökända silicon valley insiders till och med gick så långt som att säga“ARM-servrar ångvältar för närvarande Intel i viktiga områden med hög marginal men av någon anledning låtsas företaget att de inte existerar.”
Var säker, vi stannar inte vid åsikter och pressmeddelanden. När folk började prata specifikationer blev vi verkligen intresserade. Låt oss se hur Cavium Thunder-X, AppliedMicro X-Gene, Broadcom Vulcan och AMD Opteron A1100 jämförs med nuvarande och framtida Intel Server-chips. Vi arbetar hårt för att få in alla dessa utmanare i vårt labb, och vi har viss framgång, men det är för tidigt för en fullblåst skjutning.
Mikroservrar och utskalningsservrar
Mikroservrar var de första måltavlan för ARM-licenstagarna. Vanligtvis förvandlas en diskussion om mikroservrar snabbt till en tråkig kontra modig kärndebatt. En av anledningarna till det är att Seamicro, uppfinnaren av mikroservern, först kom in på marknaden med Atom-processorer. Det andra skälet är att Calxeda, pionjären inom ARM-baserade servrar, var tvungen att arbeta med det faktum att Cortex-A9-kärnan var en tjusig kärna som inte kunde hantera de flesta serverarbetsbelastningar. Wikipedia associerar också mikroservrar med SoC:er med mycket låg effekt: “Server med mycket låg effekt och liten storlek baserad på System-on-Chip, vanligtvis centrerad kring ARM-processor”.
Mikroservrar är vanligtvis associerade med low end-servrar som serverar statisk HTML, cache-webbobjekt och/eller fungerar som långsamma lagringsservrar. Det är sant att du inte hittar en 150W high-end Xeon inuti en mikroserver, men det betyder inte att mikroservrar definieras av lågeffekt SoCs. Faktum är att de mest framgångsrika mikroservrarna är baserade på 15-45W Xeon E3s. Seamicro, pionjären inom mikroservrar, indikerade tydligt att det fanns lite intresse för de lågeffekt Atom-baserade systemen, men att försäljningen ökade när de integrerade Xeon E3s.
För närvarande är mikroservrar fortfarande en nischmarknad. Men mikroservrar är definitivt ingen hype; de är här för att stanna, även om vi inte tror att de kommer att vara lika dominerande som rackservrar eller ens bladservrar inom en snar framtid. För att förstå varför vi skulle göra ett så djärvt uttalande är det viktigt att förstå den verkliga anledningen till varför mikroservrar finns.
Låt oss gå tillbaka till det senaste decenniet (2005-2010). Virtualisering antogs (och är) som det bästa sättet att göra företag med många heterogena applikationer som körs på underutnyttjade servrar mer effektiva. RAM-kapacitet och kärnantalet sköt upp. Nätverk och lagring släpade men kom ikapp – mer eller mindre – när flashlagring, 10 Gbit Ethernet och SRIOV blev tillgängliga. Men trenden att lägga märke till var att virtualisering gjorde servrarna fler I/O-funktioner: antalet och hastigheten på nätverks-NIC och PCI-e-expansionsplatser för lagring ökade snabbt. Servrar baserade på Xeon E5 och Opterons har blivit “programvarudefinierade datacenter i en låda” med virtuell omkoppling och lagring. Den huvudsakliga drivkraften för att köpa komplexa servrar med högt antal processorer och fler I/O-enheter är enkel: proffs vill ha fördelarna som högintegrerad virtualiseringsprogramvara ger. Snabbare provisionering, hög tillgänglighet (HA), livemigrering (vMotion), katastrofåterställning (DR), att hålla gamla tjänster vid liv (som körs på Windows 2000 till exempel): virtualisering gjorde allt så mycket enklare.
Men vad händer om du inte behövde dessa funktioner eftersom din applikation är spridd på många servrar och kan ta några hårdvaruavbrott? Vad händer om du inte behöver de komplexa hårdvarudelningsfunktionerna som SRIOV och VT-d? Det främsta exemplet är en applikation som Facebook, men en hel del mindre webbfarmar är i en liknande situation. Om du inte behöver funktionerna som följer med programvara för företagsvirtualisering, lägger du bara till komplexitet och kostnader för (konsulttjänster/utbildning) till din infrastruktur.
Tyvärr kom branschanalytikerna som alltid med orealistisk höga förutsägelser för den nya mikroservermarknaden: 2016 skulle de vara 10 % av marknaden, inte mindre än “ett 50-faldigt hopp”! Den enkla sanningen är att det finns en hel del efterfrågan på “icke-virtualiserade” servrar, men de behöver inte alla ha lika täta och låga strömstyrkor som mikroservrarna inuti Boston Viridis. De “very low power”, extremt täta mikroservrarna med sina SoC:er med mycket låg effekt är inte en bra matchning för de flesta arbetsbelastningar där ute, med undantag för vissa lagrings- och memcachade maskiner. Men det finns en mycket större marknad för servrar som är tätare än de nuvarande rackservrarna, men mindre komplexa och billigare än de nuvarande bladservrarna, och det finns en efterfrågan på system med en relativt stark SoC, för närvarande SoC med en TDP i 20W-80W räckvidd.
Inte övertygad? ARM och ARM-licenstagarna är. Det första som Lakshmi Mandyam, chef för ARM-serversystem på ARM, betonade när vi pratade med henne är att ARM-servrar kommer att rikta sig mot utskalningsservrar, inte bara mikroservrar. Den stora skillnaden är att mikroservrar använder (mycket) lågeffektprocessorer, medan utskalningsservrar bara är servrar som kan köra massor av trådar parallellt.