Intel Xeon Platinum 8180 review: Skylake voor servers

36 reacties
Inhoudsopgave
  1. 1. Inleiding
  2. 2. Xeon Scalable Series in een notendop
  3. 3. Modellen: Bronze t/m Platinum
  4. 4. Skylake architectuur
  5. 5. Mesh-architectuur en drie chipvarianten
  6. 6. Nieuw: AVX-512 en nieuwe cache indeling
  7. 7. Zes geheugenkanalen en snellere inter-CPU communicatie
  8. 8. Stroombesparing en overige vernieuwingen
  9. 9. Lewisburg chipset
  10. 10. Prestaties volgens Intel
  11. 11. Testplatform
  12. 12. Benchmarks Windows Server 2016
  13. 13. Benchmarks Windows Server 2016 - Stroomverbruik en performance-per-watt
  14. 14. Benchmarks Linux
  15. 15. Conclusie
  16. 16. Besproken producten
  17. 17. Reacties

Inleiding

Intel introduceert vandaag haar nieuwste generatie Xeon server-platform, met de codenaam Skylake-SP. De nieuwe reeks CPU's luistert officieel naar de naam Xeon Scalable Processor Series en is gebaseerd op de Skylake-architectuur zoals die al een tijd beschikbaar is voor laptops en desktops. Dankzij een duidelijk afwijkende opbouw dan de voorlopers en veel toegevoegde features belooft Intel aanzienlijke prestatiewinsten en meer mogelijkheden. Tegelijkertijd heeft men de modelreeksen flinke op de schop genomen. In dit artikel doen we de belangrijkste vernieuwingen uit de doeken en lees je over onze eerste ervaringen met topmodel Xeon Platinum 8180 server CPU met 28 cores.

De afgelopen jaren heeft Intel bijna het rijk alleen in de server markt. Concurrent AMD was compleet van de markt verdwenen en probeert vanaf dit moment weer enige comeback te maken. In het topsegment waar traditioneel mainframes werden ingezet heeft Intel nog wel enige concurrentie van bijvoorbeeld IBM's Power-architectuur en aan de onderkant proberen verschillende leveranciers over het algemeen met weinig succes op ARM architectuur-gebaseerde micro servers op de markt te brengen, maar voor vrijwel alle bedrijven die servers nodig hebben is Intel op dit moment de enige valide keuze. De hegemonie van Intel is zo groot dat we de afgelopen jaren in reviews van server platformen in principe enkel konden vergelijken met Intels vorige generatie. Hoewel er de afgelopen jaren dus weinig concurrentie was, is er voor Intel echter voldoende reden om te blijven innoveren. Allereerst omdat de wereldwijde vraag naar computing power onverminderd blijft toenemen; hoe meer hippe cloud-diensten er bedacht worden, hoe meer servers er nodig zijn om dat mogelijk te maken. Maar vooral ook omdat concurrentie altijd weer kan opbloeien; AMD gaat het nu weer proberen met haar Epyc-serie server-CPU's. Aan de andere kant van het spectrum zijn er tevens partijen als Nvidia die graag het evangelie prediken dat je voor moderne workloads als machine learning toch echt beter kunt investeren in krachtige GPU's dan CPU's. 

Bij de nieuwe generatie server-CPU's die Intel vandaag introduceert - Xeon Scalabale Processors als marketingnaam en Skylake-SP voor de techneuten - zet Intel technisch grotere stappen vooruit dan men de afgelopen jaren heeft gedaan. Tegelijkertijd heeft Intel de bezem gehaald door de productsegmentering en stappen we af van een Xeon E5-reeks voor dual-socket servers en Xeon E7-reeks voor quad-socket servers met extra RAS-features, naar een lijn BronzeSilverGold en Platinum-processors met telkens meer prestaties en meer mogelijkheden. Aan een selecte groep van de internationale techpers heeft Intel alle ins en outs van de nieuwe generatie bekend gemaakt en daarvan doen we in deze review verslag. Maar om maar meteen met de deur in huis te vallen; enkel de prijzen van de nieuwe CPU's hebben we tot het moment van het publiceren van deze review nog niet van Intel gehoord en boze tongen beweren dat de nieuwe segmentering direct gepaard gaat met een fikse prijsverhoging. Of dat inderdaad het geval is, zullen we als het goed is op korte termijn moeten kunnen beantwoorden.

In dit artikel zetten we de nieuwe eigenschappen van de Skylake-generatie Xeon-processors op een rij. Daarnaast hebben we ook al wat eerste tests kunnen uitvoeren op basis van een protype server met daarin tweemaal het topmodel uit de nieuwe reeks; de Xeon Platinum 8180 met 28-cores, waarmee we dankzij HypertThreading uiteindelijk dus van doen hebben met een server met 112 threads. Maar voordat we gaan kijken naar de prestaties, eerst een duik in de techniek.

Overigens is dit niet onze eerste kennismaking met de server-versie van Skylake. De recent geïntroduceerde Skylake-X high-end desktop processors zijn gebaseerd op de low core count (LCC) variant van de Skylake-SP chips, maar maakt gebruik van een andere socket en biedt beperkte functionaliteit, waaronder minder geheugenkanalen.

Xeon Scalable Series in een notendop

De nieuwe generatie Xeon-processors zijn gebaseerd op de Skylake-architectuur, die we inmiddels al een jaar kennen binnen laptops en desktops. Skylake is wat we vroeger een tock zouden noemen, een nieuwe microarchitectuur op een bestaand productieprocedé (14 nm) en biedt daarmee dus aanzienlijke prestatieverbeteringen. Voor het eerst sinds jaren zijn de cores zoals gebruikt in de server CPU's niet meer gelijk aan de cores zoals gebruikt in de chips voor consumenten. Zo heeft men voor de serverchips extra functionaliteit toegevoegd in de vorm van onder meer de AVX-512 instructieset en heeft men de L2- en L3-cache architectuur op de schop genomen. Over beide verderop meer. Het moet er voor zorgen dat iedere core in de nieuwste generatie Xeon-processors significant beter presteert dan de cores in de vorige generatie.

Maar de verbeteringen zitten niet in de cores an sich. Door een nieuwe chip-ontwerp, waarbij men is overgestapt van een ringbus naar een zogenaamde mesh-structuur kan men nu meer cores in één CPU plaatsen en zijn de verbindingen binnen de chip ook versneld. Ook de communicatie tussen meerdere CPU's in één server is opgeschroefd.

Kijken we naar de periferie binnen de CPU's dan heeft Intel allereerst het aantal geheugenkanalen per CPU verhoogd van vier naar zes. De maximale geheugensnelheid is ook opgeschroefd naar DDR4-2667. Daarnaast is ook het aantal PCI-Express lanes verhoogd, wat maakt dat het nieuwe platform ook op het vlak van I/O flinke stappen maakt. 

De al genoemde AVX-512 instructieset moet specifieke workloads in bijvoorbeeld de hoek van HPC en security-applicaties flink kunnen versnellen. De vernieuwde Intel QuickAssist-technologie in de bij het platform behorende chipset kunnen cryptografieworkloads aanzienlijk versnellen. Het maakt dat voor verschillende soorten workloads het nieuwe platform meer dan double digit prestatiewinsten kan zorgen.

Naast prestatieverbeteringen voor security-workloads als AES-encryptie of hashing zijn er ook vele nieuwe security-features toegevoegd. Daarnaast heeft Intel nieuwe features toegevoegd om de overhead bij virtualisatie verder te verkleinen en veiligheid in dergelijke omgevingen verder te vergroten.

De processors worden gecombineerd met een nieuwe reeks chipsets, de Intel C620 met codenaam Lewisburg. Deze PCH-chips bieden sowieso meer I/O dan de voorlopers en zijn verkrijgbaar in verschillende varianten, waaronder exemplaren met een geïntegreerde 4-poorts 10 Gigabit netwerkcontroller en modellen met geïntegreerde QuickAssist technologie voor het versnellen van cryptografieworkloads.

Het onderscheid tussen een specifieke serie voor 4 en 8 socket servers (E7) en dual-socket servers (E5) is er niet meer. Alle nieuwe Xeons maken gebruik van één en dezelfde processorvoet (Socket P) en afhankelijk van het type kunnen ze in dual-, quad- en zelfs octo-socket configuraties geplaatst worden, waarbij de nieuwe zogenaamde UPI bus zorgt voor de onderlinge communicatie. Deze opvolger van QPI werkt op snelheden tot 10,4 GT/s.

