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.

BIOS-Charakterisierung für HPC mit Intel Cascade Lake-Prozessoren

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

Artikel von Varun Bawa, Savitha Pareek und Ashish K Singh vom HPC and AI Innovation Lab im April 2019

Resolution

Mit der Veröffentlichung der skalierbaren Intel Xeon® Prozessoren der 2. Generation (Architektur mit dem Codenamen "Cascade Lake") hat Dell EMC die PowerEdge-Server der 14. Generation aktualisiert, um von der größeren Anzahl von Cores und höheren Speichergeschwindigkeiten und damit von HPC-Anwendungen zu profitieren.

In diesem Blog werden die ersten Ergebnisse vorgestellt und die Auswirkungen der verschiedenen BIOS-Tuningoptionen erläutert, die auf dem Dell EMC PowerEdge C6420 mit den neuesten Intel Xeon® Cascade Lake Prozessoren für einige HPC-Benchmarks und -Anwendungen verfügbar sind. Eine kurze Beschreibung des Cascade Lake Prozessors, der BIOS-Optionen und der HPC-Anwendungen, die in dieser Studie verwendet werden, finden Sie unten.

Cascade Lake ist Intels Nachfolger für Skylake. Der Cascade Lake-Prozessor unterstützt bis zu 28 Cores, sechs DDR4-Speicherkanäle mit Geschwindigkeiten von bis zu 2933 MT/s. Ähnlich wie Skylake unterstützt Cascade Lake zusätzliche Vektorisierungsleistung mit dem AVX512-Befehlssatz, der 32 DP FLOP/Zyklus ermöglicht. Cascade Lake führt VNNI (Vector Neural Network Instructions) ein, die die Leistung von KI- und DL-Workloads wie Bildklassifizierung, Spracherkennung, Sprachübersetzung, Objekterkennung und mehr beschleunigt. VNNI unterstützt außerdem 8-Bit-Befehle zur Beschleunigung der Inferenzleistung.

Cascade Lake enthält Hardware-Minderungsmaßnahmen für einige Seitenkanal-Sicherheitslücken. Es wird erwartet, dass dies die Leistung von Storage-Workloads verbessern könnte. Achten Sie auf zukünftige Studien aus dem Innovation Lab.

Da Skylake und Cascade Lake sockelkompatibel sind, sind die im System-BIOS angezeigten Prozessor-Tuning-Knöpfe bei diesen Prozessorgenerationen ähnlich. Die folgenden BIOS-Tuning-Optionen wurden in dieser Studie untersucht, ähnlich wie bei Arbeiten, die in der Vergangenheit auf Skylake veröffentlicht wurden.

Prozessoreinstellungen:

  • Benachbarter Cachezeilen-Prefetch: Der Adjacent Cache-Line Prefetch-Mechanismus ermöglicht einen automatischen Hardware-Prefetch, er arbeitet ohne Eingreifen des Programmierers. Wenn diese Option aktiviert ist, werden zwei 64-Byte-Cachezeilen in einem 128-Byte-Sektor untergebracht, unabhängig davon, ob die zusätzliche Cachezeile angefordert wurde oder nicht.
  • Software-Vorabrufer: Er vermeidet den Stillstand, indem die Daten in den Cache geladen werden, bevor sie benötigt werden. Beispiel: Zum Vorabrufen von Daten aus dem Hauptspeicher in den L2-Cache weit vor der Verwendung mit einer L2-Prefetch-Anweisung und dann das Vorabrufen von Daten aus dem L2-Cache in den L1-Cache kurz vor der Verwendung mit einer L1-Prefetch-Anweisung. Wenn diese Option aktiviert ist, ruft der Prozessor hier für jede Speicheranforderung eine zusätzliche Cachezeile vorab ab.
  • SNC (Sub-NUMA-Cluster): Das Aktivieren von SNC ist vergleichbar mit dem Aufteilen eines einzelnen Sockels in zwei NUMA-Domänen mit jeweils der Hälfte der physischen Cores und der Hälfte des Speichers des Sockets. Wenn Ihnen das bekannt vorkommt, ähnelt das Programm der Cluster-on-Die-Option , die in den Intel Xeon E5-2600 v3- und v4-Prozessoren verfügbar war. SNC wird anders implementiert als COD und diese Änderungen verbessern den Remote-Socket-Zugriff in Cascade Lake im Vergleich zu den vorherigen Generationen, die die Cluster-on-Die-Option verwendeten. Auf Betriebssystemebene zeigt ein Dual-Socket-Server mit aktivierter SNC vier NUMA-Domains an. Zwei der Domänen befinden sich näher beieinander (auf demselben Sockel) und die anderen beiden sind weiter voneinander entfernt, über den UPI zum Remote-Socket. Dies kann mit BS-Tools wie den folgenden beobachtet werden: numactl –H und ist in Abbildung 1 dargestellt.
