Passer au contenu principal
  • Passer des commandes rapidement et facilement
  • Afficher les commandes et suivre l’état de votre expédition
  • Créez et accédez à une liste de vos produits
  • Gérer vos sites, vos produits et vos contacts au niveau des produits Dell EMC à l’aide de la rubrique Gestion des informations de l’entreprise.

AMD Rome: Ist es echt? Architektur und anfängliche HPC-Leistung

Résumé: In der heutigen HPC-Welt eine Einführung in AMDs EPYC-Prozessor der neuesten Generation mit dem Codenamen Rome.

Cet article a peut-être été traduit automatiquement. Si vous avez des commentaires concernant sa qualité, veuillez nous en informer en utilisant le formulaire au bas de cette page.

Contenu de l’article


Symptômes

Garima Kochhar, Deepthi Cherlopalle, Joshua Weage. HPC und KI Innovation Lab, Oktober 2019

Cause

Nicht zutreffend

Résolution


In der heutigen HPC-Welt muss AMDs EPYC-Prozessor Dieser Hyperlink führt Sie zu einer Website außerhalb von Dell Technologies. der neuesten Generation mit dem Codenamen Rome kaum vorgestellt werden. Wir haben in den letzten Monaten im HPC and AI Innovation Lab Rome-basierte Systeme evaluiert und Dell Technologies hat kürzlich Server angekündigt Dieser Hyperlink führt Sie zu einer Website außerhalb von Dell Technologies., die diese Prozessorarchitektur unterstützen. In diesem ersten Blog der Rome-Reihe wird die Rome-Prozessorarchitektur besprochen, wie diese für die HPC-Leistung optimiert werden kann, und die erste Micro-Benchmark-Leistung vorgestellt. In nachfolgenden Blogs wird die Anwendungsleistung in den Bereichen CFD, CAE, Molekulardynamik, Wettersimulation und anderen Anwendungen beschrieben.


 

Architektur

 

Rome ist AMDs EPYC-CPU der 2. Generation, die das Naples der 1. Generation aktualisiert. Wir haben Neapel letztes Jahr in diesem Blog besprochen.

Einer der größten architektonischen Unterschiede zwischen Neapel und Rom, von dem HPC profitiert, ist der neue I/O-Die in Rom. In Rome ist jeder Prozessor ein Multi-Chip-Paket, das aus bis zu 9 Chiplets besteht, wie in Abbildung 1 dargestellt. Es gibt einen zentralen 14-nm-IO-Die, der alle I/O- und Speicherfunktionen enthält – denken Sie an Speichercontroller, Infinity-Fabric-Verbindungen innerhalb des Sockels und die Konnektivität zwischen den Sockeln und PCI-e. Es gibt acht Speicher-Controller pro Sockel, die acht Speicherkanäle unterstützen, auf denen DDR4 mit 3.200 MT/s ausgeführt wird. Ein Server mit einem Sockel kann bis zu 130 PCIe Gen4-Lanes unterstützen. Ein System mit zwei Sockeln kann bis zu 160 PCIe Gen4-Lanes unterstützen.

Abbildung 1 Rom

(Abbildung 1: Rome Multi-Chip-Gehäuse mit einem zentralen I/O-Die und bis zu 8-Core-Dies)

Um den zentralen IO-Chip herum befinden sich bis zu acht 7-nm-Core-Chiplets. Das Core-Chiplet wird als Core Cache Die oder CCD bezeichnet. Jeder CCD verfügt über CPU-Cores, die auf der Zen2-Mikroarchitektur basieren, L2-Cache und 32 MB L3-Cache. Der CCD selbst verfügt über zwei Core Cache Complexes (CCX),Dieser Hyperlink führt Sie zu einer Website außerhalb von Dell Technologies. jeder CCX hat bis zu vier Cores und 16 MB L3-Cache. Abbildung 2 zeigt einen CCX.

Abbildung 1 Rom

(Abbildung 2 : CCX mit vier Cores und gemeinsam genutztem 16 MB L3-Cache)

Die verschiedenen Rome-CPU-Modelle Dieser Hyperlink führt Sie zu einer Website außerhalb von Dell Technologies. haben eine unterschiedliche Anzahl von Kernen, Dieser Hyperlink führt Sie zu einer Website außerhalb von Dell Technologies. aber alle haben einen zentralen IO-Die.

