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.
Ein Elastic Fabric Adapter (EFA) ist ein Netzwerkgerät, das Sie an Ihre EC2 Amazon-Instance anschließen können, um Anwendungen für künstliche Intelligenz (KI), Machine Learning (ML) und High Performance Computing (HPC) 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 Instances, die für das Skalieren von HPC- und KI/ML-Anwendungen wichtig ist. Es ist für die Verwendung in der vorhandenen AWS Netzwerkinfrastruktur optimiert und kann je nach Anwendungsanforderungen skaliert werden.
EFA ist mit Libfabric 1.7.0 und höher integriert und unterstützt die Nvidia Collective Communications Library (NCCL) für KI- und ML-Anwendungen sowie Open MPI 4 und höher und Intel MPI 2019 Update 5 und höher für HPC-Anwendungen.
EFA unterstützt RDMA-Schreibvorgänge (Remote Direct Memory Access) auf den meisten unterstützten Instance-Typen mit Nitro Version 4 und höher. RDMA-Lesen wird auf allen Instanzen 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 Instanz angehängt 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 bietet. EC2 Das ENA-Gerät bietet dagegen herkömmliche IP-Netzwerke.

Üblicherweise verwenden KI/ML- und HPC-Anwendungen die Message Passing Interface (MPI), um eine Schnittstelle zum Netzwerktransport des Systems herzustellen. In der AWS Cloud bedeutete dies, dass Anwendungen mit NCCL oder MPI verbunden sind, die dann den TCP/IP-Stack des Betriebssystems und den ENA-Gerätetreiber verwenden, um die Netzwerkkommunikation zwischen den Instanzen zu ermöglichen.
Mit einer herkömmlichen EFA- (EFA mit ENA) oder einer reinen EFA-Schnittstelle und HPC-Anwendungen für eine effizientere Ausführung. AI/ML applications use NCCL and HPC applications use MPI, to interface directly with the Libfabric API. The Libfabric API bypasses the operating system kernel and communicates directly with the EFA device to put packets on the network. This reduces overhead and enables AI/ML
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 Ermöglichen Sie Enhanced Networking mit ENA auf 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 IPv6 Adressen zugewiesen IPv4 werden | 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:
-
Open MPI 4 und höher
Anmerkung
Für Graviton-basierte Instances wird Open MPI 4.0 oder neuer bevorzugt.
-
Intel MPI 2019 Update 5 und höher
-
NVIDIA Collective Communications Library (NCCL) 2.4.2 und neuer
-
AWS Neuron SDK Version 2.3 und höher
Unterstützte Instance-Typen
Alle 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.
Instance-Typ | RDMA-Leseunterstützung | RDMA-Schreibunterstützung |
---|---|---|
Allgemeine Zwecke | ||
8g, 24 x groß | ||
8 g, 48 x groß | ||
8 g, Metall, 24 x L | ||
m8 g, Metall, 48 XL | ||
Für Datenverarbeitung optimiert | ||
c7gn.16xlarge | ||
C7 Gn. Metall | ||
c 8 g, 24 x groß | ||
c8g.48x groß | ||
c8g.metall-24xl | ||
c8g.metall-48xl | ||
RAM-optimiert | ||
r8g.24x groß | ||
r8g.48x groß | ||
r8g.metall-24xl | ||
r8g.metall-48xl | ||
x 8 g, 24 x groß | ||
x 8 g, 48 x groß | ||
x 8 g, Metall, 24 XL | ||
x 8 g, Metall, 48 XL | ||
Speicheroptimiert | ||
i7ie.48x groß | ||
Beschleunigte Datenverarbeitung | ||
p 5 en 48 x groß | ||
TRN 2,48 x groß | ||
trn2u.48x groß | ||
High Performance Computing (HPC) | ||
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-types--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 --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. 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 10, 11 und 12 | ✓ | ✓ |
Rocky Linux 8 und 9 | ✓ | ✓ |
Ubuntu 20.04, 22.04 und 24.04 | ✓ | ✓ |
SUSE Linux Enterprise 15 SP2 und höher | ✓ | ✓ |
OpenSUSE Leap 15.5 und höher | ✓ |
Anmerkung
Ubuntu 20.04 unterstützt bei Verwendung mit dl1.24xlarge
-Instances die direkte Peer-Unterstützung.
EFA-Einschränkungen
EFAs haben die folgenden Einschränkungen:
Anmerkung
EFA-Verkehr bezieht sich auf den Verkehr, der über das EFA-Gerät entweder über eine EFA- (EFA mit ENA) oder eine Nur-EFA-Schnittstelle übertragen wird.
-
RDMA-Schreibvorgänge werden nicht bei allen Instance-Typen unterstützt. Weitere Informationen finden Sie unter Unterstützte Instance-Typen.
-
EFA-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 EFA pro Netzwerkkarte konfiguriert werden. Alle anderen unterstützten Instance-Typen unterstützen nur einen EFA pro Instance.
-
Für
c7g.16xlarge
,m7g.16xlarge
undr7g.16xlarge
werden Dedicated Instances und Dedicated Hosts nicht unterstützt, wenn ein EFA angefügt ist. -
EFA-Verkehr kann Availability Zones nicht überschreiten oder. VPCs Dies gilt nicht für normalen IP-Verkehr vom ENA-Gerät einer EFA-Schnittstelle.
-
Der Datenverkehr von EFA kann nicht umgeleitet werden. Normaler IP-Datenverkehr vom ENA-Gerät einer EFA-Schnittstelle bleibt umleitbar.
-
EFA wird auf AWS Outposts nicht unterstützt.
-
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.
EFA-Preisgestaltung
EFA ist als optionale EC2 Amazon-Netzwerkfunktion verfügbar, die Sie auf jeder unterstützten Instance ohne zusätzliche Kosten aktivieren können.