Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

AMD Rome — is het echt? Architectuur en initiële HPC-prestaties (in het Engels)

Summary: In de HPC wereld is een inleiding tot de nieuwste generatie EPYC-processor code van AMD met de naam Rome.

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

Garima Kochhar, Deepthi Cherlopalle, Joshua Weage. HPC en AI innovatie Lab, oktober 2019

Cause

 

Resolution


Op het moment van de HPC wereld heeft AMD de nieuwste generatie EPYCSLN319015_en_US__1iC_External_Link_BD_v1 -processor code met de naam Rome nauwelijks een inleiding nodig. We evalueren op Rome gebaseerde systemen in de HPC en AI-innovatie Lab deze laatste paar maanden en Dell Technologies recent aangekondigdeSLN319015_en_US__1iC_External_Link_BD_v1servers die deze processorarchitectuur ondersteunen. Dit eerste blog in de Rome-serie benadert de architectuur van Rome, hoe die kan worden afgestemd op HPC prestaties en de initiële micro-benchmark prestaties. Op de volgende blogs worden de prestaties van toepassingen in de domeinen van CFD, CAE, moleculaire dynamiek, weer-simulatie en andere applicaties beschreven.


 

Architectuur

 

Rome is een EPYC CPU voor de 2e generatie van AMD, waarbij de Naplesvan de eerste generatie wordt vernieuwd. We hebben de Naples in deze blog vorig jaar behandeld.

Een van de grootste architecturale verschillen tussen Naples en Rome waarmee de voordelen HPC de nieuwe i/o-dobbelsteen in Rome. In Rome is elke processor een multi-chip pakket dat bestaat uit maximaal 9 chiplets zoals afgebeeld in afbeelding. 1. Er is één centrale i/o-dobbelsteen die alle i/o-en geheugen functies bevat. dit beschouwt geheugen controllers, oneindige Fabric-koppelingen binnen de socket-en inter-socket-connectiviteit en PCI-e. Er zijn acht geheugen controllers per socket die acht geheugenkanalen ondersteunen waarop DDR4 wordt uitgevoerd op 3200 MT/s. Een server met één socket kan maximaal 130 PCIe Gen4-banen ondersteunen. Een systeem met twee sockets kan maximaal 160 PCIe Gen4-banen ondersteunen.

SLN319015_en_US__3Fig1-Rome (2)

(Figuur. 1Rome multi-chip pakket met één centrale i/o-dobbelsteen en tot acht-core sterf)

Rond de centrale i/o-dobbel ring bevinden zich maximaal acht 7nm core chiplets. De kern chiplet wordt een core cache-afvlakking of CCD genoemd. Elk CCD heeft CPU cores gebaseerd op de Zen2 Micro-architecture, L2-cache en 32MB L3-cache. De CCD zelf heeft twee core cache-complexen (CCX), SLN319015_en_US__1iC_External_Link_BD_v1 elk CCX heeft maximaal vier kernen en 16 MB L3-cache. Afbeelding: 2 toont een CCX.

SLN319015_en_US__5Fig2-Rome (2)

(Figuur. 2 A CCX met vier cores en gedeelde 16 MB L3-cache)

De verschillende CPU-modellen van RomeSLN319015_en_US__1iC_External_Link_BD_v1 hebben verschillende aantallen cores,SLN319015_en_US__1iC_External_Link_BD_v1 maar hebben allemaal één centrale i/o-dobbel.

Aan de bovenkant is een 64 core CPU-model, bijvoorbeeld de EPYC 7702. lstopo output toont dat deze processor 16 CCXs per socket heeft, elk CCX heeft vier kernen, zoals wordt weergegeven in afbeelding. 3 & 4, waardoor 64 cores per socket worden verkregen. 16MB L3 per CCD geeft deze processor een totale 256 MB L3-cache. Let op: de totale L3-cache in Rome wordt echter niet door alle kernen gedeeld. De 16 MB L3 cache in elk CCX is onafhankelijk en wordt alleen gedeeld door de cores in het CCX zoals afgebeeld in afbeelding. 2.

Een 24-Core-CPU zoals de EPYC 7402 heeft 128MB L3-cache. lstopo output in afbeelding. 3 & 4 illustreert dat dit model drie cores per CCX en 8 CCX per socket heeft.

SLN319015_en_US__8Fig31-Rome (2)

SLN319015_en_US__9Fig32-Rome (2)

