Elastic Fabric Adapter für HPC und ML-Workloads bei Amazon EC2 - Amazon Elastic Compute Cloud

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.

EFAGrundlagen

An EFA ist ein Elastic Network Adapter (ENA) mit zusätzlichen Funktionen. Er bietet die gesamte Funktionalität eines mit einer ENA 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

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 | m8g.24xlarge | m8g.48xlarge | m8g.metal-24xl m8g.metal-48xl

  • Für 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 | c8g.24xlarge | c8g.48xlarge | c8g.metal-24xl | c8g.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| x8g.24xlarge | x8g.48xlarge | x8g.metal-24xl | x8g.metal-48xl

  • 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 | p5e.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ürc7g.16xlarge, m7g.16xlarge und r7g.16xlarge Dedicated Instances und Dedicated Hosts werden nicht unterstützt, wenn eine angehängt EFA ist.

  • EFABetriebssystem-Bypass-Verkehr kann Availability Zones nicht überschreiten oderVPCs. Mit anderen Worten, EFA Betriebssystem-Bypass-Verkehr kann nicht von einer Availability Zone oder VPC (mit oder ohne VPC Peering-Verbindung) zu einer anderen fließen. Dies gilt nicht für 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 routingfähig.

  • Der EFA muss Mitglied einer Sicherheitsgruppe sein, die den gesamten eingehenden und ausgehenden Verkehr 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.