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 AI/ML les charges de travail HPC sur Amazon EC2
Un Elastic Fabric Adapter (EFA) est un périphérique réseau que vous pouvez attacher à votre instance Amazon EC2 pour accélérer l’intelligence artificielle (IA), de machine learning (ML) et de calcul haute performance (HPC). L'EFA vous permet d'atteindre les performances applicatives d'un cluster sur site AI/ML ou HPC, grâce à l'évolutivité, à la flexibilité et à l'élasticité offertes par le cloud. AWS
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 entre instances, essentielle à la mise à l'échelle AI/ML et aux applications 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 et prend en charge la bibliothèque Nvidia Collective Communications (NCCL) et la bibliothèque NVIDIA Inference Xfer (NIXL) pour les applications d'IA et de ML, ainsi que Open MPI 4.1 et versions ultérieures et Intel MPI 2019 Update 5 et versions ultérieures pour les applications HPC. NCCL et MPI s'intègrent à Libfabric 1.7.0 et versions ultérieures. NIXL s'intègre à Libfabric 1.21.0 et versions ultérieures.
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 dotées 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
Un périphérique EFA peut être attaché à une instance EC2 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.
-
En utilisant une EFA-only interface qui crée uniquement le périphérique EFA.
Le dispositif EFA fournit des fonctionnalités telles que le contrôle intégré OS-bypass et le contrôle de la congestion via le protocole SRD (Scalable Reliable Datagram). Les fonctionnalités de l’EFA permettent un transport fiable à faible latence qui permet à l’interface EFA d’améliorer les performances des applications HPC et ML sur Amazon EC2. Alors que l’appareil ENA propose un réseau IP traditionnel.
Traditionnellement, AI/ML les applications utilisent NCCL et NIXL (pour l'inférence désagrégée). Les applications HPC utilisent l'interface MPI (Message Passing Interface) pour s'interfacer avec le transport réseau du système. Dans le AWS cloud, cela signifie que les applications s'interfacent avec NCCL, NIXL ou MPI, qui utilisent ensuite la TCP/IP pile du système d'exploitation et le pilote de périphérique ENA pour permettre la communication réseau entre les instances.
Avec une EFA-only interface EFA (EFA avec ENA) traditionnelle, les AI/ML applications utilisent NCCL et NIXL (pour l'inférence désagrégée). Les applications HPC utilisent MPI pour s'interfacer directement avec l'API Libfabric. L’API Libfabric contourne le noyau du système d’exploitation et communique directement avec l’appareil EFA pour placer les paquets sur le réseau. Cela réduit les frais généraux AI/ML et permet aux applications HPC de fonctionner plus efficacement.
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 ENA, EFA et EFA-only réseau
Amazon EC2 offre 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 la mise en réseau améliorée grâce à l’ENA sur vos instances EC2.
-
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.
-
EFA-onlyles interfaces 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 fournit une comparaison entre les interfaces ENA, EFA et EFA-only réseau.
| ENA | EFA (EFA avec ENA) | EFA-only | |
|---|---|---|---|
| Prend en charge les fonctionnalités de réseau IP | Oui | Oui | Non |
| Des adresses IPv4 ou IPv6 peuvent être attribuées | 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' Nitro-based instances | Types d’instance pris en charge | Types d’instance pris en charge |
| Dénomination des paramètres dans les API EC2 | interface |
efa |
efa-only |
| Dénomination des champs dans la console EC2 | Aucune sélection | EFA avec ENA | EFA-only |
Interfaces et bibliothèques prises en charge
Les EFA prennent en charge les interfaces et bibliothèques suivantes :
-
Ouvrez MPI 4.1 et versions ultérieures
-
Intel MPI 2019 Update 5 et ultérieure
-
NVIDIA Collective Communications Library (NCCL) 2.4.2 et versions ultérieures
-
NVIDIA Inference Xfer Library (NIXL) 1.0.0 et versions ultérieures
-
AWS Neuron SDK version 2.3 et versions ultérieures
Types d’instance pris en charge
Tous les types d’instance suivants prennent en charge EFA. En outre, les tableaux indiquent la prise en charge de la lecture RDMA et de l’écriture RDMA pour les types d’instances.
Pour consulter les types d’instance disponibles qui prennent en charge les EFA dans une région spécifique
Les types d’instance disponibles varient selon la région. Pour consulter les types d’instance disponibles qui prennent en charge les EFA dans une région, utilisez la commande describe-instance-types avec le paramètre --region. Incluez le paramètre --filterspour é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 \ --regionus-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 | Intel/AMD (x86_64) types d'instances |
AWS Types d'instances de Graviton (arm64) |
|---|---|---|
| Amazon Linux 2023 | ✓ | ✓ |
| Amazon Linux 2 | ✓ | ✓ |
| RHEL 8, 9 et 10 | ✓ | ✓ |
| Debian 11, 12 et 13 | ✓ | ✓ |
| Rocky Linux 8 et 9 | ✓ | ✓ |
| Ubuntu 22.04 et 24.04 | ✓ | ✓ |
| SUSE Linux Enterprise 15 SP2 ou version ultérieure | ✓ | ✓ |
| OpenSUSE Leap 15.5 et versions ultérieures | ✓ |
Note
Certains des systèmes d’exploitation énumérés peuvent ne pas être pris en charge par Intel MPI. Si vous utilisez Intel MPI, reportez-vous à la documentation Intel MPI
Restrictions liées à EFA
Les EFA présentent les limitations suivantes :
-
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 1 entre les P4d/P4de/DL1 instances et les autres types d'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.
-
Les instances dédiées
c7g.16xlarge,m7g.16xlargeetr7g.16xlarge, de même que les hôtes dédiés, ne sont pas pris en charge lorsqu’un EFA est attaché. -
Le trafic EFA1 ne peut pas traverser les zones de disponibilité ou les VPC. Cela ne s’applique pas au trafic IP normal provenant du périphérique ENA d’une interface EFA.
-
Le trafic EFA1 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' EFA-only interface 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).
1 Le trafic EFA fait référence au trafic transmis via le dispositif EFA d'un EFA (EFA avec ENA) ou d'une EFA-only interface.
Tarification EFA
EFA est disponible en tant que fonctionnalité de mise en réseau Amazon EC2 optionnelle que vous pouvez activer sur n’importe quelle instance prise en charge sans frais supplémentaires.