(Figuur. 3 & 4 lstopo output voor 64-core-en 24-Core cpu's)

Het aantal CCDs, elk Rome-processor wordt logischerwijze verdeeld in vier kwadranten met CCDs verdeeld, net zo gelijkmatig mogelijk en twee geheugenkanalen in elke Kwadrant. De centrale i/o-dobbelsteen kan worden beschouwd als een logische ondersteuning voor de vier kwadranten van de socket.


Terug naar boven

 

 

BIOS-opties gebaseerd op de architectuur van Rome

 

De centrale i/o-dobbelsteen in Rome helpt bij het verbeteren van geheugen latentiesSLN319015_en_US__1iC_External_Link_BD_v1 boven die gemeten in Naples. Bovendien kan de CPU worden geconfigureerd als één NUMA-domein, waardoor uniforme geheugentoegang voor alle kernen in de socket wordt ingeschakeld. Dit wordt hieronder uitgelegd.

De vier logische kwadranten in een Rome-processor maken het mogelijk dat de CPU wordt gepartitioneerd in verschillende NUMA-domeinen. Deze instelling wordt Numa per socket of NPSgenoemd.

  • NPS1 impliceert dat Rome CPU een enkel NUMA-domein is, met alle kernen in de socket en alle geheugen in dit één NUMA-domein. Het geheugen is Interleaved over de acht geheugenkanalen. Alle PCIe apparaten op de socket behoren tot dit enkele NUMA-domein
  • NPS2 partitioneert de CPU in twee NUMA-domeinen, met de helft van de kernen en de helft van de geheugenkanalen op de socket in elk NUMA-domein. Het geheugen is Interleaved over de vier geheugenkanalen in elk NUMA-domein
  • NPS4 partitioneert de CPU in vier NUMA-domeinen. Elke kwadrant is hier een NUMA-domein en het geheugen is Interleaved over de twee geheugenkanalen in elke Kwadrant. PCIe apparaten zijn lokaal op een van de vier NUMA-domeinen op de socket afhankelijk van welke kwadrant van de i/o-dobbelsteen de PCIe root heeft voor dat apparaat.
  • Niet alle Cpu's kunnen alle NPS-instellingen ondersteunen

Indien beschikbaar wordt NPS4 aanbevolen voor HPC omdat het verwacht wordt de beste geheugenbandbreedte, de laagste geheugen latenties te leveren en onze toepassingen moeten NUMA-Aware zijn. Waarbij NPS4 niet beschikbaar is, is het raadzaam om de hoogste NPS te ondersteunen die wordt ondersteund door het CPU model-NPS2 of zelfs NPS1.

Op basis van de talrijke NUMA-opties die beschikbaar zijn op op Rome gebaseerde platforms, biedt de PowerEdge BIOS twee verschillende kern methodes onder MADT-inventarisatie. Lineaire inventarisatie nummers cores in de juiste volgorde, waarbij één CCX, CCD, socket wordt gevuld voordat de volgende socket wordt verplaatst. Op een 32c-CPU bevindt de kernen 0 tot en met 31 zich op de eerste socket, Cores 32-63 op de tweede socket. Met round robin wordt de kern van de verschillende NUMA-gebieden genummerd. In dit geval zijn er zelfs genummerde kernen op de eerste socket, oneven cores op de tweede socket. Ter vereenvoudiging bevelen wij een lineaire inventarisatie aan voor HPC. Zie afbeelding. 5 voor een voorbeeld van een lineaire core-inventarisatie op een 64c-server met twee sockets die in NPS4 is geconfigureerd. In de afbeelding is elk vak van vier cores een CCX, elke set van opeenvolgende acht cores is een CCD.

SLN319015_en_US__11Fig4-Rome (2)

(Afbeelding. 5 Linear core-inventarisatie op een systeem met twee sockets, 64c per socket, NPS4-configuratie op een 8 CCD CPU-model)

Een andere Rome-specifieke BIOS-optie wordt het Voorkeurs-io-apparaatgenoemd. Dit is een belangrijke afstemmings knop voor de InfiniBand-bandbreedte en de bericht snelheid. Hiermee kan het platform een prioriteit krijgen van het verkeer voor één i/o-apparaat. Deze optie is beschikbaar voor één socket en twee-sockets van Rome en het InfiniBand-apparaat in het platform moet worden geselecteerd als het Voorkeurs apparaat in het BIOS-menu om de volledige bericht snelheid te bereiken wanneer alle CPU-kernen actief zijn.

Net als bij Naples ondersteunt Rome ook Hyper-Threading of logische processor. Voor HPC hebben we dit uitgeschakeld, maar sommige toepassingen kunnen profiteren van het inschakelen van een logische processor. Zoek naar onze volgende blogs over de applicatie voor moleculaire Dynamics-toepassingen.

Net als bij Naples biedt Rome ook CCX als Numa-domein. Met deze optie wordt elk CCX als een NUMA-knooppunt getoond. Op een systeem met Dual Socket-Cpu's met 16 CCXs per CPU worden met deze instelling 32 NUMA-domeinen blootgesteld. In dit voorbeeld heeft elke socket 8 CCDs, d.w.z. 16 CCX. Elk CCX kan worden ingeschakeld als een eigen NUMA-domein, waarbij 16 NUMA-knooppunten per socket en 32 in een systeem met twee sockets worden voorzien. Voor HPC kunt u het beste CCX als Numa-domein laten staan op de standaardoptie van disabled (uitgeschakeld). Als u deze optie inschakelt, kunt u naar verwachting virtuele omgevingen helpen.

Net als bij Naples kan Rome het systeem worden ingesteld in de Performance determinism of aan de stroom determinism -modus. Bij prestatie determinismwerkt het systeem op de verwachte frequentie voor het verminderen van het CPU-model voor de beperking van de variabiliteit op meerdere servers. In de voedings determinismwerkt het systeem op de maximaal beschikbare TDP van het CPU-model. Dit versterkt een deel naar deel variatie in het productieproces, waardoor sommige servers sneller zijn dan andere. Alle servers kunnen de maximale nominale stroom kracht van de CPU verbruiken, waarbij het stroomverbruik deterministisch is, maar een aantal prestatieverschillen tussen meerdere servers toestaat.

Zoals u zou verwachten van PowerEdge platforms, heeft het BIOS een meta-optie genaamd systeem profile. Als u het Systeemprofiel voor geoptimaliseerde prestaties selecteert, schakelt u de modus voor Turbo Boost in, schakelt u C-Staten uit en stelt u de determinism-schuifregelaar in op Power determinism, optimaliseren voor prestaties.


Terug naar boven

 

 

Prestatieresultaten – STREAM, HPL, InfiniBand microbenchmarks

 

Het is mogelijk dat veel van onze lezers recht hebben op deze sectie.

In de HPC en AI innovatie Lab hebben we een 64-server Rome-cluster opgebouwd waarmee we Minerva. Naast de homogene Minerva-cluster hebben we een paar andere Rome-CPU-samples die we kunnen evalueren. Onze testbed wordt beschreven in tabel. 1 en tabel. 2.

(Tabel. 1 Rome CPU-modellen geëvalueerd in deze studie)

CPU Cores per socket Config Basis klok TDP
7702 64c 4c per CCX 2,0 GHz 200W
7502 32c 4c per CCX 2,5 GHz 180W
7452 32c 4c per CCX 2,35 GHz 155W
7402 24c 3c per CCX 2,8 GHz 180W

(Tabel. 2 testbed)

Component Details
Server PowerEdge C6525
Processor Zoals wordt weergegeven in tabel. 1 Dual-Socket
Geheugen 256 GB, 16x16GB 3200 MT/s DDR4
Interconnect Aansluitenx-6 Mellanox Infini-band HDR100
Besturingssysteem Red Hat Enterprise Linux 7.6
Kern 3.10.0.957.27.2.e17.x86_64
Stations 240 GB SATA SSD M. 2-module


Terug naar boven

 

 

VERZ

 

Geheugenbandbreedte tests op Rome worden weergegeven in afbeelding. 6, deze tests werden uitgevoerd in de NPS4-modus. We gemeten ~ 270-300 GB/s geheugenbandbreedte op onze Dual Socket PowerEdge C6525 bij het gebruik van alle cores op de server over de vier CPU-modellen die worden vermeld in tabel. 1. Wanneer er slechts één kern wordt gebruikt per CCX, is de bandbreedte van het systeemgeheugen ~ 9-17% hoger dan die gemeten met alle kernen.

De meeste HPC werklast zullen alle kernen in het systeem volledig afnemen, of HPC centra worden uitgevoerd in de hoge doorvoermodus met meerdere taken op elke server. Daarom is de alles-core geheugenbandbreedte de nauwkeurigere weergave van de geheugenbandbreedte en geheugenbandbreedte per core van het systeem.

Afbeelding. 6 toont ook de geheugenbandbreedte die is gemeten op het vorige generatie EPYC Naples -platform, die ook acht geheugenkanalen per socket ondersteunt, maar wel met 2667 MT/s. Het platform Rome biedt 5% tot 19% betere totale geheugenbandbreedte dan Naples, en dit is voornamelijk het gevolg van het snellere 3200 MT/s geheugen. Zelfs met 64c per socket kan het Rome-systeem van 2 GB/s/Core naar boven leveren.

SLN319015_en_US__12icon Opmerking: Een 5-10% prestatie variatie in de Triad-resultaten is gemeten op meerdere identieke, op Rome gebaseerde servers. de onderstaande resultaten moeten daarom worden beschouwd als het bovenste einde van het bereik.
 

Door de verschillende NPS-configuratie te vergelijken, werd ~ 13% van de geheugenbandbreedte gemeten met NPS4, vergeleken met NPS1, zoals wordt weergegeven in afbeelding. 7.

SLN319015_en_US__13Fig5-Rome (2)

(Afbeelding. 6 NPS4-stroom Triad geheugenbandbreedte van twee sockets)

SLN319015_en_US__14Fig6-Rome (2)

(Afbeelding. 7 NPS1 VS NPS2 VS NPS 4 geheugenbandbreedte)


Terug naar boven

 

 

InfiniBand-bandbreedte en bericht snelheid

 

Figuur. 8 plot de single-core InfiniBand-bandbreedte voor uni-directionele en bidirectionele tests. De testbed gebruikt HDR100 die wordt uitgevoerd op 100 Gbps en de grafiek toont de verwachte lijn snelheids prestaties voor deze tests.

SLN319015_en_US__15fig6-IBBW (2)

Afbeelding. 8 InfiniBand-bandbreedte (single-core))