Intel noemt de nieuwe reeks CPU's zelf "de belangrijkste server launch in de afgelopen 10 jaar". Dat is een claim die we graag voor Intel zélf laten, maar één ding is zeker; bij deze Skylake generatie is er inderdaad veel meer nieuws te melden dan bij de afgelopen generatiea Broadwell en Haswell. 

Iets waar we in dit artikel niet dieper op in gaan, maar toch zeker genoemd mag worden, is dat Intel het hele ecosysteem rond haar serverplatform natuurlijk prima in orde heeft. Intel levert namelijk niet alleen de server-CPU's en bijhorende chipsets, maar ook zaken als netwerkcontrollers, SSD's en diverse soorten accelerators. En het blijft niet enkel van hardware; Intel heeft meer software- dan hardware-engineers in dienst, die bijvoorbeeld werken aan software libraries, developmenttools en compilers. Daarnaast laat Intel eigen medewerkers actief meeprogrammeren aan allerhande (open-source) server software. 

Modellen: Bronze t/m Platinum

De afgelopen jaren zijn er voor wat betreft de productsegmentering bij Intels Xeon processor weinig tot geen veranderingen geweest. Voor het populaire dual-socket segment had Intel de Xeon E5 reeks, en voor 4- en 8-socket servers voor mission critical workloads de duurdere Xeon E7 reeks. Binnen beide reeksen waren er modellen met uiteenlopende aantallen cores en andere eigenschappen. Modelnummers werden de afgelopen vier generaties (Sandy Bridge, Ivy Bridge, Haswell en Broadwell) gerecycled, met als gevolg dat de laatste generatie Xeon CPU's (Broadwell) bekend stond als Xeon E5 v4.

Het hele E5 en E7 onderscheid heeft Intel bij de nieuwe generatie overboord gezet en de nieuwe CPU's heten dan ook niet "v5". Bij de nieuwe generatie is er in principe nog meer één reeks processors, die wel onder verdeeld is in Bronze, Silver, Gold en Platinum segmenten. Alle processors maken dan ook gebruik van één en dezelfde processorvoet, Socket P genaamd. Afhankelijk van het segment zijn meer features, meer cores, een grotere schaalbaarheid, etc. beschikbaar. En hoewel we naar de prijzen nog steeds mogen gissen, moge het duidelijk zijn dat een hogere segmentering ook een hoger prijskaartje met zich meebrengt.

De topmodel Platinum-processors hebben de meeste cores en bevatten modellen met tot 28 stuks. Dankzij drie zogenaamde UPI-links, bedoelde om meerdere CPU's aan elkaar te knoppen, zijn de Platinum-processors geschikt voor dual-, quad- en octo-socket servers. De Platinum-processors bieden verder de hoogste geheugensnelheid (DDR4-2666) en met specifieke modellen ondersteunt met tot 1,5 TB geheugen per socket, waar 768 GB per socket het gebruikelijke maximum is. Verder bieden enkel de Platinum-varianten ondersteuning voor AVX-512 met twee ingeschakelde FMA (fused multiply add) poorten per core, waardoor er bij AVX-512 geschikte workloads de hoogste prestaties behaald kunnen worden. Daarnaast zijn enkel de Platinum-varianten voorzien van de meest geavanceerde RAS-features zoals we die tot nu toe kenden van de Xeon E7 reeks. Dat maakt de CPU's geschikt voor mission critical servers waar downtime niet mag voorkomen.

Binnen de Gold-reeks bestaan er twee varianten. De 61xx CPU's gaan tot 22 cores en kunnen dankzij 3 UPI-links in dual- en quad-socket configuraties geplaatst worden. De Gold 51xx reeks is op alle fronten een stapje minder; maximaal 14 cores, met twee UPI-links in principe enkel geschikt voor dual-socket configuraties, een lagere maximale geheugensnelheid (DDR4-2400) en AVX-512 met slechts 1 FMA. De toch opvallende verschillende tussen de twee Gold-series laten de nieuwe opzet toch weer een beetje mank lopen; het is alsof Intel vijf edelmetalen nodig had, maar er maar vier kon bedenken.

Met de Silver-reeks komen we toch duidelijk in het betaalbare segment. Deze CPU's gaan tot 12 cores, enkel voor dual-socket systemen, maximaal DDR4-2400 MHz en UPI op een wat lagere snelheid. Desalniettemin moeten deze CPU's voor veel workloads een prima prijs/prestatie-verhouding bieden. De Bronze-serie is er echt voor relatief goedkope instapservers. Hier gaat men tot 8 cores, maximaal DDR4-2133 geheugen en zijn zelfs zaken als de Turbo-modus en HyperThreading uitgeschakeld.

Dit alles resulteert in onderstaand overzicht van maar liefst 51 verschillende Xeon-modelnummers die Intel in eerste instantie op de markt gaat brengen. De modelnummer zijn als volgt te lezen; het eerste getal geeft de segmentering aan (8 = Platinum, 6 of 5 = Gold, 4 = Silver en 3 Bronze). Het tweede getal geeft de generatie aan; de huidige Skylake-chips hebben nu een 1, maar voor de volgende generatie Xeons zal Intel dezelfde modelnummering aanhouden en komt hier een twee. De twee volgende nummers geven het exacte processor type aan, waarbij hoger = beter. Achteraan kunnen nog letters komen voor extra functionaliteit, waarbij de M bijvoorbeeld staat voor de mogelijkheid om 1,5 TB geheugen per socket te plaatsen. Daarmee is het totaal aantal verschillende Xeon CPU's dus nog hoger dan 51.

In de lijst van SKU's zie we van alles wat. Het topmodel Xeon Platinum 8180 biedt 28 cores en werkt op een basisklokfrequentie van 2,5 GHz. Deze processor heeft net als de 24-core Xeon Platinum 8168 een TDP van 205W, waardoor Intel qua maximaal stroomverbruik duidelijk een stap omhoog zet ten opzichte van de vorige generatie. Maar ook op dat vlak is er voor elk wat wils, want de andere varianten lopen in TDP uiteen van 85W tot 200W. Voor workloads die meer schalen met klokfrequentie dan met aantal cores, of juist voor klanten die vast zitten aan perperdure per-core software licenties, biedt het aanbod ook diverse CPU's met hogere klokfrequentie en relatief laag aantal cores. Zo is er bijvoorbeeld de Xeon Gold 6144 met 8 cores op 3,5 GHz of de Xeon Gold 5122 met 4 cores op 3,6 GHz. Voor specifieke workloads die schalen met veel cache zijn er ook weer SKU's waar de hoeveelheid L3-cache per core groter is dan gebruikelijk. 

Zoals we op pagina 1 al schreven, missen we de prijzen nog. En dat maakt dat we in deze review wel al de eerste voorzichtige conclusies mogen trekken over de vooruitgang qua prestaties, maar over prijs/prestatie-verhoudingen feitelijk nog niks kunnen zeggen. 

Skylake architectuur

In de basis maken de Skylake-SP serverprocessors gebruik van dezelfde cores zoals we die al kennen van de Skylake processors uit laptops en standaard desktops. Intel heeft binnen de server-chips echter meer functionaliteit aan de cores toegevoegd, waarover meer op de volgende pagina's. De precieze verbeteringen in de cores bespraken we al eerder uitgebreid in onze Skylake-architectuur review, maar doen we hier nog eens in de herhaling.

Maar goed, terug naar Skylake zoals dat nu voor desktop- en laptop processors wordt geïntroduceerd. In de front-end van de CPU-cores heeft Intel, zoals eigenlijk iedere generatie, de branch predictor verbeterd. Moderne CPU's voeren de instructies van programmacode niet uit in de originele volgorde, instructies worden zoveel mogelijk parallel en in optimale volgorde uitgevoerd, om zo de verschillende execution units, de onderdelen van de CPU-cores waar daadwerkelijk berekeningen en bewerkingen worden uitgevoerd, bezig te houden. Bij vertakkingen in programmacode, zoals IF-THEN-ELSE-constructies, waarbij de benodigde variabelen nog niet bekend of berekend zijn, moet de processor een gok nemen welke aftakking vermoedelijk genomen wordt. Hoe beter de branch preditor, hoe minder vaak de verkeerde keuze gemaakt wordt en hoe minder vaak er instructies worden uitgevoerd die uiteindelijk helemaal niet nodig blijken.

