Adaptateur Elastic Fabric pour les charges de travail AI/ML et HPC sur Amazon EC2 - Amazon Elastic Compute Cloud

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.

Principes de base EFA

Un périphérique EFA peut être attaché à une EC2 instance de deux manières :

  1. Utilisation d’une interface EFA traditionnelle, également appelée EFA avec ENA, qui crée à la fois un appareil EFA et celui ENA.

  2. 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.

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 :

Nitro v5
Type d’instance Support de lecture RDMA Support d'écriture RDMA
Usage général
8 g, 24 x large
8 kg. 48 x large
8 mg.metal-24xl
8 mg.metal-48xl
Calcul optimisé
c7gn.16xlarge
c7gn.metal
8 g, 24 x large
8 g x 48 x large
c8g.metal-24xl
c8g.metal-48xl
Mémoire optimisée
8 g, 24 x large
8 g, 48 x large
r8g.metal-24xl
r8g.metal-48xl
8 g x 24 x large
8 g x 48 x large
8 g, métal, 24 XL
8 g, métal, 48 xl
Stockage optimisé
i7ie. 48 x large
Calcul accéléré
p 5 en 48 x large
trn 2,48 x large
trn2u 48 x large
Calcul haute performance
hpc7g.4xlarge
hpc7g.8xlarge
hpc7g.16xlarge
Nitro v4
Type d’instance Support de lecture RDMA Support d'écriture RDMA
Usage général
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
Calcul optimisé
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
c7i.48xlarge
c7i.metal-48xl
Mémoire optimisée
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
u7i-12tb.224 x large
U7 en 16 TB, 224 x large
U7 en 24 TB, 224 x large
U7 en 32 TB, 224 x large
x2idn.32xlarge
x2idn.metal
x2iedn.32xlarge
x2iedn.metal
Stockage optimisé
i4g.16xlarge
i4i.32xlarge
i4i.metal
im4gn.16xlarge
Calcul accéléré
f 2,48 x large
g 6,8 x large
g 6,12 x large
g 6,16 x large
g 6,24 x large
g 6,48 x large
6 x 8 x large
G6E, 12 x large
G6E, 16 x large
G6E, 24 x large
g 6 e 48 x large
gr6,8 x large
p5.48xlarge
p5e.48 x large
trn1.32xlarge
trn1n.32xlarge
Calcul haute performance
hpc6a.48xlarge
hpc6id.32xlarge
hpc7a.12xlarge
hpc7a.24xlarge
hpc7a.48xlarge
hpc7a.96xlarge
Nitro v3
Type d’instance Support de lecture RDMA Support d'écriture RDMA
Usage général
m5dn.24xlarge
m5dn.metal
m5n.24xlarge
m5n.metal
m5zn.12xlarge
m5zn.metal
Calcul optimisé
c5n.9xlarge
c5n.18xlarge
c5n.metal
Mémoire optimisée
r5dn.24xlarge
r5dn.metal
r5n.24xlarge
r5n.metal
x2iezn.12xlarge
x2iezn.metal
Stockage optimisé
i3en.12xlarge
i3en.24xlarge
i3en.metal
Calcul accéléré
dl1.24xlarge
dl2q.24xlarge
g4dn.8xlarge
g4dn.12xlarge
g4dn.16xlarge
g4dn.metal
g5.8xlarge
g5.12xlarge
g5.16xlarge
g5.24xlarge
g5.48xlarge
inf1.24xlarge
p3dn.24xlarge
p4d.24xlarge
p4de.24xlarge
vt1.24xlarge
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-typescommande avec le --region paramètre. 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 --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 et r7g.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.