SLN319015_en_US__16fig7-Dhr (2)

Afbeelding: 9 InfiniBand-bericht snelheid (alle cores))

De snelheids test van het bericht is nu uitgevoerd met behulp van alle kernen op een socket in de twee servers onder de test. Wanneer de voorkeursversie i/o is ingeschakeld in het BIOS en de Connectx-6 HDR100-adapter is geconfigureerd als het voorkeursapparaat, is de bericht snelheid voor alles-kernen aanzienlijk hoger dan wanneer de voorkeurs-IO niet is ingeschakeld, zoals wordt weergegeven in afbeelding. 9. Dit is een voorbeeld van het belang van deze BIOS-optie bij het afstemmen voor HPC en is vooral voor schaalbaarheid van meerdere knooppunten.


Terug naar boven

 

 

HPL

 

De micro-architectuur van Rome kan de 16 DP FLOP/Cycle intrekken, dubbel die van Naples dat 8 FLOPs/cycli is. Dit geeft Rome 4x met de theoretische piek FLOPen boven Naples, 2x van de verbeterde drijvende-komma mogelijkheden en tweemaal het aantal kernen (64c VS 32c). Figuur. 10 plot de gemeten HPL-resultaten voor de vier de CPU-modellen van Rome die we hebben getest, samen met onze vorige resultaten van een op Naples gebaseerd systeem. De efficiëntie van Rome HPL wordt vermeld als de percentagewaarde boven de balken op de grafiek en is hoger voor de onderste TDP-CPU-modellen.