Verder heeft Intel het aantal instructies dat een core in optimale volgorde in het vizier kan houden vergroot. Het zogenaamde out-of-order window is verhoogd van 192 instructies bij Haswell naar 224 bij Skylake. Dit alles dus om zo vaak en veel mogelijk alle execution units bezig te houden. Ook de prefetchers, het onderdeel van de CPU dat voorspelt welke data uit het geheugen nodig gaat zijn en dat al vooraf ophaalt en in L2- of L1-cache plaatst, is volgens Intel verbeterd, zonder dat verder toe te lichten.

Deze execution units in de backend van de cores hebben volgens Intel lagere latencies gekregen en er zijn meer execution units gekomen. Dat eerste duidt op een kortere pipeline voor bepaalde soorten instructies. Hoeveel execution units er precies zijn mogen we overigens wegens een embargoregeling pas bekendmaken zodra de Skylake gebaseerde Xeon-versies op de markt komen.

Nieuw ten opzichte van voorgaande generaties is dat execution units binnen een core wanneer niet gebruikt - bijvoorbeeld dus de floating point units, wanneer er enkel integer instructies gequeued zijn - uitgeschakeld kunnen worden om extra stroom te besparen. Daarnaast laat Intel weten dat de voor veel beveiligings- en encryptiesoftware benodigde AES-GCM en AES-CBC instructies met respectievelijk 17% en 33% versneld zijn.

Voor wat betreft de communicatie tussen de cores en het geheugen heeft Intel het onder meer over een betere L2-cache miss bandwidth, wat duidt op een snellere verbinding tussen de cores en wat we vroeger de L3-cache en nu de LLC ofwel last level cache noemen. Skylake bevat verder nieuwe instructies waarmee de verschillende caches beter beheerd kunnen worden. Volgens Intel is de HyperThreading technologie bij Skylake ook verbeterd.

Onderstaande afbeelding toont rechts wat kerngetallen van buffers en andere zaken die bij Skylake vergroot zijn. We hadden het al over het grote out-of-order window, maar bijvoorbeeld ook het aantal store operaties (instructies om data in het geheugen te plaatsen) dat tegelijkertijd verwerkt kan worden is flink verhoogd, net als het aantal instructies dat gelijktijdig door de scheduler verwerkt mag worden. Al deze onderdelen hebben stuk voor stuk een kleine bijdrage aan de verbeterde IPC.

De cores van de Skylake-processor bevatten verder een aantal nieuwe security technologieën. Zo is er bijvoorbeeld Intel Memory Protection Extensions, ofwel Intel MPX; een uitbreiding op de cores die aanvallen op geheugen-bufferoverflow moet tegengaan. Buffer overflows, waarbij meer data wordt weggeschreven dan oorspronkelijk de bedoeling was om zo data van andere software te overschrijven, is één van de meest gebruikte methodes voor soft- en hardwarehacks. Mode Based Execution (MBE) zorgt ervoor dat kernel-code binnen gevirtualiseerde systemen niet ineens met kwaadaardige code geupdate kunnen worden. Page Protection Keys (PPK) is een nieuwe technologie die nog meer moet beschermen dat de ene thread niet zomaar data van een andere thread uit het geheugen kan vissen. 

Mesh-architectuur en drie chipvarianten

Net als bij de vorige generatie Xeons heeft Intel onderliggende drie verschillende chipsoorten ontwikkeld, die men aanduidt met de termen XCC (eXtreme Core Count), HCC (High Core Count) en LCC (Low Core Count). De XCC variant bevat 28 cores, de HCC variant bevat 18 cores en de LCC variant bevat 10 cores. De manier waarop de processors zijn opgebouwd is fundamenteel anders als bij de vorige generatie. Waar Intel bij recente Xeon-versies gebruik maakte van een zogenaamde ringbus, communiceren de chiponderdelen bij de nieuwe Xeon-chips via een mesh netwerk.

De ringbus deed officeel voor het eerst zijn intrede in 2010 bij de Sandy Bridge generatie processors, al werd 'ie naar verluid in datzelfde jaar ook al gebruikt bij de Nehalem EX high-end server processors. Bij deze generatie had Intel serverprocessors met een maximum van 8 cores. De ringbus maakte het voor Intel relatief eenvoudig om chips met meer of minder cores te ontwerpen, doordat men extra cores met daaraan gekoppeld een stuk L3-cache als het ware als plakjes in een chipontwerp kon invoegen. De ringbus verbond alle onderdelen van de chip met elkaar. Deze ringbus werkt als een soort treinbaan met stations bij iedere core. Data kan via dit bidirectionele spoor van het ene chiponderdeel naar het andere verstuurd worden, waarbij transport van ieder station naar de volgende halte één klokslag in beslag neemt.

De laatste jaren is het aantal cores binnen Intels server processors geëxplodeerd. De bestaande Broadwell-generatie Xeon E5 v4 processors bieden tot 24 cores en zodoende moest men bij de laatste twee generaties zelfs al trucs uithalen door twee ringbussen te implementeren die via speciale knooppunten met elkaar verbonden worden. Die knooppunten hebben weer een extra latency van vijf klokslagen, wat maakt dat in het ergste geval - wanneer de core linksonder in de chip data nodig heeft uit het L3-cache geheugen dat is gekoppeld aan de core rechtsbovenin - er een latency is van maar liefst 14 klokslagen. Met nóg meer cores, wat Intel voor de huidige Skylake-generatie Xeon-processors uiteraard van plan was, zou de ringbus uiteindelijk te beperkend zijn geworden voor de prestaties..

Waar Intel bij de op desktops en laptops gerichte Skylake processors (met maximaal vier cores) nog steeds gebruik maakt van een ringbus, is dit voor Skylake server CPU's, waarbij men het aantal cores opnieuw wil verhogen, niet meer haalbaar. Vandaar dat Intel voor de nieuwe generatie server-CPU's is overgestapt op een nieuwe methode. Binnen de verschillende uitvoeringen van de Skylake server-chips zitten de cores in een soort Matrix-structuur, als een soort schaakbord dus, aan elkaar. Over dit schaakbord heeft men communicatielijnen aangebracht, zoals in horizontale richting als in verticale richting. Via dit zogenaamde mesh-netwerk van communicatiekanalen kunnen de verschillende onderdelen van de chip communiceren, waarbij opnieuw iedere halte één klokslag latency met zich mee brengt. Doordat er nu veel meer communicatiekanalen in de chip zitten dan één of twee ringbussen, is de totale bandbreedte waarmee de chiponderdelen onderling kunnen communiceren aanzienlijk toegenomen.

Het chipontwerp is nog altijd modulair; tussen de cores plaatst Intel links en rechts de geheugencontrollers en alle overige zaken, zoals PCI-Express controller en de verbindingen door communicatie met andere sockets worden bovenin de chip geplaatst. Zolang het aantal cores (minus twee voor de geheugencontrollers) maar in zo'n matrix past, kan Intel eenvoudig varianten met meer of minder cores produceren. Het maakt dat de 28-core XCC-variant gebruik maakt van een 6x6 mesh indeling, de 18-core variant van een 4x6 indeling en de 10-core variant van een 4x4 indeling.

