AWS Germany – Amazon Web Services in Deutschland

Amazon FSx for Lustre erhöht den Netzwerkdurchsatz pro GPU-Instanz auf das bis zu 12 fache

von Danilo Poccia übersetzt von Ramin Torabi

Heute kündigen wir an, das Amazon FSx for Lustre nun auch den Elastic Fabric Adapter (EFA) und NVIDIA GPUDirect Storage (GDS) [EN] unterstützt. EFA ist eine Netzwerkschnittstelle für Amazon EC2-Instanzen, die besonders hohen Netzwerkdurchsatz bei gleichzeitig reduzierter Latenz ermöglicht. Dadurch können Workloads über viele Instanzen effizient skaliert werden ohne, dass Compute-Resourcen unnötig lange auf Netzwerkkommunikation warten müssen. GDS ist eine Technologie, die einen direkten Datenpfad zwischen lokalem oder entferntem Speicher und GPU-Speicher schafft. Das Kopieren der Daten in den Speicher der CPU ist ein unnötiger Zwischenschritt, der so umgangen wird. Mit diesen Verbesserungen bietet Amazon FSx for Lustre mit EFA/GDS-Unterstützung einen bis zu 12-mal höheren Durchsatz pro Client (bis zu 1200 Gbps) im Vergleich zur vorherigen FSx for Lustre-Version.

Sie können FSx for Lustre verwenden, um die leistungshungrigsten Anwendungen zu erstellen und auszuführen, wie beispielsweise Deep-Learning-Training, drug discovery (Arzneimittelforschung), Finanzmodellierung und die Entwicklung autonomer Fahrzeuge. Mit wachsender Größe der Datensätze und neuen Technologien können Sie zunehmend leistungsfähigere GPU- und HPC-Instanzen wie Amazon EC2 P5, Trn1 und Hpc7a einsetzen. Bisher war beim Zugriff auf FSx for Lustre-Dateisysteme der Durchsatz für einzelne Client-Instanzen durch die Verwendung herkömmlicher TCP-Netzwerke auf 100 Gbps begrenzt. Diese Entwicklung treibt die Notwendigkeit voran, dass FSx for Lustre-Dateisysteme die erforderliche Leistung bieten, um die zunehmende Netzwerkbandbreite dieser hochmodernen EC2-Instanzen beim Zugriff auf große Datensätze optimal zu nutzen.

Mit der Unterstützung von EFA und GDS in FSx for Lustre können Sie jetzt einen Durchsatz von bis zu 1.200 Gbps pro Client-Instanz erreichen (zwölfmal mehr Durchsatz als zuvor), wenn Sie P5 GPU-Instanzen und NVIDIA CUDA [EN] in Ihren Anwendungen verwenden.

Mit dieser neuen Fähigkeit können Sie die Netzwerkbandbreite der leistungsstärksten Recheninstanzen voll ausnutzen und Ihre Machine Learning (ML) und HPC-Workloads beschleunigen. EFA verbessert die Leistung, indem es den TCP/IP Stack im Kernel des Betriebssystems umgeht und das AWS Scalable Reliable Datagram (SRD) Protokoll [EN] verwendet, um den Datendurchsatz zu
optimieren. GDS verbessert die Geschwindigkeit weiter, indem es die direkte Datenübertragung zwischen dem Dateisystem und dem GPU-Speicher ermöglicht, die CPU umgeht und redundante Speicherkopien eliminiert.

Lassen Sie uns im Folgenden anschauen, wie das in der Praxis funktioniert.

Erstellen eines Amazon FSx for Lustre-Dateisystems mit aktivem EFA

Um zu beginnen, wähle ich in der Amazon FSx-Konsole Dateisystem erstellen und dann Amazon FSx for Lustre.

Ich gebe einen Namen für das Dateisystem ein. Im Abschnitt Bereitstellung und Speichertyp wähle ich Persistent, SSD und die neue Option with EFA enabled (mit aktivem EFA). Ich wähle 1000 MB/s/TiB im Abschnitt Durchsatz pro Speichereinheit. Mit diesen Einstellungen gebe ich 4,8 TiB für Speicherkapazität ein, was das Minimum ist, das mit diesen Einstellungen unterstützt wird.

Für das Netzwerk verwende ich das Default-Virtual Private Cloud (VPC) und eine Security Group mit aktivem EFA. Die anderen Einstellungen belasse ich beim Standard.

Auf der nächsten Seite kann überprüfe die Einstellungen und klicke auf den Dateisystem erstellen Knopf. Wenige Minuten danach ist das Lustre Dateisystem bereit.

Einbinden eines Amazon FSx for Lustre-Dateisystems mit aktiviertem EFA von einer Amazon EC2-Instanz aus

In der Amazon EC2-Konsole wähle ich Instance starten, gebe einen Namen für die Instanz ein und wähle das Ubuntu Amazon Machine Image (AMI). Für Instanztyp wähle ich trn1.32xlarge.

In den Netzwerkeinstellungen bearbeite ich die Standardeinstellungen und wähle das gleiche Subnetz, das vom FSx Lustre-Dateisystem verwendet wird. Unter Firewall (Security Groups) wähle ich drei bestehende Security Groups: die Security Group mit dem aktiven EFA, die vom FSx for Lustre-Dateisystem verwendet wird, die default Security Group und eine Security Group, die mir Secure Shell (SSH)-Zugriff ermöglicht.

In der Erweiterten Netzwerkkonfiguration wähle ich ENA und EFA als Schnittstellentyp. Ohne diese Einstellung würde die Instanz herkömmliches TCP-Netzwerk verwenden, und die Verbindung mit dem FSx for Lustre-Dateisystem wäre weiterhin auf einen Durchsatz von 100 Gbps begrenzt.

