Lösungsübersicht
In diesem Blog wird die Dell EMC HPC-NFS-Speicherlösung Version 7.4 (NSS7.4-HA) beschrieben, die die zweiten Generation der skalierbaren Prozessoren von Intel Xeon mit dem Codenamen "Cascade Lake" nutzt. Diese verbesserten Xeon-Prozessoren verfügen über bis zu 28 Kerne, bis zu 38,5 MB Last-Level-Cache und sechs 2933 MT/s-Arbeitsspeicherkanäle pro Sockel. Die wichtigsten Funktionen von Cascade Lake-Prozessoren sind die integrierten
Hardware-Abschwächungen vor Seitenkanal Angriffen, die
Intel DL Boost (VNNI) und die Unterstützung für höhere Taktraten und Speichergeschwindigkeiten.
Cascade Lake und seine Vorgänger Skylake beinhalten eine Funktion namens
ADDDC (
adaptive
dDoppel
dRAM
deräte
Correction). ADDDC wird zur Laufzeit bereitgestellt, um fehlerhafte DRAM-Geräte dynamisch zu kartieren und gleichzeitig
Single
Device
Data
Correction (SDDC, Einzelgeräte-Datenkorrektur) und ECC-Arbeitsspeicher (Error-correcting Code) bereitzustellen und so die Lebensdauer von DIMMs zu erhöhen. Diese Funktion ist nur für x4-DRAM-Geräte aktiviert und hat keine Funktion, wenn im System x8-DRAM-Geräte vorhanden sind. Da die neueste NSS-HA-Version 7.4 nur den 16-GB-Arbeitsspeicher verwendet, der in x8 organisiert ist, ist ADDDC grau unterlegt und keine einstellbare Option im BIOS. Wenn Sie jedoch einen 32-GB-Speicher (X4) verwenden, wird ADDDC als einstellbare Option zur Verfügung stehen, und es wird empfohlen, auf Disabled (deaktiviert) festzulegen, um die Leistung über die RAS Funktionen zu verbessern.
Es wird empfohlen, die NFS-Server mit dem HPC Profil zu konfigurieren, wie im Blog "
BIOS-Charakterisierung für Intel Cascade Lake-Prozessoren" beschrieben. dazu gehört auch das Tuning des BIOS zum Einstellen von Sub-NUMA-Clustern aktiviert, logischer Prozessor deaktiviert und Systemprofil auf "Leistung" eingestellt. Wenn Sie ein vorhandenes System aktualisieren, stellen Sie sicher, dass das BIOS zunächst auf eine Version aktualisiert wird, die Cascade Lake-CPUs unterstützt, bevor die CPUs auf Cascade Lake-Prozessoren aktualisiert werden. Das HPC-Techniker-Team im HPC and AI Innovation Lab hat eine Reihe von Benchmarktests mit NSS-Servern durchgeführt, die mit Cascade Lake-Prozessoren ausgestattet sind, und die Ergebnisse mit denen verglichen, die zuvor von der Lösung NSS7.3-HA gewonnen wurden, die die neueste Version von PowerEdge-Servern verwenden, die mit den Prozessoren der Xeon-Reihe der Vorgängergeneration "Skylake-SP" ausgestattet sind. Die Benchmark-Ergebnisse und der Vergleich werden in diesem Blog dargestellt.
Die NFS Speicherlösung, die von Dell EMC bereitgestellt wird, ist optimiert und optimiert für eine optimale Performance. Bei der Einrichtung der Lösung NSS7.4-HA sind folgende Punkte zu beachten:
- Das niedrigste unterstützte Betriebssystem für die Verwendung von Cascade Lake-Prozessoren ist Red Hat Enterprise Linux 7.6. Mit der Kernel-Version 3.10.0-957.el7 hängt die NFS-Freigabe jedoch von einer Aufgabe ab, z. B. kworker, die 100 % der CPU beansprucht. Die Ursache des Problems liegt darin begründet, dass die TCP-Schicht mit dem Transportstatus der sunrpc-Schicht nicht mehr synchron ist. Dieses Problem wurde mit dem Paket kernel-3.10.0-957.5.1.el7 oder höher behoben. Das grundlegende Betriebssystem, das für diese Lösung verwendet wird, ist RHEL 7.6, und die verwendete Kernel-Version ist kernel-3.10.0-957.5.1.el7. Weitere Informationen finden Sie unter https://access.redhat.com/solutions/3742871.
- Für die NSS7.4-HA-Lösung kann die Ressource "nfsserver" nicht gestartet werden, es sei denn, die folgenden Pakete sind installiert, da "nfs-idmapd.service" nicht gestartet werden kann. Weitere Informationen finden Sie unter https://access.redhat.com/solutions/3746891.
- resource-agents-4.1.1-12.el7_6.4
- resource-agents-aliyun-4.1.1-12.el7_6.4
- resource-agents-gcp-4.1.1-12.el7_6.4 oder höher.
- In den Versionshinweisen von RHEL 7.6 wird darauf hingewiesen, dass ein Fehler in der E/A-Schicht von LVM zu Datenbeschädigungen in den ersten 128 KB des Speicherplatzes eines physischen Volumes führt. Das Problem wurde mit lvm2-2.02.180-10.el7_6.2 oder höher behoben. Stellen Sie daher sicher, dass das lvm2-Paket auf die neueste Version aktualisiert wird. Wenn die Aktualisierung von lvm2 nicht möglich ist, kann das Problem umgangen werden, indem Sie keine LVM-Befehle verwenden, die VG-Metadaten (Volume-Gruppe) wie lvcreate oder lvextend ändern, während die logischen Volumes in der VG verwendet werden.
NSS7.4-HA-Architektur
Abbildung 1 zeigt das Design von NSS7.4-HA. Mit Ausnahme der erforderlichen Software- und Firmware-Updates verwenden NSS7.4-HA und NSS7.3-HA die gleiche HA-Cluster-Konfiguration und Speicherkonfiguration. Das Paar der NFS-Server in der Aktiv-Passiv-Konfiguration mit hoher Verfügbarkeit ist mit dem PowerVault ME4084 verbunden. Jeder NFS-Server verfügt über zwei SAS-Karten. Jede Karte verfügt über ein SAS-Kabel für jeden Controller im gemeinsam genutzten Speicher, sodass der Ausfall einer einzelnen SAS-Karte oder eines SAS-Kabels die Datenverfügbarkeit nicht beeinträchtigt. (Weitere Informationen zur Konfiguration finden Sie in dem
Whitepaper zu NSS7.3-HA.)
NSS7.4-HA-Architektur
Vergleich der Komponenten von NSS7.4-HA und NSS7.3-HA
Obwohl die Dell NSS-HA-Lösungen viele Hardware- und Software-Upgrades seit der ersten NSS-HA-Version erhalten haben, um eine höhere Verfügbarkeit, höhere Leistung und eine größere Speicherkapazität zu bieten, sind die architektonischen Entwurfs- und Bereitstellungsrichtlinien der NSS-HA-Lösungsfamilie unverändert geblieben. Die neueste Version und die frühere Version NSS7.3-HA nutzen das gleiche Speicher-Back-End wie Power Vault ME4084. In der folgenden Tabelle finden Sie einen Vergleich der Komponenten der neuesten Lösung NSS7.4-HA und der vorherigen Lösung NSS7.3-HA.
Tabelle 1: Tabelle 1: Vergleich der Komponenten von NSS7.4-HA und NSS7.3-HA
Lösung |
Version NSS7.4-HA (June 2019) |
Version NSS7.3-HA (Oktober 2018) |
NFS-Servermodell |
Zweimal Dell EMC PowerEdge R740 |
Interne Konnektivität |
Gigabit-Ethernet mit Dell Networking S3048-ON |
Speichersubsystem |
Dell EMC PowerVault ME4084 84-3,5 "nl SAS Festplatten, bis zu 12 TB. Unterstützt bis zu 1008TB (RAW-Speicherplatz) 8 LUNs, Linear 8 + 2 RAID 6, Blockgröße 128KiB. 4 globale Ersatz-HDDs |
Speicherverbindung |
SAS-Verbindungen mit 12 Gbit/s |
Prozessor |
Zweimal Intel Xeon Gold 6240 bei 2,6 GHz, 18 Kerne pro Prozessor |
Zweimal Intel Xeon Gold 6136 bei 3,0 GHz, 12 Kerne pro Prozessor |
Speicher |
Zwölfmal 16GiB 2933 MT/s RDIMMs |
Zwölfmal 16GiB 2666 MT/s RDIMMs |
Betriebssystem |
Red Hat Enterprise Linux 7.6 |
Red Hat Enterprise Linux 7.5 |
Kernel-Version |
3.10.0-957.5.1.el7.x86_64 |
3.10.0-862.el7.x86_64 |
Red Hat Scalable File System (XFS) |
v4.5.0-18 |
v4.5.0-15 |
Externe Netzwerkkonnektivität |
Mellanox ConnectX-5 InfiniBand EDR/100 GbE und 10 GbE |
Mellanox ConnectX-5 InfiniBand EDR und 10 GbE Für NSS 7.3-ha-Lösungs Blogwurde Mellanox ConnectX-4 IB EDR/100 GbE verwendet. |
OFED-Version |
Mellanox OFED 4.5-1.0.1.0 |
Mellanox OFED 4.4-1.0.0 |
Im restlichen Blog werden die Testumgebung und die E/A-Leistungsinformationen von NSS7.4-HA vorgestellt. Um den Leistungsunterschied zwischen NSS7.4-HA und der vorherigen Version zu zeigen, werden auch die entsprechenden Leistungszahlen von NSS7.3-HA vorgestellt.
Testumgebungskonfiguration
Die Testumgebung, die zur Bewertung der Leistung und Funktionalität der Lösung NSS7.4-HA verwendet wird, wird hier beschrieben. Beachten Sie, dass die CPUs, die für Leistungstests verwendet werden, sich von den für die Lösung ausgewählten Prozessoren unterscheiden, da die Xeon Gold 6240-CPUs nicht rechtzeitig für diesen Beitrag eingetroffen sind. Der Plan besteht darin, einige der Tests zu wiederholen, sobald die 6240-Prozessoren verfügbar sind, und diesen Bericht bei Bedarf zu ändern.
Tabelle 2: NSS 7.4-ha-Hardware Konfiguration
Serverkonfiguration |
NFS-Servermodell |
Dell PowerEdge R740 |
Prozessor |
Zweimal Intel Xeon Gold 6244 CPU bei 3,6 GHz mit jeweils acht Kernen |
Speicher |
Zwölfmal 16GiB 2933 MT/s RDIMMs |
Lokale Festplatten und RAID-Controller |
PERC H730P mit fünf 300-GB-SAS-Festplatten mit 15.000 U/min. Zwei Laufwerke werden als RAID1 für das Betriebssystem konfiguriert, zwei Laufwerke sind als RAID0 für Auslagerungsspeicher konfiguriert und das fünfte Laufwerk ist ein Hot-Spare für die RAID1-Datenträgergruppe. |
Mellanox EDR-Karte (Steckplatz 8) |
Mellanox ConnectX-5 EDR-Karte |
1GbE-Ethernet-Karte (Tochterkartensteckplatz) |
Broadcom 5720 QP 1-Gigabit-Ethernet-Netzwerk-Tochterkarte oder Intel(R) Gigabit 4P I350-t rNDC |
Externer Storage-Controller (Steckplatz 1 und Steckplatz 2) |
Zwei Dell 12Gbit/s-SAS-HBAs |
Systemverwaltung |
iDRAC9 Enterprise |
Speicherkonfiguration |
Speichergehäuse |
Ein Dell PowerVault ME4084-Gehäuse |
RAID-Controller |
Duplex-RAID-Controller im Dell ME4084 |
Festplatten |
84 – 10 TB 7,2k NL SAS-Laufwerke pro Array, 84-mal 10-TB-Festplatten insgesamt |
Sonstige Komponenten |
Privater Gigabit-Ethernet-Switch |
Dell Netzwerke S3048-ON |
Netzverteiler |
Zwei APC Switched Rack-Netzverteiler, Modell AP7921B |
Tabelle 3: NSS 7.4-ha-Server-Software Versionen
Komponente |
Beschreibung |
Betriebssystem |
Red Hat Enterprise Linux (RHEL) 7.6 x86_64 errata |
Kernel-Version |
3.10.0-957.5.1.el7.x86_64 |
Cluster Suite |
Red Hat Cluster Suite von RHEL 7.6 |
Dateisystem |
Red Hat Scalable File System (XFS) 4.5.0-18 |
Systemverwaltungstool |
Dell OpenManage Server Administrator 9.3.0-3407_A00 |
Tabelle 4: NSS 7.4-ha-Client Konfiguration
Komponente |
Beschreibung |
Server |
32 Dell EMC PowerEdge C6420 Serverknoten |
CPU |
2 Intel Xeon Gold 6148 CPU bei 2,40 GHz mit 20 Kernen pro Prozessor |
Speicher |
Zwölfmal 16GiB 2666 MT/s RDIMMs |
Betriebssystem |
Red Hat Enterprise Linux Server Version 7.6 |
Kernel-Version |
3.10.0-957.el7.x86_64 |
Interconnect |
Mellanox InfiniBand EDR |
OFED-Version |
4.3-1.0.1.0 |
ConnectX-4 Firmware |
12.17.2052 |
Zusammenfassung der E/A-Leistung des NSS7.4-HA
In diesem Abschnitt werden die Ergebnisse der E/A-Leistungstests für die aktuelle NSS7.4-Lösung vorgestellt. Alle Leistungstests wurden in einem Szenario ohne Ausfälle durchgeführt, um die maximale Leistungsfähigkeit der Lösung zu messen. Die Tests konzentrierten sich auf drei Arten von E/A-Mustern: große sequenzielle Lese- und Schreibvorgänge, kleine zufällige Lese- und Schreibvorgänge und drei Metadaten-Operationen (file create, stat und remove). Wie die vorherige Version NSS 7.3-ha verwendet die Lösung den Deadline-I/O-Scheduler und 256-NFS-Daemons.
Eine 840TB-Konfiguration (RAW-Speichergröße) wurde mit der IPoIB-Netzwerkverbindung über EDR benchmarkiert. Ein 32-Knoten-Datenverarbeitungscluster wurde verwendet, um die Rechenlast für die Benchmarktests zu generieren. Jeder Test wurde über eine Reihe von Clients durchgeführt, um die Skalierbarkeit der Lösung zu testen.
Die IOzone-und mdtest-Benchmarks wurden in dieser Studie verwendet. IOzone wurde für sequenzielle und zufällige Tests verwendet. Für sequenzielle Tests wurde eine Anfragegröße von 1024 KiB verwendet. Die Gesamtmenge der übertragenen Daten betrug 2 TB, um sicherzustellen, dass der NFS-Server-Cache ausgelastet war. Bei Zufallstests wurde eine Anfragegröße von 4 KiB verwendet und jeder Client hat eine 4 GiB-Datei gelesen und geschrieben. Metadaten-Tests wurden unter Verwendung des Benchmarktests mdtest mit openmpi und den integrierten Operationen file create, stat und remove durchgeführt. Weitere Informationen finden Sie in Anhang A des Whitepapers zu NSS7.3-HA zu den gesamten in den Tests verwendeten Befehlen.
IPoIB – sequenzielle Schreib- und Lesevorgänge N-N
Zur Auswertung sequenzieller Lese- und Schreibvorgänge wurde der Benchmarktest IOzone, Version 3.487, im sequenziellen Lese- und Schreibmodus verwendet. Diese Tests wurden mit verschiedenen Threadanzahlen durchgeführt, beginnend mit einem Thread und Erhöhungen um die Potenzen von 2, bis zu 64 Threads. Bei jeder Threadanzahl wurde eine entsprechende Anzahl von Dateien generiert, da dieser Test auf eine Datei pro Thread oder den N-N-Fall ausgelegt ist. Eine aggregierte Dateigröße von 2 TB wurde ausgewählt, die gleichmäßig auf die Anzahl der Threads innerhalb eines bestimmten Tests aufgeteilt ist.
Abbildung 2 zeigt einen Vergleich der sequenziellen e/a-Performance von NSS 7.4-ha-Version mit der NSS Version 7.3-ha. Anhand der Abbildung wird festgestellt, dass die neueste Version NSS7.4 und die vorherige Version NSS7.3 ähnliche Spitzenleistung aufweisen, bei Lesevorgängen von ca. 7 Gbit/s und einer Spitzenschreibleistung von ca. 5 Gbit/s. Bei einigen Threadanzahlen wurde jedoch eine Verringerung der Schreibleistung um 15 – 20 % im Vergleich zur Lösung NSS7.3-HA festgestellt. Die Untersuchung dieser Leistungsunterschiede erfolgt derzeit. Die Leseleistung verzeichnete eine Steigerung von fast 45 % bei einer Threadanzahl von 1 und 2 und eine Zunahme von 18 % bei einer Threadanzahl von 8. Bei einer Threadanzahl von mehr als 8 ist die Leseleistung ähnlich wie bei der Lösung NSS7.3-HA. Die Zunahme der Leseleistung bei einer geringeren Anzahl von Threads ist wahrscheinlich auf die Hardwaremaßnahmen zurückzuführen, der auf den Cascade Lake-Prozessoren gegen Seitenkanalangriffe vorhanden sind. IPoIB – große sequenzielle E/A-Leistung
IPoIB – zufällige Schreib-und Lesevorgänge N-N
Um die zufällige E/A-Leistung zu evaluieren, wurde IOzone Version 3.487 im Random-Modus verwendet. Die Tests wurden für Threadanzahlen von 1 bis 64 in Potenzen von 2 durchgeführt. Die Datensatzgröße wurde auf 4 KB festgelegt. Jeder Client hat eine 4 GiB-Datei gelesen oder geschrieben, um kleine zufällige Datenzugriffe zu simulieren. Da das Cluster nur 32-Nodes hat, wurde der 64-Thread-Datenpunkt mit 32-Clients abgerufen, die jeweils 2 Threads ausführen.
Abbildung 3 zeigt den Vergleich der zufälligen Schreib-und Lese-I/O-Performance von NSS 7.4-ha mit der NSS 7.3-ha. Aus der Abbildung lässt sich erkennen, dass NSS7.4 eine ähnliche zufällige Schreibspitzenleistung wie NSS7.3-HA von ca. 7300 IOPS hat. Bei der Lösung NSS7.4-HA ist die Schreibleistung für die niedrigere Threadanzahl von 1 und 2 im Vergleich zur vorherigen Version der Lösung um etwa 14 % geringer. Die Ursachen werden derzeit untersucht. Die zufällige Leseleistung steigt bei NSS7.4 kontinuierlich an und erreicht ihre Spitzenleistung von 16607 IOPS bei 64 Threads. In der vorherigen Version NSS7.3-HA wurde die Spitzenleistung von 28811 IOPS bei 32 Threads erreicht, das ist 42 % höher als die Spitzenleistung bei zufälligen Lesevorgängen in der Lösung NSS7.4-HA. IPoIB – zufällige E/A-Leistung
IPoIB – Metadaten-Operationen
Um die Metadaten-Leistung des Systems zu evaluieren, wurde das MDTest Tool Version 1.9.3 verwendet. Die verwendete MPI-Distribution war OpenMPI Version 1.10.7. Die Metadaten-Tests wurden durchgeführt, indem 960000-Dateien für eine Threadanzahl von bis zu 32 erstellt und anschließend die Anzahl der Dateien erhöht wurde, um die Skalierbarkeit der Lösung wie in Tab. 5 dargestellt zu testen. Metadatenprüfung: Verteilung von Dateien und Verzeichnissen über Threads hinweg
Anzahl der Threads |
Anzahl der Dateien pro Verzeichnis |
Anzahl der Verzeichnisse pro Thread |
Gesamtzahl der Dateien |
1 |
3000 |
320 |
960000 |
2 |
3000 |
160 |
960000 |
4 |
3000 |
80 |
960000 |
8 |
3000 |
40. |
960000 |
16 |
3000 |
20 |
960000 |
32 |
3000 |
10 |
960000 |
64. |
3000 |
8 |
1536000 |
128 |
3000 |
4 |
1436000 |
256 |
3000 |
4 |
3072000 |
512 |
3000 |
4 |
6144000 |
Abbildung 4, Abbildung 5 und Abbildung 6 zeigen jeweils die Ergebnisse der Operationen file create, stat und remove. Da der HPC-Datenverarbeitungscluster über 32 Datenverarbeitungsknoten verfügt, hat jeder Client in den nachfolgenden Diagrammen maximal einen Thread pro Knoten für die Anzahl von bis zu 32 ausgeführt. Für Client-Anzahlen von 64, 128, 256 und 512 wurde für jeden Knoten 2, 4, 8 oder 16 Operationen gleichzeitig durchgeführt.
Bei der Dateierstellung mit file create gibt es eine Verbesserung der Leistung um 20 % bei bis zu 16 Threads. Ab 32 Threads ist die Leistung der beiden Versionen nahezu gleich.
Stat-Vorgänge in NSS 7.4 registrierten eine Steigerung der Performance von 10% für die niedrigeren Thread-Anzahlen (1, 2, 8 und 16) und einen > die Performance bei höheren Thread-Zähl Werten von 30% (von 64-Threads zu 512-Threads).
Schließlich verzeichneten die Entfernungsvorgänge eine Reduzierung der Performance um 14% auf bis zu 64 Clients und eine > um 20% für höhere Thread-Anzahl von 128.256 und 512.
Abbildung 4: IPoIB-Datei Performance erstellen
Abbildung 5: IPoIB fiel stat
Performance
Abbildung 6: IPoIB Pfui Leistung entfernen
Entscheidung
In der folgenden Tabelle sind die Leistungsunterschiede zwischen den neuesten Lösung NSS7.4 und der Lösung NSS7.3 zusammengefasst. Tabelle 5: Leistungsvergleich der HA-Versionen NSS7.4 und NSS7.3
Dell EMC HPC NFS-Speicher |
NSS7.4-HA |
NSS7.4 – HA NSS7.3-HA |
Seq. 1MB Schreibspitzen: 1,4% verringert |
4.834 MBit/s |
4.906 MBit/s |
Seq. 1MB Lesevorgänge Peak: 0,7% verringert |
7.024 MBit/s |
7.073 MBit/s |
Random 4 KB Schreibspitzen Wert: 0,7% verringert |
7.290 IOps |
7.341 IOps |
Zufällige 4 KB Lesevorgänge Spitzenwert: 42% verringert |
16.607 IOps |
28.811 IOps |
Erstellen von Vorgängen/zweiter Spitzenwert: 1,1% verringert |
54.197 Op/s |
54.795 Op/s |
Stat Operations/Second Peak: 35% verringert |
522.231 Op/s |
808.317 Op/s |
Entfernen Sie Vorgänge/zweiter Spitzenwert: 35% verringert |
47.345 Op/s |
73.320 Op/s |
Aus den oben genannten Ergebnissen lässt sich schließen, dass die aktuelle Lösung NSS7.4-HA eine vergleichbare Leistung mit der Vorgängerversion der Lösung NSS7.3-HA bietet. Wir planen, die Benchmark-Tests mit Xeon Gold 6240 CPUs mit 18 Kernen pro Prozessor durchzuführen, um zu verstehen, ob die Leistungseinbußen bei zufälligen Lesevorgängen und die Leistungseinbußen bei höheren Threadanzahlen bei den befehlen "file stat" und "file remove" auf die geringere Anzahl von Kernen in den Xeon Gold 6244 CPUs (8 Kerne pro Prozessor) zurückzuführen ist, die für die Leistungsvergleiche der Lösung NSS7.4-HA verwendet wurden.
Referenzen
Detaillierte Informationen zu den NSS-HA-Lösungen finden Sie in unseren veröffentlichten Whitepapers.