Am oberen Ende steht ein 64-Kern-CPU-Modell, zum Beispiel der EPYC 7702. Die lstopo-Ausgabe zeigt uns, dass dieser Prozessor 16 CCXs pro Sockel hat, jeder CCX hat vier Kerne, wie in Abbildung 3 und 4 gezeigt, was 64 Kerne pro Sockel ergibt. 16 MB L3 pro CCX, d.h. 32 MB L3 pro CCD, ergibt diesem Prozessor insgesamt 256 MB L3-Cache. Beachten Sie jedoch, dass der gesamte L3-Cache in Rome nicht von allen Kernen gemeinsam genutzt wird. Die 16 MB L3-Cache in jedem CCX sind unabhängig und werden nur von den Cores im CCX gemeinsam genutzt, wie in Abbildung 2 dargestellt.

Eine 24-Kern-CPU wie der EPYC 7402 verfügt über 128 MB L3-Cache. Die Ausgabe in Abbildung 3 und 4 zeigt, dass dieses Modell drei Cores pro CCX und 8 CCX pro Sockel hat.

Abbildung 31 Rom

Abbildung 32 Rom

(Abbildung 3 und 4 : lstopo -Ausgabe für 64-Core- und 24-Core-CPUs)

Unabhängig von der Anzahl der CCDs ist jeder Rome-Prozessor logischerweise in vier Quadranten unterteilt, wobei die CCDs möglichst gleichmäßig über die Quadranten verteilt sind und in jedem Quadranten zwei Speicherkanäle vorhanden sind. Der zentrale IO-Chip kann als logische Unterstützung der vier Quadranten des Sockels betrachtet werden.


Zurück zum Anfang

 

 

BIOS-Optionen basierend auf Rome-Architektur

 

Der zentrale IO-Chip in Rom trägt dazu bei, die Speicherlatenzen Dieser Hyperlink führt Sie zu einer Website außerhalb von Dell Technologies. gegenüber den in Neapel gemessenen zu verbessern. Darüber hinaus kann die CPU als eine einzige NUMA-Domäne konfiguriert werden, die einen einheitlichen Speicherzugriff für alle Kerne im Sockel ermöglicht. Dies wird im Folgenden erläutert.

Die vier logischen Quadranten in einem Rome-Prozessor ermöglichen die Partitionierung der CPU in verschiedene NUMA-Domains. Diese Einstellung wird als NUMA pro Sockel oder NPS bezeichnet.

  • NPS1 impliziert, dass die Rome-CPU eine einzelne NUMA-Domäne ist, bei der alle Cores im Sockel und der gesamte Speicher in dieser einen NUMA-Domain sind. Der Speicher ist über die acht Speicherkanäle hinweg verschachtelt. Alle PCIe-Geräte auf dem Sockel gehören zu dieser einzelnen NUMA-Domäne
  • NPS2 teilt die CPU in zwei NUMA-Domains auf, wobei sich in jeder NUMA-Domain die Hälfte der Cores und die Hälfte der Arbeitsspeicherkanäle auf dem Sockel befinden. Der Arbeitsspeicher ist über die vier Speicherkanäle in jeder NUMA-Domäne hinweg verschachtelt
  • NPS4 partitioniert die CPU in vier NUMA-Domains. Jeder Quadrant ist hier eine NUMA-Domäne und der Speicher ist über die beiden Speicherkanäle in jedem Quadranten verschachtelt. PCIe-Geräte befinden sich lokal in einer von vier NUMA-Domains auf dem Sockel, je nachdem, welcher Quadrant des I/O-Chips die PCIe-Wurzel für dieses Gerät hat
  • Nicht alle CPUs können alle NPS-Einstellungen unterstützen

Wo verfügbar, wird NPS4 für HPC empfohlen, da davon die beste Speicherbandbreite und die niedrigsten Speicherlatenzen erwartet werden und unsere Anwendungen in der Regel NUMA-fähig sind. Wenn NPS4 nicht verfügbar ist, empfehlen wir den höchsten NPS, der vom CPU-Modell unterstützt wird: NPS2 oder sogar NPS1.