SLN316864_en_US__1image001(1)
Abbildung 1: Layout der NUMA-Knoten

Systemprofile:

Bei den Systemprofilen handelt es sich um Metaoptionen, die wiederum mehrere auf das Leistungs- und Energiemanagement ausgerichtete BIOS-Optionen festlegen, z. B. Turbo-Modus, Cstate, C1E, Pstate-Verwaltung, Uncore-Frequenz usw.  Zu den verschiedenen Systemprofilen, die in dieser Studie verglichen wurden, gehören:
  • Leistung
  • Performance PerWattDAPC
  • Performance PerWattOS
Wir haben zwei HPC-Benchmarks und zwei HPC-Anwendungen verwendet, um die Auswirkungen dieser BIOS-Optionen auf die Performance von Cascade Lake zu verstehen. Die Konfigurationen von Server- und HPC-Anwendungen, die für diese Studie verwendet werden, werden in Tabelle 1 und Tabelle 2 beschrieben.
Anwendungen Domäne Version Benchmark
Hochleistungs-Linpack (HPL) Berechnen – Lösen eines dichten Systems linearer Gleichungen Von Intel MKL – 2019 Update 1 Problemgröße 90 %, 92 % und 94 % des Gesamtspeichers
Stream Arbeitsspeicherbandbreite 5.4 Triade
WRF Wetterforschung und -vorhersage 3.9.1 Conus 2,5km
ANSYS® Fluent®  Fluiddynamik 19,2 Ice_2m,
Combustor_12m,
Aircraft_wing_14m,
Exhaust_System_33m

Tabelle 1: Anwendungen und Benchmarks

Komponenten Details
Server PowerEdge-Server C6420
Prozessor Intel® Xeon® Gold 6230 CPU @ 2,1 GHz, 20 Cores
Arbeitsspeicher 192 GB – 12 x 16 GB DDR4 mit 2.933 MT/s
Betriebssystem Red Hat Enterprise Linux 7.6Red Hat Enterprise Linux 7.6
Kernel 3.10.0-957.el7.x86_64
Compiler Intel Parallel Studio Cluster Edition_2019_Update_1

Tabelle 2: Serverkonfiguration

Alle hier gezeigten Ergebnisse basieren auf Tests mit einem einzelnen Server. Die Performance auf Clusterebene ist an die Performance eines einzelnen Servers gebunden. Die folgenden Metriken wurden verwendet, um die Performance zu vergleichen:
  • Stream – Triaden-Score, wie vom Stream-Benchmark gemeldet.
  • HPL – GFLOP/Sekunde
  • Fluent - Solver-Bewertung, wie von Fluent gemeldet.
  • WRF – Durchschnittlicher Zeitschritt, berechnet über die letzten 719 Intervalle für Conus 2,5 km

Benchmarks und Anwendungsergebnisse

Abkürzungen in der Diagrammnotation:

Systemprofile:

Performance – PerformanceSLN316864_en_US__2a2 OS – PerformancePerWattOS DAPC – PerformancePerWattDAPC SLN316864_en_US__3a3SLN316864_en_US__4a1
Sub-NUMA-Clustering: SNC = 0(SNC = deaktiviert): SNC = 1(SNC = aktiviert: Formatiert als Striped in graphs)
SW – Software Prefetcher: SW = 0 (SW = Deaktiviert): SW = 1 (SW = aktiviert)

SLN316864_en_US__5image006
 Abbildung 2: Linpack mit hoher Performance

Abbildung 2 vergleicht das Ergebnis von HPL mit Problemgröße = 90 %, d. h. N = 144476 über verschiedene BIOS-Optionen hinweg. Das Diagramm stellt die absoluten Gigaflops dar, die während der Ausführung von HPL über verschiedene BIOS-Konfigurationen hinweg erzielt wurden. Diese erhaltenen Gigaflops werden auf der y-Achse aufgetragen, höher ist besser.
Nachfolgend finden Sie die Beobachtungen aus dem Diagramm:
  • Weniger als 1 % Unterschied in der HPL-Leistung aufgrund von Software-Prefetch.
  • Keine größeren Auswirkungen von SNC auf die HPL-Leistung (0,5 % besser mit SNC = Disabled).
  • Das Performancesystemprofil ist im Vergleich zu OS und DAPC um bis zu 6 % besser.
 SLN316864_en_US__6image008
Abbildung 3: Stream

In Abbildung 3 werden die Ergebnisse von STREAM mit den verschiedenen BIOS-Konfigurationen verglichen.
Das Diagramm stellt die Speicherbandbreite in Gigabyte pro Sekunde dar, die während der Ausführung von STREAM Triad abgerufen wird. Die erhaltene Speicherbandbreite (GB/s) wird auf der y-Achse aufgetragen, je höher ist die Verbesserung. Die BIOS-Konfiguration im Zusammenhang mit bestimmten Werten von Gigabyte pro Sekunde wird auf der X-Achse dargestellt.
Nachfolgend finden Sie die Beobachtungen aus dem Diagramm:
  • Bis zu 3 % bessere Speicherbandbreite mit SNC=enabled.
  •  Keine große Abweichung in der Leistung aufgrund von Software-Prefetch auf STREAM-Speicherbandbreite. 
  •  Keine Abweichung zwischen Systemprofilen.
   SLN316864_en_US__7a4
Abbildung 4: Speicherbandbreite – SNC

In Abbildung 4 ist die Bewertung der Speicherbandbreite der Stream-Triade in einer solchen Konfiguration dargestellt. Die gesamte Systemspeicherbandbreite beträgt ~220 GB/s. Wenn 20 Cores auf einem lokalen Sockel auf den lokalen Speicher zugreifen, beträgt die Speicherbandbreite ~ 109 GB/s - die Hälfte der gesamten Systembandbreite. Die Hälfte davon, ~56 GB/s, ist die Speicherbandbreite von 10 Threads auf demselben NUMA-Node, die auf ihren lokalen Speicher zugreifen, und auf einem NUMA-Node auf den Arbeitsspeicher, der zum anderen NUMA-Node auf demselben Sockel gehört. Es gibt einen Rückgang der Speicherbandbreite um 42 % auf ~33 GB/s, wenn die Threads über die QPI-Verbindung auf dem Remote-Socket auf Remotespeicher zugreifen. Dies zeigt uns, dass es im SNC-Modus erhebliche Bandbreiteneinbußen gibt, wenn die Daten nicht lokal sind.

SLN316864_en_US__8image012
 Abbildung 5: WRF

