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 AI/ML und HPC-Workloads auf Amazon EC2
Ein Elastic Fabric Adapter (EFA) ist ein Netzwerkgerät, das Sie an Ihre Amazon-EC2-Instance anfügen können, um Künstliche Intelligenz (KI), Machine Learning und High Performance Computing (HPC)-Anwendungen zu beschleunigen. Mit EFA können Sie die Anwendungsleistung eines On-Premises- KI/ML- oder HPC-Clusters erreichen – mit der Skalierbarkeit, Flexibilität und Elastizität der AWS Cloud.
EFA bietet eine geringere und konsistentere Latenz und höheren Durchsatz als der TCP-Transport, der normalerweise in Cloud-basierten HPC-Systemen verwendet wird. Es verbessert die Leistung der Kommunikation zwischen Instanzen, was für Skalierungs- AI/ML und HPC-Anwendungen entscheidend ist. Es ist für die Verwendung in der vorhandenen AWS Netzwerkinfrastruktur optimiert und kann je nach Anwendungsanforderungen skaliert werden.
EFA ist in Libfabric integriert und unterstützt Nvidia Collective Communications Library (NCCL) und NVIDIA Inference Xfer Library (NIXL) für KI- und ML-Anwendungen sowie Open MPI 4.1 und höher sowie Intel MPI 2019 Update 5 und höher für HPC-Anwendungen. NCCL und MPI lassen sich in Libfabric 1.7.0 und höher integrieren. NIXL lässt sich in Libfabric 1.21.0 und höher integrieren.
EFA unterstützt RDMA (Remote Direct Memory Access)-Schreibvorgänge auf den meisten unterstützten Instance-Typen mit Nitro Version 4 und höher. RDMA-Lesevorgänge werden auf allen Instances mit Nitro Version 4 und höher unterstützt. Weitere Informationen finden Sie unter Unterstützte Instance-Typen.
Inhalt
EFA-Grundlagen
Ein EFA-Gerät kann auf zwei Arten an eine EC2-Instance angefügt werden:
-
Verwendung einer herkömmlichen EFA-Schnittstelle, auch EFA genannt, mit ENA, die sowohl ein EFA-Gerät als auch ein ENA-Gerät erstellt.
-
Verwendung einer reinen EFA-Schnittstelle, bei der nur das EFA-Gerät erstellt wird.
Das EFA-Gerät bietet Funktionen wie eine integrierte Betriebssystemumgehung und die Überlastungskontrolle über das SRD-Protokoll (Scalable Reliable Datagram). Die EFA-Gerätefunktionen ermöglichen zuverlässige Transportfunktionen mit niedriger Latenz, sodass die EFA-Schnittstelle eine bessere Anwendungsleistung für HPC- und ML-Anwendungen auf Amazon EC2 bietet. Das ENA-Gerät bietet dagegen herkömmliche IP-Netzwerke.
Traditionell verwenden AI/ML Anwendungen NCCL und NIXL (für disaggregierte Inferenz). HPC-Anwendungen verwenden das Message Passing Interface (MPI) als Schnittstelle zum Netzwerktransport des Systems. In der AWS Cloud bedeutet dies, dass Anwendungen eine Schnittstelle zu NCCL, NIXL oder MPI haben, die dann den TCP/IP Stack des Betriebssystems und den ENA-Gerätetreiber verwenden, um die Netzwerkkommunikation zwischen Instanzen zu ermöglichen.
Mit einer herkömmlichen EFA- (EFA mit ENA) oder einer reinen EFA-Schnittstelle verwenden AI/ML Anwendungen NCCL und NIXL (für disaggregierte Inferenz). HPC-Anwendungen verwenden MPI, um direkt mit der Libfabric-API zu kommunizieren. Die Libfabric-API umgeht den Betriebssystem-Kernel und kommuniziert direkt mit dem EFA-Gerät, um Pakete auf dem Netzwerk zu platzieren. Dies reduziert den Overhead AI/ML und ermöglicht eine effizientere Ausführung von HPC-Anwendungen.
Anmerkung
Libfabric ist eine Kernkomponente des OpenFabrics Interfaces (OFI) -Frameworks, das die Userspace-API von OFI definiert und exportiert. Weitere Informationen finden Sie auf der Libfabric-Website. OpenFabrics
Unterschiede zwischen ENA-, EFA- und reinen EFA-Netzwerkschnittstellen
Amazon EC2 bietet zwei Arten von Netzwerkschnittstellen:
-
ENA-Schnittstellen bieten alle herkömmlichen IP-Netzwerk- und Routing-Funktionen, die zur Unterstützung von IP-Netzwerken für eine VPC erforderlich sind. Weitere Informationen finden Sie unter Aktivierung eine verbesserten Vernetzung mit ENA in Ihren EC2-Instances.
-
EFA-Schnittstellen (EFA mit ENA) bieten sowohl das ENA-Gerät für IP-Netzwerke als auch das EFA-Gerät für die Kommunikation mit niedriger Latenz und hohem Durchsatz.
-
Nur-EFA-Schnittstellen unterstützen nur die Funktionen des EFA-Geräts, ohne das ENA-Gerät für herkömmliche IP-Netzwerke.
Die folgende Tabelle enthält einen Vergleich von ENA-, EFA- und Nur-EFA-Netzwerkschnittstellen.
| ENA | EFA (EFA mit ENA) | Nur-EFA | |
|---|---|---|---|
| Unterstützt IP-Netzwerkfunktionalität | Ja | Ja | Nein |
| Können Adressen zugewiesen IPv4 werden IPv6 | Ja | Ja | Nein |
| Kann als primäre Netzwerkschnittstelle für die Instance verwendet werden | Ja | Ja | Nein |
| Wird auf das ENI-Anhangslimit der Instance angerechnet | Ja | Ja | Ja |
| Unterstützung für Instance-Typen | Unterstützt auf allen Nitro-basierten Instance-Typen | Unterstützte Instance-Typen | Unterstützte Instance-Typen |
| Benennung von Parametern in EC2 APIs | interface |
efa |
efa-only |
| Benennung von Feldern in der EC2-Konsole | Keine Auswahl | EFA mit ENA | Nur-EFA |
Unterstützte Schnittstellen und Bibliotheken
EFAs unterstützt die folgenden Schnittstellen und Bibliotheken:
-
Öffnen Sie MPI 4.1 und höher
-
Intel MPI 2019 Update 5 und höher
-
NVIDIA Collective Communications Library (NCCL) 2.4.2 und neuer
-
NVIDIA Inference Xfer Library (NIXL) 1.0.0 und höher
-
AWS Neuron SDK Version 2.3 und höher
Unterstützte Instance-Typen
Alle der folgenden Instance-Typen unterstützen EFA. Darüber hinaus geben die Tabellen die RDMA-Lese- und RDMA-Schreibunterstützung für die Instance-Typen an.
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. Schließen Sie den Parameter --filters ein, um die Ergebnisse auf die Instance-Typen zu beschränken, die EFA unterstützen, und den Parameter --query, um die Ausgabe auf den Wert von InstanceType zu beschränken.
aws ec2 describe-instance-types \ --regionus-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. Die folgende Tabelle zeigt die unterstützten Betriebssysteme.
| Betriebssystem | Intel/AMD (x86_64)-Instance-Typen |
AWS Graviton (arm64) -Instanztypen |
|---|---|---|
| Amazon Linux 2023 | ✓ | ✓ |
| Amazon Linux 2 | ✓ | ✓ |
| RHEL 8 und 9 | ✓ | ✓ |
| Debian 11, 12 und 13 | ✓ | ✓ |
| Rocky Linux 8 und 9 | ✓ | ✓ |
| Ubuntu 22.04 und 24.04 | ✓ | ✓ |
| SUSE Linux Enterprise 15 und höher SP2 | ✓ | ✓ |
| OpenSUSE Leap 15.5 und höher | ✓ |
Anmerkung
Einige der aufgelisteten Betriebssysteme werden möglicherweise nicht mit Intel MPI unterstützt. Wenn Sie Intel MPI verwenden, lesen Sie in der Intel-MPI-Dokumentation
EFA-Einschränkungen
EFAs haben die folgenden Einschränkungen:
-
RDMA-Schreibvorgänge werden nicht bei allen Instance-Typen unterstützt. Weitere Informationen finden Sie unter Unterstützte Instance-Typen.
-
EFA-Verkehr 1 zwischen d/P4de/DL P4-1-Instances und anderen Instance-Typen wird derzeit nicht unterstützt.
-
Instance-Typen, die mehrere Netzwerkkarten unterstützen, können mit einer EFA pro Netzwerkkarte konfiguriert werden. Alle anderen unterstützten Instance-Typen unterstützen nur einen EFA pro Instance.
-
Dedicated Instances und Dedicated Hosts werden für
c7g.16xlarge-,m7g.16xlarge- undr7g.16xlarge-Instances nicht unterstützt, wenn ein EFA angehängt ist. -
EFA-Verkehr 1 kann Availability Zones nicht überschreiten oder. VPCs Dies gilt nicht für normalen IP-Verkehr vom ENA-Gerät einer EFA-Schnittstelle.
-
EFA-Datenverkehr1 kann nicht umgeleitet werden. Normaler IP-Datenverkehr vom ENA-Gerät einer EFA-Schnittstelle bleibt umleitbar.
-
EFA wird auf nicht unterstützt. AWS Outposts
-
Das EFA-Gerät einer EFA-Schnittstelle (EFA mit ENA) wird auf Windows-Instances nur für Anwendungen unterstützt, die auf dem AWS Cloud Digital Interface Software Development Kit (AWS CDI SDK) basieren. Wenn Sie eine EFA-Schnittstelle (EFA mit ENA) an eine Windows-Instance für Anwendungen anhängen, die nicht auf dem CDI-SDK basieren, funktioniert diese als ENA-Schnittstelle, jedoch ohne die zusätzlichen EFA-Gerätefunktionen. Die reine EFA-Schnittstelle wird von AWS CDI basierten Anwendungen unter Windows oder Linux nicht unterstützt. Weitere Informationen finden Sie im AWS Cloud Digital Interface Software Development Kit (AWS CDI SDK) -Benutzerhandbuch.
1EFA-Datenverkehr bezieht sich auf den Datenverkehr, der über das EFA-Gerät entweder über eine EFA (EFA mit ENA)- oder eine Nur-EFA-Schnittstelle übertragen wird.
EFA-Preisgestaltung
EFA ist als optionales Amazon-EC2-Netzwerkfeature verfügbar, das Sie ohne zusätzliche Kosten auf jeder unterstützten Instance aktivieren können.