Angesichts der Vielzahl von NUMA-Optionen, die auf Rome-basierten Plattformen verfügbar sind, ermöglicht das PowerEdge-BIOS zwei verschiedene Core-Aufzählungsmethoden im Rahmen der MADT-Aufzählung. Die lineare Aufzählung nummeriert die Cores der Reihe nach, wobei ein CCX-, CCD-Sockel ausgefüllt wird, bevor zum nächsten Sockel gewechselt wird. Bei einer 32c-CPU befinden sich die Cores 0 bis 31 auf dem ersten Sockel und die Cores 32 bis 63 auf dem zweiten Sockel. Bei der Round-Robin-Aufzählung werden die Cores über NUMA-Regionen hinweg nummeriert. In diesem Fall befinden sich gerade nummerierte Cores auf dem ersten Sockel, ungerade nummerierte Cores auf dem zweiten Sockel. Der Einfachheit halber empfehlen wir eine lineare Aufzählung für HPC. Abbildung 5 zeigt ein Beispiel für eine lineare Core-Aufzählung auf einem 64c-Server mit zwei Sockeln, der in NPS4 konfiguriert ist. In der Abbildung ist jedes Feld mit vier Cores ein CCX, jeder Satz von zusammenhängenden acht Cores ist ein CCD.

Abbildung 4 Rom

(Abbildung 5 Lineare Core-Aufzählung auf einem System mit zwei Sockeln, 64c pro Sockel, NPS4-Konfiguration auf einem 8-CCD-CPU-Modell)

Eine weitere Rome-spezifische BIOS-Option heißt "Bevorzugtes IO-Gerät". Dies ist ein wichtiger Abstimmknopf für die InfiniBand-Bandbreite und die Nachrichtenrate. Es ermöglicht der Plattform, den Datenverkehr für ein IO-Gerät zu priorisieren. Diese Option ist sowohl auf Rome-Plattformen mit einem als auch auf zwei Sockeln verfügbar und das InfiniBand-Gerät auf der Plattform muss als bevorzugtes Gerät im BIOS-Menü ausgewählt werden, um die volle Nachrichtenrate zu erreichen, wenn alle CPU-Cores aktiv sind.

Ähnlich wie Neapel unterstützt auch Rome Hyper-Threadingoder logische Prozessoren. Für HPC lassen wir dies deaktiviert, aber einige Anwendungen können von der Aktivierung des logischen Prozessors profitieren. Schauen Sie sich unsere nachfolgenden Blogs zu molekulardynamischen Anwendungsstudien an.

Ähnlich wie in Neapel ist auch in Rom CCX als NUMA-Domain zulässig. Mit dieser Option wird jeder CCX als NUMA-Node verfügbar gemacht. Auf einem System mit CPUs mit 2 Sockeln und 16 CCXs pro CPU werden mit dieser Einstellung 32 NUMA-Domains verfügbar gemacht. In diesem Beispiel verfügt jeder Sockel über 8 CCDs, d. h. 16 CCX. Jeder CCX kann als eigene NUMA-Domain aktiviert werden, was 16 NUMA-Nodes pro Sockel und 32 in einem System mit zwei Sockeln ergibt. Für HPC empfehlen wir, CCX als NUMA-Domain bei der Standardoption " disabled" zu belassen. Das Aktivieren dieser Option soll virtualisierten Umgebungen helfen.

Ähnlich wie in Neapel kann das System in Rom in den Modus Performance Determinism oder Power Determinism versetzt werden. Beim Performancedeterminismus arbeitet das System mit der für das CPU-Modell erwarteten Frequenz, wodurch die Variabilität über mehrere Server hinweg reduziert wird. Bei Power Determinism arbeitet das System mit der maximal verfügbaren TDP des CPU-Modells. Dies verstärkt die Variation von Teil zu Teil im Fertigungsprozess, sodass einige Server schneller sind als andere. Alle Server können die maximale Nennleistung der CPU verbrauchen, sodass der Stromverbrauch deterministisch ist, aber einige Leistungsschwankungen zwischen mehreren Servern möglich sind.