In alle gevallen geldt dat data per klokslag één stap kan worden getransporteerd over het mesh-netwerk. Enkel op de plekken waar de aanknopingspunten van de caching en home agent verder van elkaar zitten (concreet tussen cores in kolom 2 en 3 en bij de XCC-variant ook tussen kolom 4 en 5 is en een hogere latency van 3 klokslagen. Het maakt bij de XCC-variant dat data uit het L3-cache die gekoppeld aan de core in één van de uithoeken van de chips met een latency van 13 klokslagen bij de core in de andere uithoek van de chip kan uitkomen. 

Wat in de overzichten duidelijk te zien is, is dat alle drie de chipvarianten een 6-channel DDR4-geheugen controller hebben en 48 PCI-Express 3.0 lanes bieden. Het is echter enkel het XCC-model dat bovenin controllers voor een drietal UPI-lanes biedt. De 18-core en 10-core chipvarianten bieden slechts twee UPI-lanes en zijn daarmee niet geschikt voor 8-socket systemen en minder geschikt voor 4-socket configuraties, aangezien dan niet alle CPU's rechtstreeks met elkaar verbonden kunnen zijn. 

Intel geeft overigens aan dat het Mesh-netwerk op een wat lagere klokfrequentie werkt dan de oude ringbus. Een hogere bandbreedte en lagere latencies moeten ervoor zorgen dat de communicatiesnelheid tussen verschillende chiponderdelen alsnog sneller is dan bij de vorige generatie Xeon-processors.

Nieuw: AVX-512 en nieuwe cache indeling

Hoewel de cores binnen de Skylake-SP processors in principe oude bekenden zijn, zijn er twee essentiële verschillen ten opzichte van de Skylake-cores zoals gebruikt in de consumentenprocessors, zoals de Socket 1151 Skylake-chips. De server-varianten van de cores bieden ondersteuning voor AVX-512-instructies én hebben een nieuwe cache opbouw. 

AVX-512 is de opvolger van AVX 2.0. Waar bij AVX 2.0 voor het eerste instructies op 256-bit data in één keer kon worden uitgevoerd, kan bij AVX-512 instructies direct worden uitgevoerd op 512-bit data. AVX-512 biedt naast een flink aantal nieuwe instructies en bestaande registers die zijn vergroot naar 512-bit ook een groot aantal nieuwe registers. In totaal kan er 8 keer meer data direct bij de execution units in de registers worden opgeslagen dan in de tijd dat SSE de nieuwste instructieset-uitbreiding was. Daarnaast zijn er extra registers toegevoegd voor maskerings instructies en bevat AVX-512 allerhande nieuwe instructies om uiteenlopende algoritmes te kunnen versnellen.

Om bij AVX512 eenzelfde hoeveelheid instructies per klokslag te kunnen verwerken is er aan de cores een extra FMA execution unit toegevoegd, die overigens zoals we op pagina 3 van dit artikel hebben gezien niet bij alle uitvoeringen in de nieuwe Xeon-reeks is ingeschakeld. Kies je voor zo'n variant met twee FMA-units, dan kunnen de Skylake-SP processors met alle binnen de cores aanwezige execution units tot 64 single-precision (32-bit) of 32 double-precision (64-bit) floating point instructies per core, per klokslag uitvoeren, dubbel zoveel als bij Haswell en Broadwell. 

Aangezien de AVX-512 instructies wel een ongekend hoge load binnen de cores genereren, hebben schakelen de nieuwe Xeon processors wanneer programmathreads van AVX-512 gebruik maken over naar andere, lagere klokfrequenties en turbo-waardes. Die gebeurde sinds de vorige generatie ook al voor AVX 2.0-instructies. Het maakt dat er nu in principe drie frequentieregimes zijn, voor normale code, AVX 2.0-code en AVX-512-code. Dit wordt per core afzonderlijk geregeld. Dat maakt dus dat wanneer de core X in de weer is met AVX-512 code en core Y niet, dat eerst genoemde op de lagere klokfrequenties zal gaan werken en de tweede op de hogere, standaard klokfrequenties.

De lagere klokfrequenties maakt dan natuurlijk ook dat er in de praktijk geen verdubbeling van de prestaties zal plaatsvinden. Onderstaande slide uit Intels presentatie maakt dat duidelijk aan de hand van de Linpack benchmark waarin relatief simpele matrix-berekeningen worden uitgevoerd. Linksbovenin zien we welke scores er behaald kunnen worden met de SSE4.2 (64-bit), AVX (128-bit), AVX2 (256-bit) en AVX-512 (512-bit) versies van deze workload. Het is telkens net geen verdubbeling en dat komt doordat de klokfrequentie waarop de cores in dit geval gaan werken (te zien aan het blauwe lijntje) daalt. Wat we daarmee wel moeten opmerken; het stroomverbruik blijft ruwweg gelijk, waardoor de opeenvolgende AVX-varianten zoals in de rechter twee grafiekjes niet alleen de prestaties op dezelfde klokfrequentie flink laten toenemen, maar ook een zeer positieve invloed hebben op de prestaties per Watt.

Naast de toegevoegde instructieset is dus ook de cache-indeling gewijzigd. Al sinds de 1e generatie Core-processors kiest Intel er bij zijn architecturen voor om iedere CPU-kern 256 kB eigen L2-cache te geven. Daarnaast bevatten de CPU's altijd een flinke, tussen alle cores gedeelde L3-cache, die bij de laatste generaties server CPU’s (Broadwell-E) 2,5 MB per core besloeg en dus bij het voormalig 22-core topmodel neerkwam op 55 MB. Hoewel de L3-cache gedeeld wordt door alle cores, is deze dus wel verdeeld over alle cores. Wanneer een core data nodig heeft uit een bepaald segment moest deze vroeger via de Ringbus en tegenwoordig via het Mesh-netwerk worden opgevraagd. Cores kunnen niet rechtstreeks data uitwisselen, maar doen dat altijd via de L3-cache.

Deze L3-cache was tot aan de vorige generatie inclusive, wat betekent dat alle data die in de per core specifieke L2-cache werd geplaatst, ook in L3 moest staan. Het voordeel van die opzet is dat wanneer core A data nodig heeft van core B, deze altijd direct is terug te vinden in de gedeelde cache. Er hoeft dus niet eerst een verzoek te worden doorgestuurd om de data van de eigen L2-cache naar de gedeelde L3-cache te kopiëren. Een ander voordeel is dat het coherent houden van caches eenvoudig is. Wanneer meerdere cores werken aan dezelfde data en één ervan doet een aanpassing, wordt die direct in L3 verwerkt. Op basis daarvan kunnen de andere cores heel snel bepalen of zij wellicht data in hun eigen L2-cache hebben staan die niet meer up-to-date is. Een nadeel van een inclusive cache is echter dat de totale hoeveelheid data die gecached kan worden kleiner is: van de 55 MB L3-cache bij het 22-core topmodel Xeon E5 v4 processor was altijd 5,5 MB een kopie van de data in de 22 256 kB L2-cache segmenten.

Bij Skylake-SP heeft Intel de cache-architectuur drastisch op de schop genomen. De hoeveelheid eigen L2-cache die iedere core tot z’n beschikking heeft is verviervoudigd van 256 kB naar maar liefst 1 MB. Dat betekent dat alle cores veel meer data ‘dicht bij huis’ kunnen houden om bewerkingen mee te doen. De L2-hitrate, ofwel de kans dat data die een core nodig heeft in de eigen cache staat, wordt daarmee flink hoger, wat de prestaties uiteraard doet toenemen. Hier staat wel tegenover dat de L2 cache-latency met twee klokslagen is toegenomen, wat neerkomt op een toegangstijd die met zo'n 20% is toegenomen. De gedeelde L3-cache is daarentegen afgenomen naar 1,375 MB per core, en dus 38,5 MB bij het topmodel Xeon Platinum processor met 28 cores. De cache is echter niet langer inclusive, zodat niet langer een gedeelte verloren gaat aan het opslaan van een kopie van alle data in L2-caches. Dat betekent dat de volle 13,75 MB gebruikt kan worden voor data uitwisseling tussen cores, met als prijs dat de caching-algoritmes door de exclusive opzet wel een stuk ingewikkelder zijn geworden. De gemiddelde latency voor de L3-cache is bij Skylake-X ook wat toegenomen, maar dat komt primair door het grotere aantal cores in de CPU's. 

Intel geeft aan dat de nieuwe cache-architectuur voor aanzienlijke prestatiewinsten kan zorgen. Een van de achterliggende gedachte is vermoedelijk dat krachtige Xeon CPU’s meer en meer voor virtualisatie worden toegepast, waarbij er meerdere software-installaties op één CPU draaien, die elk gebruik maken van enkele ‘eigen’ cores. Het uitwisselen van data tussen cores is in een dergelijke situatie minder van belang, terwijl het versnellen van single-core performance een flink voordeel kan bieden. Onderstaande grafiek toont, op basis van Intels eigen metingen, welk effect de aanpassing van de cache-groottes heeft op het aantal cache-misses in de verschillende onderdelen van de industrie-standaard Spec CPU2006 benchmark. We zien dat de vier keer zo grote L2-cache er voor zorgt dat het aantal keren dat benodigde data niet direct beschikbaar is vanuit de L2-cache wordt gereduceerd waardes variërend van 95% tot zelfs slechts 35% van de keren in vergelijking met Broadwell-E processors met slechts 256 kB L2-cache per core. Doordat de L3-cache kleiner is, is de kans op cache-misses daar in theorie natuurlijk groter, maar aangezien software door de grotere L2 überhaupt minder vaak gebruik hoeft te maken van L3-cache lijkt dat effect ook beperkt en blijkt er, in deze Spec CPU2006 benchmark, in de praktijk maximaal een stijging van circa 10% in L3-cache misses te ontstaan volgens Intel.

Interessant is dat Intel de transistors die benodigd zijn voor de AVX512 executions units en de 768 kB extra L2-cache buiten het oorspronkelijke core-ontwerp heeft geplaatst. Het maakt dat de intrinsieke Skylake-cores zoals aanwezig in de Skylake-SP processors aanwezig geheel identiek zijn aan de Skylake-cores van andere processors, maar dan met andere functionaliteit rondom toegevoegd.  

 

Zes geheugenkanalen en snellere inter-CPU communicatie

Één van de belangrijkste verschillen tussen de nieuwe Skylake-SP server CPU's en hun voorgangers is dat de nieuwe chips een zes-kanaals DDR4-geheugencontroller hebben. Deze is binnen de CPU verdeeld over twee geheugencontrollers die beide drie kanalen door hun rekening nemen. De maximale geheugensnelheid is verhoogd naar DDR4-2667, wat overigens behaald kan worden met zowel één als twee DIMM-modules per kanaal. Het plaatsen van drie DIMM's per geheugenkanaal, wat bij de vorige generatie Xeon-chips met speciale LRDIMM's nog mogelijk was, kan bij Skylake-SP niet meer. Daar moeten we wel tegenoverstellen dat bij Broadwell de maximale geheugensnelheid drastisch afnam bij het plaatsen van meerdere DIMM's per kanaal; van DDR4-2133 bij één DIMM per kanaal, via DDR4-1866 bij twee DIMM's per kanaal naar slechts DDR4-1600 bij drie DIMM's per kanaal.

Met 64GB geheugenmodules is het mogelijk om 768 GB geheugen per socket te plaatsen. Een aantal van de Xeon Platinum varianten ondersteunt zelfs de mogelijkheid om 128 GB DIMM's te plaatsen, wat je de mogelijkheid biedt om 1,5 TB geheugen per socket te plaatsen en dus een dual-socket server uit te voeren met 3 TB geheugen. Dit is ruim 60% meer dan de maximale hoeveelheid geheugen per socket bij de vorige generatie. Hoewel dit natuurlijk een bijzonder interessant kostenplaatje met zich mee zal brengen, biedt het wel nieuwe mogelijkheden voor workloads waar extreme geheugenhoeveelheden noodzakelijk zijn om goede prestaties te halen, zoals bijvoorbeeld large-scale in-memory databases.

Voor de onderlinge communicatie tussen de verschillende Xeon-processors gebruikte Intel tot de vorige generatie de QPI bus (Quick Path Interconnect). Deze is bij de nieuwe Xeon CPU's ingewisseld voor UPI (Ultra Path Interconnect), een doorontwikkeling met hogere snelheden en een lager stroomverbruik. Die hogere snelheid is nodig om te inter-core bandbreedte mee te laten stijgen met de hogere geheugenbandbreedte. Indien een core immers data nodig heeft uit de cache van een andere CPU of het geheugen dat is gekoppeld aan een andere CPU, moet deze data via UPI tussen de CPU's onderling getransporteerd worden. De UPI-bussen bieden tot 10,4 Gigatransfers per seconde, tegen 9,6 bij QPI. Dit wordt primair behaald door een efficiëntere gegevenscodering.

Afhankelijk van het model (zie pagina 3) hebben de Xeon Platinum processors drie of twee UPI lanes. Bij dual-socket servers zijn beide CPU's altijd met minimaal twee UPI-lanes verbonden, maar kan de eventuele derde UPI-link gebruik maken voor een snellere inter-CPU communicatie. Bij quad-socket configuraties maakt de aanwezigheid van de derde UPI-link wel echt een verschil; alleen dan zijn alle vier CPU's onderling direct met elkaar verbonden, zoals te zien in onderstaand schema. Varianten met twee UPI-links kunnen in quad-socket systemen geplaatst worden, maar dan kan het zijn dat er twee hops nodig zijn tussen twee CPU's, wat maakt dat de gemiddelde L3-cache en geheugen latency flink toenemen. 8-socket configuraties zijn sowieso enkel mogelijk met CPU's met drie UPI-links.

Geïntegreerd volume management

Een nieuwe feature binnen de Skylake-SP processors die zeker niet onbesproken mag blijven is dat de CPU's geïntegreerd volume management van aan de CPU-verbonden PCI-Express SSD's kunnen doen. Deze geïntegreerde VMD kan NVMe SSD's samenvoegen in opslagvolumes en basis vormen voor RAID-technologies. Hiermee neemt de processor met ingebouwde hardware de taak over die in oude SAS/SATA-tijd een professionele RAID-controller zou hebben en tegenwoordig juist softwarematig door het besturingssysteem wordt genomen. Doordat VMD op hardwareniveau draait en in een laag onder het besturingssysteem, zouden volgens Intel betere prestaties, betere betrouwbaarheid en betere compatibiliteit met PCI-Express gebaseerde SSD's geboden moeten kunnen worden. VMD is per 4 PCI-Express lanes in de BIOS van servers in en uit te schakelen.

Stroombesparing en overige vernieuwingen

Zoals bij iedere nieuwe generatie server-processors heeft Intel ook Skylake-SP opnieuw flink geïnvesteerd in het zo efficiënt mogelijk laten werken van de CPU's en tegelijkertijd het integreren van een zo goed mogelijk stroommanagement. 

Op het vlak van efficiëntie zijn een aantal zaken te noemen. Allereerst zorgt de vergrote L2-cache er natuurlijk voor dat cores minder vaak data uit L3-cache of het geheugen hoeven te halen. Dat maakt dat databussen binnen de processor (het mesh netwerk) of tussen twee processors in (UPI) minder vaak hoeven te worden gebruikt. Wanneer data binnen de L2-cache als privé wordt aangemerkt, hoeft deze ook niet naar L3 gekopieerd te worden en is er minder intra- en interchip verkeerd nodig om de coherentie van caches te garanderen. Minder belasting op de interconnects zorgt natuurlijk voor een betere energie-efficiëntie. 

Wat ook genoemd mag worden is dat Intel de Skylake server-processors van een geïntegreerde voltage regulator heeft voorzien, zoals Intel dat op de desktop en bij laptops ook deed bij de Haswell generatie, maar wegens omstandigheden bij de desktop en laptop Skylake-chips weer tijdelijk overboord heeft gegooid. Door de voltage regulator van het moederbord naar de processor te verplaatsen, kan deze veel nauwkeuriger de door de chip gewenste spanningen verzorgen wat opnieuw een positieve uitwerking heeft op de energie-efficiëntie. Het gerucht gaat overigens dat de geïntegreerde VR bij een volgende generatie desktop/laptop chips weer terug gaat keren.

Verder wordt het gehele TDP-budget gedeeld door de cores, de "uncore"-elementen binnen de CPU (L3-caches, mesh-netwerk, ...) en de verbindingen naar buiten (geheugencontroller, PCI-Express controller en UPI-controller). Het maakt dat niet alle chip-onderdelen afzonderlijk worden beperkt met een TDP-budget, maar dat afhankelijk van welke onderdelen de hoogste belasting er geschoven wordt met stroombudgetten. 

Aan het power management is bij de Skylake generatie serverprocessors ook flink gesleuteld en één van de belangrijkste vernieuwingen kennen we al van de desktop-varianten; de SpeedShift-technologie. Bij alle bestaande Xeon server-CPU's is het besturingssysteem verantwoordelijk voor de keuze van de zogenaamde P-states, waarbij het OS dus aangeeft of een processor op volle snelheid (lees: maximale (turbo)klokfrequentie) of juist op lagere snelheid moet worden werken. Dankzij SpeedShift kunnen de nieuwste generatie Xeon-CPU's dit zelf, autonoom doen. Het voordeel van dit hardwarematig doen is dat er veel sneller geschakeld kan worden. Intel heeft het over ordegrootte 1 ms via Speed Shift versus ordegrootte 30 ms op conventionele wijze via het besturingssysteem. Dat betekent aan de ene kant dat de processor veel sneller op topsnelheid is wanneer een zware taak wordt gestart, wat juist in workloads waar een zo kort mogelijke latency voor berekeningen wordt vereist een groot pluspunt is. Daarnaast wordt ook veel sneller teruggeschakeld, wat een positief effect heeft op het stroomverbruik.

Wat in dit kader ook belangrijk is te noemen, is dat de geïntegreerde Turbo-modus bij de nieuwe Xeons ook is verbeterd. De laatste paar generaties hebben de CPU's een Turbo-modus die er voor zorgt dat wanneer slechts één of enkele cores gebruikt worden en de overige cores idle zijn, de actieve cores op een hogere klokfrequentie gaan werken. Traditioneel wordt de hoogste klokfrequentie enkel behaald wanneer slechts één of twee cores actief zijn en bij de meeste bestaande Xeons neemt de klokfrequentie met 100 MHz af per extra actieve core, tot de basisklokfrequentie bereikt is. Bij de Xeon Platinum varianten worden de tussen-frequenties volgens Intel langer vastgehouden. Hoe dat exact zit is op het moment van schrijven echter nog koffiedik kijken; een complete lijst met klokfrequenties per aantal actieve cores kon Intel ons op het moment van schrijven nog niet leveren voor de nieuwe modellen.

Verder hebben de Skylake processors meer power domeinen, die onafhankelijk qua voltage en frequentie geregeld kunnen worden. Dat maakt dat onder meer alle in Skylake-SP geïntegreerde cores als ook alle L3-cache segmenten onafhankelijk van elkaar qua klokfrequentie en voltage bijgestuurd kunnen worden. De power gating, ofwel het elektrisch volledig uit kunnen schakelen van chiponderdelen is verder verbeterd en kan tot op kleinere chiponderdelen gebeuren.  

Lewisburg chipset

De nieuwe Xeon Scalable processors worden zoals geschreven gecombineer met een nieuwe generatie chipsets, luisterend naar de naam Intel C620 serie, codenaam Lewisburg. De PCH-chip biedt uiteraard zaken als legacy I/O als ook moderne I/O (USB 3.0, SATA, ...) en alle functionaliteit benodigd om een systeem op te starten. Nieuw is de Intel Innovation Engine, een gestandaardiseerd hardware platform, waarop server-fabrikanten als Dell en HP hun managementfirmware kunnen draaien. Verder zijn er varianten van de chipset met geïntegreerde 10 Gigabyte netwerkcontroller en Intel QuickAssist accelerators die bepaalde soorten taken/workloads kunnen versnellen.

Om met de basisfunctionaliteit te beginnen. De Lewisburg chip biedt 25 flexibele I/O-lanes, waarvan er maximaal 10 kunnen worden ingezet voor USB 3.0, maximaal 14 voor Serial ATA 600 en maximaal 20 voor extra PCI-Express 3.0 lanes, bijvoorbeeld geschikt voor het aansluiten van PCI-Express gebaseerde SSD's of bijvoorbeeld netwerkcontrollers. Één flexibele I/O-lane kan worden ingezet als geïntegreerde Gigabit-netwerkcontroller, wanneer gecombineerd met een geschikte physical layer chip. Verder is er ondersteuning voor TPC 2.0 en ondersteuning voor NVMe SSD's.

De verbinding van de chipset met de processor gebeurt standaard via een DMI-verbinding, welke is gebaseerd op PCI-Express 3.0 x4. Bij verschillende varianten van de chipset is het echter ook mogelijk om daarnaast nog een extra PCI-Express 3.0 x16 én een extra PCI-Express 3.0 x8 uplink naar de processor te hebben. Dat heeft er alles mee te maken dat verschillende uitvoeringen van de chipset extra functionaliteit aan boord hebben die een veel grotere bandbreedte vereist dan de standaard DMI-bus kan bieden. Dankzij de extra uplinks is het in potentie zelfs mogelijk om de chip tegelijkertijd met twee CPU's te verbinden. In een multi-socket server is het overigens ook prima mogelijk om meerdere Lewisburg chips te implementeren.

De belangrijkste extra functionaliteit die in meerdere Lewisburg-varianten terug te vinden is, is een geïntegreerde viervoudige 10 Gigabit netwerkcontroller. Daarnaast bestaan er zoals geschreven varianten met een geïntegreerde QuickAssist controller welke hardwarematig onder meer SSL-encryptie en compressie volgens het LX77 protocol kunnen doen. Dit kan bijvoorbeeld erg interessant zijn voor https-webservers, waar alle verbindingen via SSL-gecodeerd kunnen worden. Eind vorig jaar publiceerden onze collega's van ServeTheHome een test waarin werd bewezen dat QuickAssist, destijd nog uitgevoerd als losse uitbreidingskaart, eenvoudig voor coderingstaken de rekenkracht van tientallen CPU-cores kan evenaren.

Een geheel nieuw onderdeel van de chipset is de genoemde Intel Innovation Engine. Dit is de opvolger van de Intel Management Engine die al sinds jaar en dag in de Intel chipsets beschikbaar is. De ME-engine biedt low-level system management features, maar tot nu toe was dit gebaseerd op eigen Intel-code en dus alleen te gebruiken met Intels eigen utilities. Wat je in de regel zag was dat serverbouwers als HP en Dell eigen functionaliteit hiervoor integreerden met extra controllerchips, wat de kosten van een server weer liet oplopen en er in de praktijk voor zorgde dat er in feite twee vergelijkbare functionaliteiten in de server aanwezig waren. Bij de Innovation Engine levert Intel puur de hardware en stelt men deze voor het eerst open voor de OEM-partners. Zodoende kunnen de Dells en HP's van deze wereld hun management-firmware gebruik laten maken van de in de Intel chipset geïntegreerde controller, zodat daar geen losse chips meer voor nodig zijn. Voor de duidelijkheid; de Innovation Engine is ene optionele functionaliteit en het is aan een OEM om deze wel of niet te gebruiken. De Innovation Engine is gebaseerd op een Intel Quark x86-core met 1.4MB SRAM.

Onderstaand schema toont een overzicht van alle varianten in de Intel C620 chipset serie.

Prestaties volgens Intel

Voordat we over gaan naar onze eigen eerste ervaringen met het nieuwe serverplatform, eerst nog wat data die Intel met ons deelde over te verwachten prestaties. Allereerst geeft men aan dat de Skylake-architectuur zonder nieuwe zaken als AVX-512 instructies meegerekend een IPC-verbetering van zo'n 10% bewerkstelligd. Dat is in lijn met wat wij in eerdere tests op basis van consumenten Skylake-CPU's ook hebben gezien. Met de verschillende nieuwe generaties zou de IPC de afgelopen 10 jaar verdubbeld moeten zijn. Andere verbeteringen, zoals nieuwe instructiesets, maakt dat de single threaded prestaties van server CPU's de afgelopen tien jaar met bijna een factor vier zijn toegenomen. In diezelfde periode is het aantal cores in servers natuurlijk ook toegenomen. In de multithreaded SPECint_rate 2006 benchmark haalt een nieuwe Skylake-SP gebaseerde server een 41x hogere score dan een destijds state-of-the-art server in 2006.

Terug naar het nu; onderstaande grafiek toont de relatieve prestaties van een dual-socket server op basis van twee Skylake-SP gebaseerde Xeon Platinum processors versus een dual-socket server met de twee topmodel Xeon E5 Broadwell-E processors van vorig jaar. Gemiddeld belooft Intel 1,65x betere prestaties. Dit is opgebouwd uit meer cores, hogere klokfrequenties, nieuwe instructies als AVX-512, de nieuwe cache indeling en alle andere vernieuwingen in Skylake-SP. De Linpack benchmark scoort het hoogst, te verklaren doordat deze compleet gebruik kan maken van AVX-512.

In het quad-socket segment is de gemiddelde prestatiewinst 50% volgens Intel, wanneer het topmodel Xeon Platinum, de 8180, wordt vergeleken met een 4-way configuratie van topmodel Broadwell-EX, de Xeon E7-8890 v4.  Hierbij moeten natuurlijk ook niet vergeten dat niet alleen het aantal cores en de klokfrequenties flink zijn gestegen bij de nieuwe generatie Xeons, maar ook de TDP's. Topmodel Xeon Platinum 8180 heeft een TDP van 205W tegen een TDP van 145W bij het topmodel uit de Broadwell-EP reeks, de Xeon E5 2699 v4. Voor dat extra power budget mag je uiteraard ook betere prestaties verwachten. 

Een van de meest voorkomende gebruiksdoelen voor server is natuurlijk webserving. Ook in veel gebruikte web software stack belooft Intel met het nieuwe platform prestatiewinsten variërend van 40% tot 58% wanneer een server met topmodel Broadwell-EP processors wordt ingewisseld voor een server met topmodel Skylake-SP processors. Voor één generatie is dit een gigantische stap vooruit en dat is dan ook één van de redenen waarom Intel dit de belangrijkste nieuwe server-architectuur van het afgelopen decennium noemt.

Testplatform

Voor deze review gingen wij aan de slag met twee Xeon Platinum 8180-processors, het topmodel uit de reeks met 28 cores, een standaard klokfrequentie van 2,5 GHz en een TDP van 205W. In de tests vergelijken we de CPU met directe voorloper Xeon E5 2699 v4 Broadwell-E (22c, 2,2 GHz, 145W). 

Voor de test maakten we gebruik van een prototype Intel-server opgebouwd rond een Intel S2600WF moederbord met Intel C620 chipset. Onder testserver was voorzien van 12x 32GB Micron DDR4-2667 geheugen, in totaal 384 GB geheugen. De door Intel geleverde testserver voorzagen we zelf van van een Intel DC S3500 240 GB enterprise grade server SSD. Overigens zijn al onze benchmarks ofwel CPU- ofwel geheugen-gelimiteerd, zodat het type opslag geen effect heeft op de resultaten.

Wegens de beperkte tijd voor deze review kunnen we op dit moment slechts een beperkte set benchmarks tonen. Desalniettemin geven onze tests een mooie eerste indruk van het prestatienieau.

Onder Windows Server 2016 hebben we meerdere benchmarks gedraaid, waarvan een aantal gericht op HPC-doeleinden. Een uitvoerige database benchmark draaiden we onder CentOS 7, gebaseerd op Redhat Enterprise Linux 7. Ten slotte draaiden we nog een aantal andere Linux-gebaseerde server benchmarks uit de Phoronix Test Suite op Ubuntu Server 16.04.2 LTS.

 

Benchmarks Windows Server 2016

Onder Windows Server 2016 hebben we diverse benchmarks gedraaid.

3D-rendering; Cinebench

Hoewel in de regel meer een workstation dan een server workload, hebben we een tweetal 3D-rendering tests gedraaid. De reden is tweeledig; allereerst weten benchmarks als Cinebench en PovRay over het algemeen als geen ander het onderste uit de kan te halen qua processorprestaties. Verder zijn ze goed multithreaded. Uiteraard is 3D rendering ook geregeld wél een taak waar servers voor worden ingezet, zij het met andere software. Denk aan de beroemde films van bijvoorbeeld Pixar en Dreamworks, waar rijen vol met servers weken, zo niet maanden lang op aan het zwoegen zijn.

Hierbij moeten we wel aantekenen dat de workload van Cinebench 15 voor servers van het kaliber als de door ons getest 56-core Skylake-SP inmiddels veel te simpel is en binnen een paar seconden voltooid wordt. Naar verluidt werken de makers van Cinebench dan ook aan een nieuwe versie met een zwaardere workload. Door de korte duur van Cinebench 15 fluctureren de prestaties flink en betwijfelen we of überhaupt alle cores wel volledig belast worden. Hoe dan ook meten we een zeer indrukwekkende 51% prestatiewinst bij de twee Xeon Platinum 8180 processors ten opzichte van de topmodel Xeon E5 v4 processors.

3D-rendering; PovRay 3.7

In PovRay 3.7 hebben we de officiële benchmark gedraaid in 1920x1080 met AA ingeschakeld. Hoewel PovRay om onduidelijke redenen weigert te schalen naar de 112 virtuele cores van de Skylake-SP server en zodoende draait met 56 threads, zien we alsnog dat de workload in 30% minder tijd wordt afgerond dan bij de topmodel processors uit de vorige generatie.

Financial Analysis; SiSoft Sandra

In de de SiSoft Sandra benchmark zitten een drietal financiële analyse benchmarks die goed naar een groter aantal cores schalen. Binnen de Sandra benchmark wordt ook de toekomstige waarde van aandelenportefeuilles berekend, met drie verschillende veel gebruikte methodes; Black Scholes, Monte Carlo en Binomial.

In Black Scholes meten we een prestatietoename van 52% en dat is opnieuw voor een generatie-op-generatie winst zeer indrukwekkend te noemen. Bij de Monte Carlo algoritme vinden we een nog grotere prestatiewinst van maar liefst 73%. Bij het Binomial algoritme blijft de winst beperkt tot 29%.

Cryptografie; SiSoft Sandra

De SiSoft Sandra benchmark bevat een tweetal cryptografiebenchmarks. Via de benchmark meten we hoe snel processors data via AES256 kunnen versleutelen. Hiervoor wordt overigens gebruik gemaakt van Intels nieuwe AES-NI instructies. Een tweede benchmark toont aan hoe snel hashes middels het SHA algoritme bekend kunnen worden. 

We hebben de nieuwste versie van Sandra gebruikt, waarbij de SHA-benchmark uitgevoerd wordt met zowel een AVX2 als een AVX-512 geoptimaliseerd algoritme. Dat laatste lijkt in de praktijk nog niet helemaal lekker uit de verf te komen, aangezien we met AVX-512 een nipt lagere score krijgen dan met AVX2. Wellicht dat er nog een softwarematige optmalisatie moet plaats vinden. Met AVX2 zien we echter een keurige prestatiewinst van 40% ten opzichte van de vorige generatie. Bij de AES256 encryptie blijkt dat de AES-NI verwerking ook duidelijk sneller gaat, natuurlijk mede door de extra cores en hogere klokfrequentie. We meten een 51% hoger prestatieniveau dan bij de vorige generatie. 

Geheugenbandbreedte; SiSoft Sandra

Met behulp van SiSoft Sandra hebben we tevens de geheugenbandbreedte gemeten.We zien dat het snellere DDR4-2667 geheugen en de stap omhoog van 8 geheugenkanalen naar 12 geheugenkanalen in een dual-socket server de geheugen bandbreedte laat toenemen van 105 GB/s naar ruim 170 GB/s. 

Kijken we naar de gemiddelde toegangstijd voor het geheugen, dan is die volgens onze metingen ook licht afgenomen ten opzichte van de vorige generatie. Dit zal komen door een combinatie van de snellere werking van het mesh-netwerk ten opzichte van de ringbus, maar voornamelijk door de snellere UPI-verbinding tussen beide CPU's.

Met SiSoft Sandra hebben we verder nog de latency van de L1-, L2- en L3-caches gemeten. Opvallend; waar Intel zelf aangeeft dat de L2-cache latency wat moet zijn gestegen, rapporteert SiSoft Sandra een daling.

Benchmarks Windows Server 2016 - Stroomverbruik en performance-per-watt

Met behulp van gekalibreerde EMU stroommeters hebben we het verbruik van de testopstellingen gemeten in twee scenario's bij de Windows benchmarks: idle en 100% CPU-load. 

Een belangrijke waarschuwing hierbij: alle getoonde waardes zijn metingen voor het hele systeem en de server CPU's uit de vorige generaties zijn getest in andere servers dan de huidige chips. De getoonde waardes zijn dus alles behalve een appels-met-appelsvergelijking. Daar komt bij dat de door ons geteste Intel server nog niet bepaald goed getuned lijkt te zijn voor energiebesparing. Dan zien we direct bij het stroomverbruik in idle stand; we komen op 217W, veel meer dan bij eerdere Intel testservers. We zijn met Intel in conclaaf en zullen deze tests over een tijdje opnieuw uitvoeren. 

Povray

Hieronder zien we allereerst nogmaals de scores van de Povray benchmark. In de tweede grafiek zien we het totale stroomverbruik zoals gemeten tijdens de benchmark. Op basis daarvan hebben we in de derde grafiek een gemiddeld stroomverbruik bepaald. 

We zien dat de op Xeon Platinum 8180 gebaseerde server tijdens de workload bijna 200W meer stroom verbruikt dan de server gebaseerd op twee Xeon E5-2699 v4 processors. De processors hebben per stuk natuurlijk ook een 60W hogere TDP en de nieuwe server heeft ook véél meer geheugen. Uiteindelijk komen we hiermee desalniettemin op een lagere performance-per-watt dan bij de vorige generatie.  

Benchmarks Linux

Overige benchmarks hebben we uitgevoerd onder Linux, gedeeltelijk onder CentOS en gedeeltelijk onder Ubuntu.

CentOS: Percona TPC-C MySQL benchmark

Een van de meestgebruikte toepassingen voor dual-socket servers met veel geheugen is natuurlijk het draaien van databases. Om de prestaties op dit vlak in kaart te brengen, maakten we gebruik van de TPC-C MySQL benchmark van Percona. Het bedrijf Percona heeft een eigen versie van de populaire MySQL benchmark, die beter is geoptimaliseerd voor multi-processor systemen. De Percona TPC-C software lijkt qua opzet erg op de officiële TPC-C benchmark die door serverbouwers wordt gebruikt. De officiële benchmark werkt echter met een immens grote dataset, zodat het behalen van een topscore daarmee alleen mogelijk is met peperdure storage systemen. Wij draaiden de Percona variant met 100 Warehouses, wat resulteert in een database van tussen de 10 en 15 gigabyte. Die database past in het geheugen van een server en zodoende speelt de storage vrijwel geen rol. Sowieso zorgen MySQL database-admins er in de praktijk (indien mogelijk) ook voor dat hun data binnen het geheugen van de server blijft passen om zo de hoogste prestaties te behouden.

TPC-C is een zogenaamde OLTP, ofwel On-line Transaction Processing benchmark. TPC-C simuleert een complexe handelsomgeving, inclusief het inboeken en verwerken van orders, het verwerken van betalingen, het controleren van de status van orders en het bijhouden van voorraden in magazijnen.

Voor de benchmark maken we gebruik van de MySQL-fork MariaDB in de 10.0 versie. Wij draaiden de benchmark met respectievelijk 4, 8, 12, 16, 24, 32, 48, 64, 96 en 128 gelijktijdige connecties. Telkens draaiden we de benchmarks voor 10 minuten en iedere instelling hebben we drie maal gedraaid en daarna een gemiddelde genomen. De benchmark meet hoeveel transacties gemiddeld per seconde verwerkt kunnen worden.

We zien dat de Xeon Platinum 8180 machine hard doorschaalt tot 64 simultane threads en dan een prestatieniveau haalt dat zo'n 30% hoger ligt dan bij de server uit de vorige generatie. Daarna zakken de prestaties in, wat we eerder ook al zagen. Dit lijkt te maken te hebben met het feit dat we de client op dezelfde machine draaien en dat die op dat moment voor teveel belasting gaat zorgen. In de toekomst zullen we kijken of we deze test met een los clientsysteem kunnen draaien.

Ter volledigheid: we gebruikten onderstaande configratie voor MariaDB:

[client]
socket=/var/lib/mysql/mysql.sock
[mysqld]
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
server_id=1
local_infile=1
datadir=/var/lib/mysql/
innodb_buffer_pool_size=80G
innodb_data_file_path=ibdata1:10M:autoextend
innodb_file_per_table=1
innodb_flush_log_at_trx_commit=2
innodb_log_buffer_size=8M
innodb_log_files_in_group=2
innodb_log_file_size=2000M
innodb_thread_concurrency=0
innodb_flush_method=O_DIRECT
innodb_write_io_threads=8
innodb_read_io_threads=8
innodb_io_capacity=500
innodb_buffer_pool_instances=32
max_connections=3000
query_cache_size=0
skip-name-resolve
table_cache=10000

Ubuntu Server: Phoronix Benchmarks

Onder Ubuntu Server hebben we een aantal van de benchmarks uit de Phoronix Test Suite gedraaid. Hierbij hebben we ons puur gericht op benchmarks die ofwel een duidelijke relatie hebben met een servergebruiksmodel, ofwel benchmarks die zeer goed schalen naar veel CPU-cores. De Phoronix Test Suite draait benchmarks net zo lang totdat er minimaal drie runs zijn waarbij de score-afwijkingen binnen vooraf bepaalde marges vallen. De uiteindelijke score is een gemiddelde van deze runs. 

Apache - Static Web Page Serving

Deze benchmark meet hoeveel statische webpagina's een standaard, niet getunede installatie van de Apache webserver op Ubuntu server per seconde kan leveren. We komen op ruim 33.000 requests per seconde, een 30% hogere score dan bij de vorige generatie.

C-Ray

C-ray is een raytracing engine voor Linux die goed schaalt naar meerdere cores. De benchmark meet hoe lang het duurt om een bepaalde 3D-afbeelding te renderen. Deze workload blijkt inmiddels veel te licht voor dit kaliber servers en zodoende zien we zelfs een prestatieafname. We zullen deze benchmark vanaf nu niet meer gebruiken.

7-Zip Compression Speed Test

Deze benchmark meet de prestaties van de multi-threaded 7-Zip datacompressie software onder Linux. Ook hier zien we aanzienlijke prestatieverbetering ten opzichte van de vorige generatie, van ruim 46%.

John the Ripper

John the Ripper is een tool die gebruikt kan worden om een database met wachtwoorden te kraken. De software berekent op volle snelheid verschillende soorten hashes. De John the Ripper benchmark kan verschillende hashes berekenen, waaronder DES en Blowfish. In beide benchmarks zien we een mooie prestatiewinst.

Conclusie

De nieuwe Xeon Scalable Processorfamilie is overduidelijk een flinke stap vooruit ten opzichte van de vorige generaties. Technisch zijn er veel vernieuwingen; het maximale aantal cores en klokfrequenties zijn flink verhoogd, de dual-socket (E5) en quad-socket (E7) families zijn samengevoegd tot één familie met één socket, het aantal geheugenkanalen en PCI-Express lanes per CPU is flink verhoogd, de chip-onderdelen communiceren via een nieuwe mesh-architectuur met elkaar, AVX-512 instructies bieden in potentie voor veel workloads een gigantische prestatiewinst en de cache-architectuur is flink op de schop genomen. Ook de manier waarop Intel de processors de opmarkt brengt, is vernieuwd; E5 en E7 zijn verdwenen, in ruil daarvoor hebben we Bronze, Silver, Gold en Platinum processors met uiteenlopende mogelijkheden en prestatieniveaus. 

Een duo van het nieuwe topmodel Xeon Platinum 8180 met 28 cores, een basisklokfrequentie van 2,5 GHz en zes geheugenkanalen zet in het beperkte aantal benchmarks dat we in de korte tijd voor deze review hebben kunnen uitvoeren geregeld (ruim) meer dan 50% betere prestaties neer dan een duo van het topmodel uit de vorige E5-generatie, de Xeon E5 2699 v4. Generatie op generatie is dat inderdaad een gigantische stap vooruit. En in potentie kan die winst nog veel groter zijn, zeker wanneer een specifieke workload gebruik kan maken van AVX-512 instructies. Gratis is deze prestatiewinst echter zeker niet; Intel heeft de TDP's bij de nieuwe generatie Xeons laten oplopen; de 8180's hebben een TDP van 205 Watt, waar de E5 2699 v4 CPU's genoegen namen met 145 Watt. Een zeer aanzienlijk verschil in stroomverbruik zien we in onze tests dan ook zeker terug. Een vraag die we in deze review nog niet kunnen beantwoorden is wat het prestatieverschil is tussen Skylake-SP en Broadwell-EP SKU's met een vergelijkbaar energieverbruik.

Waar we ook nog niks over kunnen zeggen is het prijsniveau van de nieuwe CPU's, aangezien Intel de prijskaartjes nog niet voor de lancering bekend wilde maken. Uitgelekte prijzen geven aan dat topmodel Xeon Platinum 8180 ruim € 10.000 per stuk zou kunnen gaan kosten. In vergelijking met de bestaande generatie Xeon E7 v4 Broadwel-EX processors is dat al een flinke stap omhoog en in vergelijking met het topmodel uit de huidige Xeon E5 v4 generatie is het zelfs ruim meer dan een verdubbeling. Een goede analyse van het prijsniveau van de nieuwe Xeons zullen we op een later moment moeten opmaken.

Voor nu mogen we op z'n minst concluderen dat Intel bij deze Skylake-SP generatie technisch zonder twijfel mooie stappen heeft gezet om het prestatieniveau maar voor ook de flexibele inzetbaarheid van haar server-processors flink te vergroten. Juist in het jaar dat AMD met Epyc eindelijk weer concurrentie wil gaan leveren in de serverwereld, zet Intel technisch de grootste stap in jaren. Onder de streep is dat voor de markt alleen maar goed nieuws; het is concurrentie én innovatie die technologie vooruit brengt en beide zien we in 2017 eindelijk weer gebeuren.


Besproken product

Vergelijk  

Product

Prijs

Intel Xeon Platinum 8180 Boxed

Intel Xeon Platinum 8180 Boxed

  • Socket 3647
  • 2.5 GHz
  • 28 cores
  • 205 W
  • 14 nm

11.199,45 €

2 winkels
0
*