Um einen höheren Durchsatz zu erzielen, kann ich je nach Instanztyp mehr EFA-Netzwerkschnittstellen hinzufügen.

Ich starte die Instanz, verbinde mich, sobald sie bereit ist über EC2 Instance Connect und folge den Anweisungen zur Installation des Lustre-Clients im FSx for Lustre Benutzerhandbuch und zur Konfiguration von EFA-Clients.

Dann folge ich den Anweisungen zum Mounten eines FSx for Lustre-Dateisystems von einer EC2-Instanz aus.

Ich erstelle das Verzeichnis /fsx, welches als mount point für das Dateisystem dient:

sudo mkdir -p /fsx

Ich wähle das Dateisystem in der FSx-Konsole aus und suche den DNS-Namen (file_system_dns_name) und den Mount-Namen (mountname). Mit diesen Werten hänge ich das Dateisystem ein:

sudo mount -t lustre -o relatime,flock file_system_dns_name@tcp:/mountname /fsx

EFA wird automatisch verwendet, wenn Sie auf ein Dateisystem mit aktivem EFA von Client-Instanzen zugreifen, die ebenfalls EFA unterstützen und Lustre Version 2.15 oder höher verwenden.

Wissenswertes

EFA- und GDS-Unterstützung ist heute ohne zusätzliche Kosten für neue Amazon FSx for Lustre-Dateisysteme in allen AWS-Regionen verfügbar, in denen „persistent 2“ angeboten wird. FSx for Lustre verwendet automatisch EFA, wenn Kunden von Client-Instanzen, die EFA unterstützen, auf ein Dateisystem mit aktivem EFA zugreifen. Eine zusätzliche Konfiguration ist nicht erforderlich. Eine Liste der EC2-Client-Instanzen, die EFA unterstützen, finden Sie unter unterstützte Instanztypen im Amazon EC2-Benutzerhandbuch. Diese Netzwerkspezifikationstabelle beschreibt Netzwerkbandbreiten und EFA-Unterstützung für Instanztypen in der Kategorie Accelerated Computing (beschleunigtes Computing).

Um EFA-fähige Instanzen mit FSx for Lustre-Dateisystemen zu verwenden, müssen Sie Lustre 2.15-Clients auf Ubuntu 22.04 mit Kernel 6.8 oder höher verw
enden.

Beachten Sie, dass sich Ihre Client-Instanzen und Ihre Dateisysteme im selben Subnetz innerhalb Ihres Amazon Virtual Private Cloud (Amazon VPC) befinden müssen.

GDS wird auf Dateisystemen mit aktivem EFA automatisch unterstützt. Um GDS mit Ihren FSx for Lustre-Dateisystemen zu verwenden, muss auf der Lustre Client EC2-Instanz das NVIDIA Compute Unified Device Architecture (CUDA)-Toolkit Paket [EN], der Open-Source-NVIDIA-Treiber [EN] und der NVIDIA GPUDirect Storage-Treiber [EN] installiert sein. Diese Pakete sind beispielsweise im der AWS Deep Learning AMI vorinstalliert. Ihre CUDA-fähige Anwendung kann dann GPUDirect Storage (GDS) verwenden um die Datentransfers zwischen Ihrem Dateisystem und den GPUs zu beschleunigen.

Beachten Sie im Vorfeld, dass Dateisysteme mit aktivem EFA größere minimale Speicherkapazitätsinkremente haben als Dateisysteme, die nicht EFA-fähig sind. Wenn Sie beispielsweise den Datendurchsatz 1.000 MB/s/TiB wählen, beginnt die minimale Speicherkapazität für EFA-fähige Dateisysteme bei 4,8 TiB im Vergleich zu 1,2 TB für FSx for Lustre-Dateisysteme, die EFA nicht nutzen. Wenn Sie vorhaben, Ihre bestehenden Workloads zu migrieren, können Sie AWS DataSync verwenden, um Ihre Daten von einem bestehenden Dateisystem auf ein neues zu verschieben, das EFA und GDS unterstützt.

Für maximale Flexibilität bleibt FSx for Lustre sowohl mit EFA- als auch mit Nicht-EFA-Workloads kompatibel. Beim Zugriff auf ein Dateisystem mit aktivem EFA fließt der Datenverkehr von
Nicht-EFA-Client-Instanzen automatisch über traditionelle TCP/IP-Pakete mit Elastic Network Adapter (ENA), was einen nahtlosen Zugriff für alle Workloads ohne zusätzliche Konfiguration ermöglicht.

Um mehr über die EFA- und GDS-Unterstützung auf FSx for Lustre zu erfahren, einschließlich detaillierter Einrichtungshinweise und Best Practices, besuchen Sie die Amazon FSx for Lustre-Dokumentation. Beginnen Sie noch heute und erleben Sie das schnellste Dateisystem, das für Ihre GPU-Instanzen in der Cloud verfügbar ist.

Danilo

Über die Autoren

Danilo Poccia arbeitet mit Startups und Unternehmen jeder Größe zusammen, um deren Innovation zu unterstützen. In seiner Rolle als Chief Evangelist (EMEA) bei Amazon Web Services nutzt er seine Erfahrung, um Menschen dabei zu helfen, ihre Ideen zum Leben zu erwecken. Dabei konzentriert er sich auf serverlose Architekturen und ereignisgesteuerte Programmierung sowie auf die technischen und geschäftlichen Auswirkungen von maschinellem Lernen und Edge Computing. Er ist der Autor von „AWS Lambda in Action“ aus dem Manning-Verlag.