Wie von PowerEdge-Plattformen zu erwarten, verfügt das BIOS über eine Metaoption namens Systemprofil. Durch Auswahl des Systemprofils Leistungsoptimiert wird der Turbo-Boost-Modus aktiviert, C-Status deaktiviert und der Determinismus-Schieberegler auf Leistungsdeterminierung gesetzt, um die Leistung zu optimieren.


Zurück zum Anfang

 

 

Performanceergebnisse – STREAM-, HPL- und InfiniBand-Mikrobenchmarks

 

Viele unserer Leser sind vielleicht direkt zu diesem Abschnitt gesprungen, also werden wir gleich eintauchen.

Im HPC and AI Innovation Lab haben wir einen Cluster mit 64 Servern in Rom aufgebaut, den wir Minerva nennen. Neben dem homogenen Minerva-Cluster haben wir noch ein paar weitere Rome-CPU-Samples, die wir auswerten konnten. Unsere Testumgebung ist in Tabelle 1 und Tabelle 2 beschrieben.

(Tabelle 1 : In dieser Studie evaluierte Rome CPU-Modelle)

CPU Kerne pro Sockel Konfiguration Basistakt TDP
7702 64c 4c pro CCX 2,0 GHz 200W
7502 32C 4c pro CCX 2,5 GHz 180W
7452 32C 4c pro CCX 2,35 GHz 155 W
7402 24°C 3c pro CCX 2,8 GHz 180W

(Tabelle 2 Testumgebung)

Komponente Details
Server PowerEdge C6525
Prozessor Wie in Tabelle 1 mit zwei Sockeln dargestellt
Arbeitsspeicher 256 GB, 16 x 16 GB, 3.200 MT/s DDR4
Interconnect ConnectX-6 Mellanox Infini Band HDR100
Betriebssystem Red Hat Enterprise Linux 7.6
Kernel 3.10.0.957.27.2.e17.x86_64
Datenträger 240-GB-SATA-SSD-M.2-Modul


Zurück zum Anfang

 

 

STREAM

 

Speicherbandbreitentests auf Rome sind in Abbildung 6 dargestellt. Diese Tests wurden im NPS4-Modus durchgeführt. Wir haben ~270-300 GB/s Speicherbandbreite auf unserem PowerEdge C6525 mit zwei Sockeln gemessen, wenn alle Cores im Server über die vier in Tabelle 1 aufgeführten CPU-Modelle hinweg verwendet wurden. Wenn nur ein Core pro CCX verwendet wird, ist die Systemspeicherbandbreite ~9-17 % höher als die Bandbreite, die mit allen Cores gemessen wird.

Die meisten HPC-Workloads belegen entweder vollständig alle Cores im System oder HPC-Center werden im Hochdurchsatzmodus mit mehreren Jobs auf jedem Server ausgeführt. Daher ist die gesamte Core-Speicherbandbreite die genauere Darstellung der Speicherbandbreite und der Speicherbandbreite pro Core des Systems.

Abbildung 6 zeigt auch die Speicherbandbreite, gemessen auf der EPYC Naples-Plattform der vorherigen Generation, die ebenfalls acht Speicherkanäle pro Sockel unterstützte, aber mit 2667 MT/s ausgeführt wurde. Die Rome-Plattform bietet eine um 5 bis 19 % bessere Gesamtspeicherbandbreite als Neapel, was hauptsächlich auf den schnelleren Speicher von 3200 MT/s zurückzuführen ist. Selbst bei 64 Cores pro Sockel kann das Rome-System mehr als 2 GB/s/Core liefern.

HINWEIS: Eine Leistungsabweichung von 5 bis 10 % in den STREAM Triad-Ergebnissen wurde über mehrere identisch konfigurierte Rome-basierte Server gemessen. Daher sollte davon ausgegangen werden, dass die unten aufgeführten Ergebnisse am oberen Ende der Spanne liegen.
 

Beim Vergleich der verschiedenen NPS-Konfigurationen wurde eine ~13 % höhere Speicherbandbreite mit NPS4 im Vergleich zu NPS1 gemessen, wie in Abbildung 7 dargestellt.

Abbildung 5 Rom

(Abbildung 6 NPS4 STREAM Triad-Speicherbandbreite bei zwei Sockeln)

