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. 1 besproken product
  17. 36 reacties

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.  

 


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.893,98

3 winkels
0
*