Redaktörens anmärkning: Marvell tillkännagav nästa generations Thunderx3 och Thunder x4. Förhoppningsvis gör de mer av ett stänk än x2 gjorde.
Alla älskar en historia om en underdog.
Med den långvariga dominansen för Intels Xeon-chip i den server marknaden kommer varje potentiell utmanare att dra till sig verkligt marknadsintresse.
Caviums nya ARM-processor, Thunderx2, har verkligen dragit till sig intresse.
Som med 3D Xpoint-minnehar den i olika PR-artiklar, tekniktidskrifter och bloggar utmålats som nästa stora grej.
Som med så mycket annat är hypen berättigad på vissa ställen och mindre berättigad på andra.
Cavium ThunderX2s prisnivå är mycket konkurrenskraftig.
Företaget har tillräckligt många SKU:er för att kunna erbjuda ett flexibelt sortiment och dess plattformar ser verkligen ut att konkurrera med standarderna.
Även leverantörer som HPE och Cray är på väg att ta steget fullt ut.
Men som med alla underdog-historier finns det fortfarande många hinder för Cavium ThunderX2 att övervinna.
Det kan dröja innan den kan göra anspråk på en verklig marknadsnärvaro efter den officiella lanseringen.
I den här artikeln går vi igenom vad som är känt hittills och de viktiga mätvärdena att notera när du utvärderar ThunderX2.
Cavium ThunderX2 Pris
Cavium är verkligen imponerande ur prissynpunkt, med chip som sträcker sig från $800 till $1795.
Caviums kärna 9980, har prestanda som är jämförbara med Intel Xeon Gold 6148 till ett 70% lägre pris.
När det gäller prestanda per dollar ligger Cavium lika bra till över hela SKU-sortimentet.
Med detta sagt prissätter Intel sin produkt som den obestridda marknadsledaren.
De skulle mycket enkelt kunna sänka priserna för att konkurrera med Thunder X2-serien i prestanda per dollar om marknadsandelen någonsin skulle minska.
Cavium Thunderx2 strömförbrukning
Även om officiella riktmärken för strömförbrukning, som TDP, inte har presenterats, har Cavium ThunderX2:s första communitytester visat att både strömförbrukningen vid tomgång och TDP är högre än för Intel-processorer.
I vissa fall är detta överskott ganska betydande.
En testare noterade en strömförbrukning på 300 W i viloläge och en annan på över 800 W vid toppbelastning.
Även om detta har väckt kritik är det mycket vanligt i pre-release-faser för hårdvara att ha effektivitets- eller funktionsbrister att lösa.
Det återstår att se hur de officiella riktmärkena kommer att se ut när chipen har blivit mainstream.
Med detta sagt är det osannolikt att ändringar i den inbyggda programvaran kommer att ge mer än marginella förbättringar av energieffektiviteten.
ThunderX2 Beräkningsprestanda
Databehandling för allmänna ändamål
För allmänna ändamål databehandling ThunderX2 har sina begränsningar.
Den presterar bra i flertrådade tester, men hamnar efter till och med E5-2699 V3 i de mer enkeltrådade benchmarks, som UnixBench Whetstone.
Precis som den tidigare Thunder-modellen är ThunderX2 mer lämpad för webbservrar, databaser och andra tillämpningar med låg parallellitet på instruktionsnivå (ILP).
Till skillnad från AMD EPYC-plattformen med 8 noder använder ThunderX2 två NUMA-noder som Intel, vilket sannolikt är mer attraktivt om du hoppas kunna undvika fabric hops med NUMA-oberoende appar.
Men bortsett från priset finns det inget här för vanliga arbetsbelastningar som skulle ha Avveckling av datacenter varje server att hoppa på ARM-tåget.
Högpresterande datorsystem
När det gäller högpresterande datorsystem (HPC) är ThunderX2 imponerande.
Caviums ThunderX2 presterar mycket bra i benchmarks som korrelerar med minne-applikationer för prestanda med bunden bandbredd, till exempel OpenFOAM, Stream, CloverLeaf och TeaLeaf.
Den kommer dock till korta när det gäller beräkningsbundna kodtester, som GROMACS och VASP.
I princip alla tester som förlitar sig på cacheminnet visar sig vara mindre lovande.
ThunderX2 visar lägre bandbredd för L1- och L2-cache samt lägre FLOPS (Floating point throughput).
Dessa begränsningar kan komma att lösas i framtiden med SVE-aktiverade ARM:er (Scalable Vector Extension) som innehåller större vektorenheter.
Ett ofta antaget hinder är att HPC-koder redan är mycket optimerade för x86, vilket gör att de nyare ARM-implementeringarna inte är lika effektiva i jämförelse.
Det är dock förvånansvärt få av koderna som är hyperoptimerade för HPC.
Det finns en fördel med vissa, till exempel GROMACS, men inte i den utsträckning som vissa kanske tror.
Många appar lämpar sig inte för topprestanda med effektiv användning av de bredare vektorerna.
Sammantaget är ThunderX2-serien lovande för HPC och mer specifikt för de mycket parallella konstruktionerna hos företag som Cray.
ThunderX2-kompatibilitet med befintliga appar
De flesta programvaruleverantörer stöder inte arkitekturer som inte är x86.
Ett betydande antal molnplattformar är Linux-baserade och kan därför mycket väl kompileras om för ARM.
Många applikationer är dock optimerade för specifika processorlinjer.
Det är möjligt att Thunderx2 kan vinna marknadsandelar på grund av sin tilltalande prispunkt.
I så fall kan vi få se mer stöd från de vanliga misstänkta för att hjälpa till att främja dess antagande.
Ett område som säkert kommer att utgöra ett hinder är driftsättning i virtualiserade miljöer.
Du kan inte stänga av en Xeon-baserad VM och starta upp den igen på ett ARM-system som du kan på ett annat Xeon-system.
Detta är ingen liten sak, eftersom virtualisering nu är normen med mer än 75% av organisationer som använder virtualiserade servrar.
Har ThunderX2 effektiva alternativ för serverplattformar?
Flera OEM- och ODM-leverantörer med vit box har hoppat på tåget, med HPE, Cray, Inventec och många andra som nu tillhandahåller X2-plattformar.
Den hårdvara är jämförbar och inte utgör något hinder för hårdvara kompatibilitet med lagringssystem eller nätverksutrustning.
Standardfunktioner som ett jämförbart webb-GUI och IPMI-hantering utanför band gör ThunderX2 mer gångbar med bättre Lagerhantering alternativ än tidigare erbjudanden.
Är ThunderX2 sårbart för Spectre?
Spectre är ett problem som är inneboende i exekvering utan ordning, så ja, Thunderx2 borde vara lika sårbart för Spectre som andra chip.
Du bör vidta samma skyddsåtgärder, men tack och lov innebär de senaste Linux-patchningarna inte någon större försämring av prestandan.
Avslutande tankar
Caviums Thunderx2 och ARM i allmänhet kommer inte att ersätta x86 någon gång snart.
Teoretiskt sett finns det ingen anledning till att du inte skulle kunna göra något motsvarande x86 med ARM. Det finns ingen anledning till att du inte bara kunde kasta pengar på att göra större ARM-kärnor med motsvarande preteching och SIMD.
Men Intel har kastat miljarder dollar på det konceptet, och historien skulle hävda att det i allmänhet inte är ett vinnande förslag att slå en företagsjätte på deras eget spel.
ThunderX2 släpar efter med mer allmänna arbetsbelastningar.
Det finns verkligen tillräckligt många sådana i den moderna server miljö för att förhindra att den de facto antas.
Tidiga TDP- och strömförbrukningsbetyg hjälper inte heller.
Den här arkitekturen är dock mycket effektiv när det gäller att hantera specifika typer av arbetsbelastningar.
Med sin minnesbandbredd kan den erbjuda en unik lösning för minnesbundna appmiljöer.
I det förflutna såg vi GPU:er skjuter i höjden när de passar sin nisch med iterativa algoritmer.
Kanske kan ARM på liknande sätt hitta sin egen roll inom HPC och andra nischade användningsområden.
Med Moores lag sedan länge död, CPU Stora och små tillverkare kommer att fokusera mer på parallellbearbetning än på att snabba upp enskilda kärnor. Det nya paradigmet har satts. Framstegen kommer att bli intressanta att följa.