De tests werden uitgevoerd in de modus voor stroom determinism en een Delta van ~ 5% is gemeten over de prestaties van een 64 identiek geconfigureerde servers. de resultaten zijn dus in deze prestatie band.

SLN319015_en_US__17Fig9-Rome (2)

(Afbeelding. 10 enkele server HPL in NPS4)

De volgende HPL-tests met meerdere knooppunten zijn uitgevoerd en deze resultaten worden in afbeelding. 11 uitgezet. De HPL efficiëntie voor EPYC 7452 blijft boven 90% op een schaal van 64 knooppunten, maar de dips in efficiëntie van 102% naar de 97% en back-up naar 99% meer evaluatie nodig

SLN319015_en_US__18Fig10-Rome (2)

(Figuur. 11 multi-node HPL, dual-socket EPYC 7452 over HDR100 InfiniBand)


Terug naar boven

 

 

Samenvatting en de volgende

 

De initiële prestatieonderzoek op op Rome gebaseerde servers tonen verwachte prestaties voor onze eerste set HPC benchmarks. Het optimaliseren van het BIOS is belangrijk bij het configureren voor optimale prestaties en de afstemmingsopties zijn beschikbaar in het BIOS HPC profiel dat u kunt configureren in de fabriek of set met behulp van Dell EMC-hulpprogramma's voor systeembeheer.

De HPC en AI innovatie Lab hebben een nieuwe 64-server Rome op basis PowerEdge cluster Minerva. Bekijk deze ruimte op de volgende blogs die de prestatie studies van de toepassing beschrijven op onze nieuwe Minerva-cluster.


Terug naar boven

 

Article Properties


Last Published Date

06 May 2021

Version

5

Article Type

Solution