Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Elastic Fabric Adapter für HPC und ML-Workloads bei Amazon EC2
Ein Elastic Fabric Adapter (EFA) ist ein Netzwerkgerät, das Sie an Ihre EC2 Amazon-Instance anschließen können, um High Performance Computing (HPC) und Machine-Learning-Anwendungen zu beschleunigen. EFAermöglicht es Ihnen, die Anwendungsleistung eines lokalen HPC Clusters mit der Skalierbarkeit, Flexibilität und Elastizität der AWS Cloud zu erreichen.
EFAsbieten eine geringere und konsistentere Latenz und einen höheren Durchsatz als der TCP Transport, der traditionell in cloudbasierten HPC Systemen verwendet wird. Es verbessert die Leistung der Kommunikation zwischen Instanzen, was für Skalierung HPC und maschinelles Lernen von entscheidender Bedeutung ist. Es ist für die Verwendung in der vorhandenen AWS Netzwerkinfrastruktur optimiert und kann je nach Anwendungsanforderungen skaliert werden.
EFAslässt sich in Libfabric 1.7.0 und höher integrieren und unterstützt Open MPI 5 und höher sowie Intel MPI 2019 Update 5 und höher für HPC Anwendungen sowie Nvidia Collective Communications Library (NCCL) für maschinelles Lernen.
Anmerkung
Die Betriebssystem-Bypass-Funktionen von EFAs werden auf Windows-Instanzen nicht unterstützt. Wenn Sie eine EFA an eine Windows-Instance anhängen, fungiert die Instance als Elastic Network Adapter, jedoch ohne die zusätzlichen EFA Funktionen.
Inhalt
- EFAGrundlagen
- Unterstützte Schnittstellen und Bibliotheken
- Unterstützte Instance-Typen
- Unterstützte Betriebssysteme
- EFAEinschränkungen
- EFAPreisgestaltung
- EFAauf beschleunigten Instanzen
- Beginnen Sie mit und EFA MPI
- Beginnen Sie mit und EFA NCCL
- Erstellen Sie einen und hängen Sie ihn an EFA
- Trennen und löschen Sie eine EFA
- Überwachen von EFA
- Überprüfen Sie das Installationsprogramm EFA
EFAGrundlagen
An EFA ist ein Elastic Network Adapter (ENA) mit zusätzlichen Funktionen. Er bietet die gesamte Funktionalität einesENA, mit einer zusätzlichen Betriebssystem-Bypass-Funktionalität. OS-Bypass ist ein Zugriffsmodell, mit dem Anwendungen für maschinelles Lernen direkt mit der Netzwerkschnittstellen-Hardware kommunizieren könnenHPC, um zuverlässige Transportfunktionen mit niedriger Latenz bereitzustellen.
![Vergleich eines herkömmlichen HPC Software-Stacks mit einem, der einen verwendet. EFA](images/efa_stack.png)
Traditionell verwenden HPC Anwendungen das Message Passing Interface (MPI) als Schnittstelle zum Netzwerktransport des Systems. In der AWS Cloud bedeutete dies, dass Anwendungen eine Schnittstelle mit MPI dem TCP /IP-Stack des Betriebssystems und dem ENA Gerätetreiber herstellen, um die Netzwerkkommunikation zwischen Instanzen zu ermöglichen.
Mit einem verwenden HPC Anwendungen MPI oder EFA, um eine Schnittstelle NCCL zur APILibfabric herzustellen. Die Libfabric API umgeht den Betriebssystem-Kernel und kommuniziert direkt mit dem EFA Gerät, um Pakete in das Netzwerk zu stellen. Dadurch wird der Overhead reduziert und die HPC Anwendung kann effizienter ausgeführt werden.
Anmerkung
Libfabric ist eine Kernkomponente des OpenFabrics Interfaces (OFI) -Frameworks, das den Benutzerbereich API von definiert und exportiert. OFI Weitere Informationen finden Sie auf der OpenFabricsLibfabric-Website
Unterschiede zwischen und EFAs ENAs
Elastic Network Adapters (ENAs) bieten herkömmliche IP-Netzwerkfunktionen, die zur Unterstützung von VPC Netzwerken erforderlich sind. EFAsbieten dieselben traditionellen IP-Netzwerkfunktionen wie ENAs und unterstützen auch Betriebssystem-Bypass-Funktionen. OS-Bypass ermöglicht es HPC Anwendungen für maschinelles Lernen, den Betriebssystemkern zu umgehen und direkt mit dem EFA Gerät zu kommunizieren.
Unterstützte Schnittstellen und Bibliotheken
EFAsunterstützt die folgenden Schnittstellen und Bibliotheken:
-
Open MPI 5 und höher
-
Open MPI 4.0 oder neuer wird für Graviton bevorzugt
-
Intel MPI 2019 Update 5 und höher
-
NVIDIABibliothek für kollektive Kommunikation (NCCL) 2.4.2 und höher
Unterstützte Instance-Typen
Die folgenden Instance-Typen unterstützen EFAs:
-
Allgemeiner Zweck:
m5dn.24xlarge
m5dn.metal
|m5n.24xlarge
|m5n.metal
|m5zn.12xlarge
|m5zn.metal
|m6a.48xlarge
|m6a.metal
|m6i.32xlarge
m6i.metal
|m6id.32xlarge
|m6id.metal
|m6idn.32xlarge
|m6idn.metal
|m6in.32xlarge
|m6in.metal
|m7a.48xlarge
|m7a.metal-48xl
|m7g.16xlarge
|m7g.metal
|m7gd.16xlarge
|m7gd.metal
|m7i.48xlarge
m7i.metal-48xl
-
Für die Datenverarbeitung optimiert:
c5n.9xlarge
c5n.18xlarge
c5n.metal
| |c6a.48xlarge
|c6a.metal
|c6gn.16xlarge
|c6i.32xlarge
|c6i.metal
|c6id.32xlarge
|c6id.metal
|c6in.32xlarge
|c6in.metal
|c7a.48xlarge
|c7a.metal-48xl
|c7g.16xlarge
| |c7g.metal
|c7gd.16xlarge
|c7gd.metal
|c7gn.16xlarge
|c7gn.metal
|c7i.48xlarge
|c7i.metal-48xl
-
Speicheroptimiert:
r5dn.24xlarge
|r5dn.metal
|r5n.24xlarge
|r5n.metal
|r6a.48xlarge
|r6a.metal
|r6i.32xlarge
r6i.metal
|r6idn.32xlarge
|r6idn.metal
|r6in.32xlarge
|r6in.metal
|r6id.32xlarge
|r6id.metal
|r7a.48xlarge
|r7a.metal-48xl
|r7g.16xlarge
|r7g.metal
|r7gd.16xlarge
|r7gd.metal
|r7i.48xlarge
|r7i.metal-48xl
|r7iz.32xlarge
|r7iz.metal-32xl
|r8g.24xlarge
|r8g.48xlarge
r8g.metal-24xl
|r8g.metal-48xl
|u7i-12tb.224xlarge
|u7in-16tb.224xlarge
|u7in-24tb.224xlarge
|u7in-32tb.224xlarge
|x2idn.32xlarge
|x2idn.metal
|x2iedn.32xlarge
|x2iedn.metal
|x2iezn.12xlarge
|x2iezn.metal
-
Speicheroptimiert:
i3en.12xlarge
|i3en.24xlarge
|i3en.metal
|i4g.16xlarge
|i4i.32xlarge
|i4i.metal
|im4gn.16xlarge
-
Beschleunigtes Rechnen:
dl1.24xlarge
dl2q.24xlarge
g4dn.8xlarge
g4dn.12xlarge
|g4dn.16xlarge
|g4dn.metal
|g5.8xlarge
|g5.12xlarge
|g5.16xlarge
|g5.24xlarge
|g5.48xlarge
|g6.8xlarge
g6.12xlarge
|g6.16xlarge
|g6.24xlarge
|g6.48xlarge
|g6e.8xlarge
|g6e.12xlarge
|g6e.16xlarge
|g6e.24xlarge
|g6e.48xlarge
|gr6.8xlarge
|inf1.24xlarge
p3dn.24xlarge
|p4d.24xlarge
|p4de.24xlarge
|p5.48xlarge
|trn1.32xlarge
|trn1n.32xlarge
|vt1.24xlarge
-
Hochleistungsrechnen:
hpc6a.48xlarge
|hpc6id.32xlarge
|hpc7a.12xlarge
| |hpc7a.24xlarge
|hpc7a.48xlarge
|hpc7a.96xlarge
|hpc7g.4xlarge
|hpc7g.8xlarge
|hpc7g.16xlarge
Um die verfügbaren Instance-Typen zu sehen, die EFAs in einer bestimmten Region unterstützt werden
Die verfügbaren Instance-Typen variieren je nach Region. Um die verfügbaren Instance-Typen zu sehen, die EFAs in einer Region unterstützt werden, verwenden Sie den describe-instance-typesBefehl mit dem --region
Parameter. Fügen Sie den --filters
Parameter ein, um die Ergebnisse auf die unterstützten Instance-Typen zu beschränken, EFA und den --query
Parameter, um die Ausgabe auf den Wert von zu beschränkenInstanceType
.
aws ec2 describe-instance-types --region
us-east-1
--filters Name=network-info.efa-supported,Values=true --query "InstanceTypes[*].[InstanceType]" --output text | sort
Unterstützte Betriebssysteme
Die Betriebssystemunterstützung ist je nach Prozessortyp unterschiedlich. In der folgenden Tabelle sind die unterstützten Betriebssysteme aufgeführt.
Betriebssystem | Instanztypen von Intel/ AMD (x86_64 ) |
AWS Graviton (arm64 ) -Instanztypen |
---|---|---|
Amazon Linux 2023 | ✓ | ✓ |
Amazon Linux 2 | ✓ | ✓ |
RHEL8 und 9 | ✓ | ✓ |
Debian 10 und 11 | ✓ | ✓ |
Rocky Linux 8 und 9 | ✓ | ✓ |
Ubuntu 20.04, 22.04 und 24.04 | ✓ | ✓ |
SUSELinux Enterprise 15 und höher SP2 | ✓ | ✓ |
Öffnen Sie SUSE Leap 15.5 und höher | ✓ |
Anmerkung
Ubuntu 20.04 unterstützt bei Verwendung mit dl1.24xlarge
-Instances die direkte Peer-Unterstützung.
EFAEinschränkungen
EFAshaben die folgenden Einschränkungen:
-
Alle P4d- und P5-Instance-Typen unterstützen NVIDIA GPUDirect Remote Direct Memory Access (). RDMA
-
EFADer Verkehr zwischen DL1 P4D/P4DE/-Instances und anderen Instance-Typen wird derzeit nicht unterstützt.
-
Instance-Typen, die mehrere Netzwerkkarten unterstützen, können mit einer pro Netzwerkkarte konfiguriert werden. EFA Alle anderen unterstützten Instance-Typen unterstützen nur einen EFA pro Instanz.
-
Für
c7g.16xlarge
,m7g.16xlarge
undr7g.16xlarge
Dedicated Instances und Dedicated Hosts werden nicht unterstützt, wenn eine angehängt EFA ist. -
EFABetriebssystem-Bypass-Datenverkehr kann Availability Zones oder AWS Konten nicht überschreiten. VPCs Mit anderen Worten, EFA Betriebssystem-Bypass-Verkehr kann nicht von einer Availability Zone VPC (mit oder ohne VPC Peering-Verbindung) oder einem AWS Konto zu einer anderen fließen. Dies gilt nicht für normalen IP-Verkehr von. EFA
-
EFABetriebssystem-Bypass-Verkehr kann nicht über Subnetze in einer lokalen Zone gesendet werden.
-
EFABetriebssystem-Bypass-Verkehr ist nicht routbar. Normaler IP-Verkehr von EFA bleibt routbar.
-
Der EFA muss Mitglied einer Sicherheitsgruppe sein, die den gesamten eingehenden und ausgehenden Datenverkehr zur und von der Sicherheitsgruppe selbst zulässt.
-
EFAwird auf Windows-Instanzen nicht unterstützt.
-
EFAwird auf AWS Outposts nicht unterstützt.
EFAPreisgestaltung
EFAist als optionale EC2 Amazon-Netzwerkfunktion verfügbar, die Sie auf jeder unterstützten Instance ohne zusätzliche Kosten aktivieren können.