Abbildung 6 Rom

(Abbildung 7 : Speicherbandbreite von NPS1 vs. NPS2 vs. NPS4)


Zurück zum Anfang

 

 

InfiniBand-Bandbreite und Nachrichtenrate

 

In Abbildung 8 ist die Single-Core-InfiniBand-Bandbreite für unidirektionale und bidirektionale Tests dargestellt. In der Testumgebung wurde HDR100 mit 100 Gbit/s verwendet. Das Diagramm zeigt die erwartete Zeilenratenleistung für diese Tests.

Abbildung 6 IBBW

Abbildung 8 InfiniBand-Bandbreite (Single-Core)

Abbildung 6 IBBW

Abbildung 9 InfiniBand-Nachrichtenrate (alle Cores)

Als Nächstes wurden Tests zur Nachrichtenrate mit allen Cores auf einem Sockel in den beiden getesteten Servern durchgeführt. Wenn "Bevorzugte I/O" im BIOS aktiviert ist und der ConnectX-6 HDR100-Adapter als bevorzugtes Gerät konfiguriert ist, ist die Meldungsrate für alle Kerne deutlich höher, als wenn "Bevorzugte I/O" nicht aktiviert ist, wie in Abbildung 9 dargestellt. Dies verdeutlicht die Bedeutung dieser BIOS-Option beim Tuning für HPC und insbesondere für die Skalierbarkeit von Multi-Node-Anwendungen.


Zurück zum Anfang

 

 

HPL

 

Die Rome-Mikroarchitektur kann 16 DP FLOP/Zyklus stilllegen, doppelt so viel wie Neapel mit 8 FLOPS/Zyklus. Dies gibt Rom das 4-fache der theoretischen Spitzen-FLOPS gegenüber Neapel, das 2-fache der erweiterten Gleitkommafähigkeit und das 2-fache der doppelten Anzahl von Kernen (64c vs. 32c). Abbildung 10 zeigt die gemessenen HPL-Ergebnisse für die vier von uns getesteten Rome-CPU-Modelle, zusammen mit unseren vorherigen Ergebnissen eines Systems in Neapel. Die Rome HPL-Effizienz wird als Prozentwert über den Balken im Diagramm angegeben und ist bei CPU-Modellen mit niedrigerer TDP höher.

Die Tests wurden im Power Determinism-Modus durchgeführt und bei 64 identisch konfigurierten Servern wurde ein Performancedelta von ~5 % gemessen. Die Ergebnisse liegen also in diesem Performanceband.

Abbildung 9 Rom

(Abbildung 10 : Einzelserver-HPL in NPS4)

Als nächstes wurden HPL-Tests mit mehreren Knoten durchgeführt, und diese Ergebnisse sind in Abbildung 11 dargestellt. Die HPL-Effizienzen für EPYC 7452 bleiben bei einem Maßstab von 64 Nodes über 90 %, aber die Effizienzeinbrüche von 102 % auf 97 % und wieder auf 99 % müssen weiter untersucht werden

Abbildung 10 Rom

(Abbildung 11 : Multi-Node-HPL, EPYC 7452 mit zwei Sockeln über HDR100 InfiniBand)


Zurück zum Anfang

 

 

Zusammenfassung und nächste Schritte

 

Erste Leistungsstudien auf Servern in Rome zeigen die erwartete Leistung für unsere erste Reihe von HPC-Benchmarks. BIOS-Tuning ist wichtig bei der Konfiguration für optimale Leistung. Tuningoptionen sind in unserem BIOS-HPC-Workload-Profil verfügbar, das werkseitig konfiguriert oder mithilfe von Dell EMC Systemmanagementdienstprogrammen eingestellt werden kann.

Das HPC and AI Innovation Lab verfügt über einen neuen PowerEdge-Cluster Minerva mit 64 Servern und Sitz in Rom. An dieser Stelle finden Sie weitere Blogs, in denen Studien zur Anwendungsleistung in unserem neuen Minerva-Cluster beschrieben werden.


Zurück zum Anfang

 

Propriétés de l’article


Dernière date de publication

15 mars 2024

Version

6

Type d’article

Solution