Abbildung 5 vergleicht das Ergebnis von WRF mit verschiedenen BIOS-Optionen. Das verwendete Datenvolumen ist ca. 2,5 km mit der Standarddatei "namelist.input".
Das Diagramm stellt den absoluten durchschnittlichen Zeitschritt in Sekunden dar, der während der Ausführung des WRF-conus2,5-km-Datenvolumens auf verschiedenen BIOS-Konfigurationen ermittelt wurde. Der durchschnittlich erhaltene Zeitschritt wird auf der y-Achse aufgetragen, niedriger ist besser. Die relativen Profile, die bestimmten Werten des durchschnittlichen Zeitschritts zugeordnet sind, werden auf der x-Achse dargestellt.
Nachfolgend finden Sie die Beobachtungen aus dem Diagramm:
  • 2 % bessere Leistung mit SNC = Enabled.
  •  Kein Leistungsunterschied zwischen aktiviertem und deaktiviertem Software-Prefetch.
  •  Das Performanceprofil ist 1 % besser als die PerformancePerWattDAPC-Profile.
  SLN316864_en_US__9a7
 SLN316864_en_US__10a6
In Abbildung 6 bis Abbildung 9 wird die Solver-Bewertung dargestellt, die während der Ausführung von Fluent mit Ice_2m-, Combustor_12m-, Aircraft_Wing_14m- bzw. Exhaust_System_33m-Datenvolumen erzielt wurde. Die erhaltene Solver-Bewertung wird auf der y-Achse aufgetragen. Höher ist besser. Die relativen Profile, die bestimmten Werten der Durchschnittszeit zugeordnet sind, werden auf der X-Achse dargestellt.
Im Folgenden finden Sie die allgemeinen Beobachtungen aus den obigen Diagrammen:
  • Bis zu 4 % bessere Leistung mit SNC = Enabled.
  • Keine Auswirkung von Software Prefetch auf die Leistung.
  • Bis zu 2 % bessere Performance mit Performanceprofil im Vergleich zu DAPC- und BS-Profilen.

Entscheidung

In dieser Studie haben wir die Auswirkungen verschiedener BIOS-Tuningoptionen auf die Leistung bei Verwendung des Intel Xeon Gold 6230 Prozessors bewertet. Aus der Betrachtung der Leistung verschiedener BIOS-Optionen über verschiedene Benchmarks und Anwendungen hinweg wird folgendes Fazit gezogen:
  • Software Prefetch hat keine signifikanten Auswirkungen auf die Performance der getesteten Datasets. Daher empfehlen wir, dass Software Prefetcher als Standard beibehalten wird, d. h. aktiviert ist
  • Mit SNC = Enabled 2-4 % Leistungssteigerung in Fluent und Stream, ca. 1 % in WRF im Vergleich zu SNC = Disabled. Daher empfehlen wir, SNC zu aktivieren, um eine bessere Leistung zu erzielen.
  • Das Performanceprofil ist 2 bis 4 % besser als PerformancePerWattDAPC und PerformancePerWattOS. Daher empfehlen wir das Performanceprofil für HPC.
Es wird empfohlen, Hyper-Threading für allgemeine HPC-Cluster zu deaktivieren. Je nach den verwendeten Anwendungen sollte der Nutzen dieser Funktion getestet und gegebenenfalls aktiviert werden.

In dieser Studie wird eine Speicher-RAS-Funktion namens Adaptive Double DRAM Device Correction (ADDDC) nicht behandelt, die verfügbar ist, wenn ein System mit Arbeitsspeicher konfiguriert ist, der über eine x4-DRAM-Organisation verfügt (32-GB-, 64-GB-DIMMs). ADDDC ist nicht verfügbar, wenn ein System über x8-basierte DIMMs (8 GB, 16 GB) verfügt, und ist in diesen Konfigurationen nicht wesentlich. Für HPC-Workloads wird empfohlen, ADDDC auf deaktiviert festzulegen, wenn es als anpassbare Option verfügbar ist.

 

Article Properties


Affected Product

High Performance Computing Solution Resources, Poweredge C4140, Red Hat Enterprise Linux Version 7

Last Published Date

10 Apr 2021

Version

4

Article Type

Solution