Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Adaptateur Elastic Fabric pour les charges de travail AI/ML et HPC sur Amazon EC2
Un Elastic Fabric Adapter (EFA) est un appareil réseau que vous pouvez connecter à votre instance EC2 Amazon pour accélérer les applications d'intelligence artificielle (IA), de Machine Learning (ML) et de calcul haute performance (HPC). L’EFA vous permet d’atteindre les performances d’application d’un cluster AI/ML ou HPC sur site, avec la capacité de mise à l’échelle, la flexibilité et l’élasticité offertes par le AWS Cloud.
EFA offre une latence plus faible et plus cohérente avec un débit plus élevé que le transport TCP utilisé traditionnellement dans des systèmes HPC basés sur le cloud. Il améliore les performances de la communication inter-instances, qui est essentielle pour la mise à l’échelle des applications AI/ML et HPC. Il est optimisé pour fonctionner sur l'infrastructure AWS réseau existante et peut évoluer en fonction des exigences de l'application.
EFA s’intègre à Libfabric 1.7.0 et aux versions ultérieures, et prend en charge Nvidia Collective Communications Library (NCCL) pour les applications d’IA et de ML, ainsi que Open MPI 4 et les versions ultérieures, et Intel MPI 2019 Update 5 et les versions ultérieures pour les applications HPC.
EFA prend en charge l'écriture RDMA (Remote Direct Memory Access) sur la plupart des types d'instances compatibles dotés de Nitro version 4 ou ultérieure. La lecture RDMA est prise en charge sur toutes les instances de Nitro version 4 ou ultérieure. Pour de plus amples informations, veuillez consulter Types d’instance pris en charge.
Table des matières
- Principes de base EFA
- Interfaces et bibliothèques prises en charge
- Types d’instance pris en charge
- Systèmes d’exploitation pris en charge
- Restrictions liées à EFA
- Tarification EFA
- Commencer avec EFA et MPI
- Commencer avec EFA et NCCL
- Maximisez la bande passante du réseau
- Créez et attachez un EFA
- Détachez et supprimez un EFA
- Surveillez un EFA
- Vérifier le programme d’installation de EFA
Principes de base EFA
Un périphérique EFA peut être attaché à une EC2 instance de deux manières :
-
Utilisation d’une interface EFA traditionnelle, également appelée EFA avec ENA, qui crée à la fois un appareil EFA et celui ENA.
-
Utilisation d’une interface EFA-unique, qui ne crée que le dispositif EFA.
Le dispositif EFA offre des fonctionnalités telles que le contournement intégré du système d’exploitation et le contrôle de la congestion par le biais du protocole de datagramme de fiabilité évolutive (SRD). Les fonctionnalités de l'appareil EFA permettent une fonctionnalité de transport fiable et à faible latence qui permet à l'interface EFA de fournir de meilleures performances aux applications HPC et ML sur Amazon. EC2 Alors que l’appareil ENA propose un réseau IP traditionnel.
![Comparaison d’une pile de logiciels HPC traditionnelle avec une pile qui utilise un EFA.](images/efa_stack.png)
Traditionnellement, les applications AI/ML utilisent NCCL et les applications HPC utilisent l’interface de transmission de messages (MPI) pour s’interfacer avec le réseau de transport du système. Dans le AWS cloud, cela signifie que les applications interagissent avec NCCL ou MPI, qui utilisent ensuite la pile TCP/IP du système d'exploitation et le pilote de périphérique ENA pour permettre la communication réseau entre les instances.
Avec une interface EFA traditionnelle (EFA avec ENA) ou EFA uniquement, 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 et des applications HPC pour une exécution plus efficace.
Note
Libfabric est un composant essentiel du framework OpenFabrics Interfaces (OFI), qui définit et exporte l'API de l'espace utilisateur d'OFI. Pour plus d'informations, consultez le OpenFabrics site Web de Libfabric
Différences entre les interfaces réseau ENA, EFA et EFA-unique
Amazon EC2 propose deux types d'interfaces réseau :
-
les interfaces ENA fournissent toutes les fonctionnalités de réseau et de routage IP traditionnelles requises pour prendre en charge le réseau IP d’un VPC. Pour de plus amples informations, veuillez consulter Activez une mise en réseau améliorée avec ENA vos EC2 instances.
-
Les interfaces EFA (EFA avec ENA) fournissent à la fois le dispositif ENA pour les réseaux IP et le dispositif EFA pour les communications à faible latence et haut débit.
-
Les interfaces-unique EFA ne prennent en charge que les fonctionnalités des appareils EFA, sans le périphérique ENA pour les réseaux IP traditionnels.
Le tableau suivant offre une comparaison des interfaces réseau ENA, EFA et EFA uniquement.
ENA | EFA (EFA avec ENA) | EFA-unique | |
---|---|---|---|
Prend en charge les fonctionnalités de réseau IP | Oui | Oui | Non |
Peut être attribué à IPv4 des IPv6 adresses | Oui | Oui | Non |
Peut être utilisé comme interface réseau principale pour l’instance | Oui | Oui | Non |
Compte pour la limite d’attachement de l’ENI, pour l’instance | Oui | Oui | Oui |
Prise en charge de types d’instances | Pris en charge sur tous les types d’instances basées sur Nitro | Types d’instance pris en charge | Types d’instance pris en charge |
Dénomination des paramètres dans EC2 APIs | interface |
efa |
efa-only |
Dénomination des champs dans EC2 la console | Aucune sélection | EFA avec ENA | EFA-unique |
Interfaces et bibliothèques prises en charge
EFAs prend en charge les interfaces et bibliothèques suivantes :
-
Open MPI 4 et versions ultérieures
Note
Une version Open MPI 4.0 ou plus récente est privilégiée pour Graviton basé sur les instances.
-
Intel MPI 2019 Update 5 et ultérieure
-
NVIDIA Collective Communications Library (NCCL) 2.4.2 et versions ultérieures
-
AWS Neuron SDK version 2.3 et versions ultérieures
Types d’instance pris en charge
Les types d'instances suivants sont pris en charge EFAs :
Pour voir les types d'instances disponibles compatibles EFAs dans une région spécifique
Les types d’instance disponibles varient selon la région. Pour voir les types d'instances disponibles qui sont pris EFAs en charge dans une région, utilisez la describe-instance-types--region
paramètre. Incluez le paramètre --filters
pour étendre les résultats aux types d’instance qui prennent en charge EFA et le paramètre --query
pour étendre la sortie à la valeur de InstanceType
.
aws ec2 describe-instance-types --region
us-east-1
--filters Name=network-info.efa-supported,Values=true --query "InstanceTypes[*].[InstanceType]" --output text | sort
Systèmes d’exploitation pris en charge
La prise en charge du système d’exploitation varie en fonction du type de processeur. Le tableau suivant présente les systèmes d’exploitation pris en charge.
Système d’exploitation | Types d’instances Intel/AMD (x86_64 ) |
AWS Types d'instances de Graviton (arm64 ) |
---|---|---|
Amazon Linux 2023 | ✓ | ✓ |
Amazon Linux 2 | ✓ | ✓ |
RHEL 8 et 9 | ✓ | ✓ |
Debian 10, 11, et 12 | ✓ | ✓ |
Rocky Linux 8 et 9 | ✓ | ✓ |
Ubuntu 20,04, 22,04, et 24,04 | ✓ | ✓ |
SUSE Linux Enterprise 15 SP2 et versions ultérieures | ✓ | ✓ |
OpenSUSE Leap 15.5 et versions ultérieures | ✓ |
Note
Ubuntu 20.04 prend en charge l’assistance directe entre pairs lorsqu’il est utilisé avec les instances dl1.24xlarge
.
Restrictions liées à EFA
EFAs présentent les limites suivantes :
Note
Le trafic EFA fait référence au trafic transmis via le dispositif EFA d’une interface EFA (EFA avec ENA) ou EFA uniquement.
-
L'écriture RDMA n'est pas prise en charge avec tous les types d'instances. Pour de plus amples informations, veuillez consulter Types d’instance pris en charge.
-
Le trafic EFA entre les instances P4D/P4de/ et les autres types d'DL1 instances n'est actuellement pas pris en charge.
-
Les types d’instance qui prennent en charge plusieurs cartes réseau peuvent être configurés avec un EFA par carte réseau. Tous les autres types d’instance pris en charge ne prennent en charge qu’un EFA par instance.
-
Pour
c7g.16xlarge
,m7g.16xlarge
etr7g.16xlarge
les instances dédiées et les hôtes dédiés ne sont pas pris en charge lorsqu’un EFA est attaché. -
Le trafic EFA ne peut pas traverser les zones de disponibilité ou VPCs. Cela ne s’applique pas au trafic IP normal provenant du périphérique ENA d’une interface EFA.
-
Le trafic EFA n’est pas routable. Le trafic IP normal de l’appareil ENA d’une interface EFA reste routable.
-
L'EFA n'est pas pris en charge sur AWS Outposts.
-
Le périphérique EFA d'une interface EFA (EFA avec ENA) est pris en charge sur les instances Windows uniquement pour les applications basées sur le kit de développement AWS Cloud Digital Interface logiciel (AWS CDI SDK). Si vous associez une interface EFA (EFA avec ENA) à une instance Windows pour des applications non basées sur le SDK CDI, elle fonctionne comme une interface ENA, sans les fonctionnalités supplémentaires du périphérique EFA. L'interface EFA uniquement n'est pas prise en charge par les applications AWS CDI basées sur Windows ou Linux. Pour plus d'informations, consultez le guide de l'utilisateur du kit de développement AWS Cloud Digital Interface logiciel (AWS CDI SDK).
Tarification EFA
L'EFA est disponible en tant que fonctionnalité EC2 réseau Amazon optionnelle que vous pouvez activer sur n'importe quelle instance prise en charge sans frais supplémentaires.