Redaktörens anmärkning: Marvell tillkännagav nästa generations Thunderx3 och Thunder x4. Förhoppningsvis blir de ett större stänk än x2 blev.
Alla älskar en historia om en underdog.
Med den långvariga dominansen av Intels Xeon-chips i server marknaden kommer varje potentiell utmanare att dra till sig ett verkligt marknadsintresse.
Caviums nya ARM-processor, Thunderx2, har verkligen väckt intresse.
Som med 3D Xpoint-minne, har den i olika PR-artiklar, tekniktidskrifter och bloggar utmålats som nästa stora grej.
Som med många saker är hypen berättigad på vissa ställen och mindre berättigad på andra.
Cavium ThunderX2s prisnivå är mycket konkurrenskraftig.
Den har tillräckligt många SKU:er för att kunna erbjuda en flexibel produktserie, och dess plattformar ser verkligen ut att kunna konkurrera med standarderna.
Även leverantörer som HPE och Cray tar sig an uppgiften.
Men som med alla underdog-berättelser finns det fortfarande många hinder för Cavium ThunderX2 att övervinna.
Det kan dröja ett tag innan den kan hävda verklig marknadsnärvaro efter den officiella lanseringen.
I den här artikeln kommer vi att gå igenom vad som är känt hittills och de viktiga mätvärdena att notera vid utvärdering av ThunderX2.
Pris för Cavium ThunderX2
Cavium är verkligen imponerande ur prissynpunkt, med chip som sträcker sig från $800 till $1795.
Caviums kärna 9980, har jämförbar prestanda med Intel Xeon Gold 6148 till ett 70% lägre pris.
När det gäller prestanda per dollar matchar Cavium lika bra över hela SKU-sortimentet.
Med detta sagt prissätter Intel sin produkt som den obestridda marknadsledaren.
De skulle mycket enkelt kunna sänka priset för att konkurrera med Thunder X2-serien i prestanda per dollar om marknadsandelen någonsin skulle minska.
Strömförbrukning för Cavium Thunderx2
Även om officiella riktmärken för strömförbrukning som TDP inte har presenterats, har Cavium ThunderX2:s inledande tester visat att både strömförbrukning i viloläge och TDP överstiger den för Intel-processorer.
I vissa fall är detta överskott ganska betydande.
En testare noterade en tomgångsförbrukning på 300 W, och en annan över 800 W vid toppbelastning.
Även om detta har kritiserats är det mycket vanligt i pre-release-stadier för hårdvara har effektivitets- eller funktionsproblem som måste lösas.
Det återstår att se hur de officiella benchmarks kommer att se ut när chipen har blivit mainstream.
Med detta sagt är det osannolikt att ändringar i firmware kommer att ge mer än marginella förbättringar av energieffektiviteten.
Beräkningsprestanda för ThunderX2
Databehandling för allmänna ändamål
För allmänna ändamål databehandling ändamål har ThunderX2 sina begränsningar.
Den presterar bra i flertrådade tester, men hamnar på efterkälken även jämfört med E5-2699 V3 i mer enkeltrådade tester, som UnixBench Whetstone.
Precis som den ursprungliga Thunder före den är ThunderX2 mer lämpad för webbservrar, databaser eller andra ILP-ändamål (ILP = instruction level parallelism) med låg instruktionsnivå.
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-omedvetna 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 bunden bandbredd för prestanda, t.ex. OpenFOAM, Stream, CloverLeaf och TeaLeaf.
Däremot klarar den inte de beräkningsbundna kodtesterna, som GROMACS och VASP.
I princip alla tester som bygger på cacheminnet visar sig vara mindre lovande.
ThunderX2 uppvisar lägre L1- och L2-cache-bandbredd samt lägre FLOPS (Floating point throughput).
Dessa begränsningar kan komma att lösas i framtiden med SVE-aktiverade (Scalable Vector Extension) ARM som innehåller bredare vektorenheter.
Ett ofta förmodat 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 optimerade för HPC.
Det finns fördelar med vissa, t.ex. 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 de mycket parallella konstruktionerna hos företag som Cray.
ThunderX2-kompatibilitet med befintliga appar
De flesta programvaruleverantörer har inte stöd för arkitekturer som inte är x86.
Ett stort antal molnplattformar är Linux-baserade och kan därför lätt kompileras om för ARM.
Många applikationer är dock optimerade för specifika processorlinjer.
Det är möjligt att Thunderx2 kan vinna marknadsandelar tack vare sitt attraktiva pris.
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 igen på ett ARM-system som du kan på ett annat Xeon-system.
Detta är ingen liten sak, eftersom virtualisering nu är normen och mer än 75% av organisationerna använder virtualiserade servrar.
Har ThunderX2 effektiva alternativ för serverplattformar?
Flera OEM- och white box ODM-leverantörer har hoppat ombord, 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 lönsamt med bättre lagerhantering alternativ än tidigare erbjudanden.
Är ThunderX2 sårbart för Spectre?
Spectre är ett problem som är inneboende i out-of-order execution, så ja, thunderx2 bör vara lika sårbart för spectre som andra chip.
Du bör använda samma skyddsåtgärder, men tack och lov påverkar de senaste Linux-patcharna inte prestandan nämnvärt.
Avslutande tankar
Caviums Thunderx2 och ARM i allmänhet kommer inte att ersätta x86 inom en snar framtid.
Teoretiskt sett finns det ingen anledning att inte kunna göra något som motsvarar x86 med ARM. Det finns ingen anledning att inte bara kasta pengar på att göra större ARM-kärnor med motsvarande preteching och SIMD.
Men Intel har satsat miljarder dollar på det konceptet, och historien har visat att det i allmänhet inte är någon vinnande idé att slå ett gigantiskt företag på deras eget spel.
ThunderX2 släpar efter med mer allmänna arbetsbelastningar.
Det finns verkligen tillräckligt av dem i den moderna server miljö för att förhindra att den antas de facto.
Tidiga TDP- och strömförbrukningsmätningar hjälper inte heller.
Denna arkitektur ä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 ökar kraftigt i användning 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å parallell bearbetning snarare än på att snabba upp enskilda kärnor. Det nya paradigmet har satts. Utvecklingen kommer att bli intressant att följa.
Har du något att tillägga? Låt oss veta vad du tycker i kommentarer nedan!