Adaptateur Elastic Fabric pour AI/ML les charges de travail 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 AI/ML les charges de travail 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 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 1.7.0 et versions ultérieures, et prend en charge la Nvidia Collective Communications Library (NCCL) 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.

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, AI/ML les applications utilisent le NCCL et 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 interagissent avec NCCL 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 interface EFA traditionnelle (EFA avec ENA) ou EFA uniquement, les AI/ML applications utilisent NCCL et 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 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 sur 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 :

  • 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

  • AWS Neuron SDK version 2.3 et versions ultérieures

Types d’instance pris en charge

Tous les types d'instances suivants prennent en charge l'EFA. En outre, les tableaux indiquent la prise en charge de la lecture RDMA et de l'écriture RDMA pour les types d'instances.

Nitro v6
Type d’instance Support de lecture RDMA Support d'écriture RDMA
Calcul optimisé
8 cm x 16 x large Oui Oui
c8g. 24 x large Oui Oui
8 cm x 48 x large Oui Oui
c8gn.metal-24xl Oui Oui
c8gn.metal-48xl Oui Oui
Mémoire optimisée
R8i 48 x large Non Non
R8 i 96 x large Non Non
r8i.metal-48xl Non Non
r8i.metal-96xl Non Non
Calcul accéléré
p6-b200.48 x large Oui Oui
Nitro v5
Type d’instance Support de lecture RDMA Support d'écriture RDMA
Usage général
8 g, 24 x large Oui Non
8 kg. 48 x large Oui Non
8 mg.metal-24xl Oui Non
8 mg.metal-48xl Oui Non
8 mm x 24 x large Non Non
8 mm x 48 x large Non Non
m8gd.metal-24xl Non Non
m8gd.metal-48xl Non Non
Calcul optimisé
c7gn.16xlarge Oui Non
c7gn.metal Oui Non
8 g, 24 x large Oui Non
8 g x 48 x large Oui Non
c8g.metal-24xl Oui Non
c8g.metal-48xl Oui Non
c8g. 24 x large Non Non
c8g x 48 x large Non Non
c8gd.metal-24xl Non Non
c8gd.metal-48xl Non Non
Mémoire optimisée
8 g, 24 x large Non Non
8 g, 48 x large Non Non
r8g.metal-24xl Non Non
r8g.metal-48xl Non Non
8 g x 24 x large Non Non
8 g x 48 x large Non Non
r8gd.metal-24xl Non Non
r8gd.metal-48xl Non Non
8 g x 24 x large Non Non
8 g x 48 x large Non Non
8 g, métal, 24 XL Non Non
8 g, métal, 48 xl Non Non
Stockage optimisé
i7ie. 48 x large Oui Non
i7ie.metal-48xl Oui Non
8 g, 48 x large Non Non
Calcul accéléré
p 5 en 48 x large Oui Oui
p6e-gb 200,36 x large Oui Oui
trn 2,48 x large Oui Oui
trn2u 48 x large Oui Oui
Calcul haute performance
hpc7g.4xlarge Oui Non
hpc7g.8xlarge Oui Non
hpc7g.16xlarge Oui Non
Nitro v4
Type d’instance Support de lecture RDMA Support d'écriture RDMA
Usage général
m6a.48xlarge Oui Oui
m6a.metal Oui Oui
m6i.32xlarge Oui Oui
m6i.metal Oui Oui
m6id.32xlarge Oui Oui
m6id.metal Oui Oui
m6idn.32xlarge Oui Oui
m6idn.metal Oui Oui
m6in.32xlarge Oui Oui
m6in.metal Oui Oui
m7a.48xlarge Oui Non
m7a.metal-48xl Oui Non
m7g.16xlarge Oui Non
m7g.metal Oui Non
m7gd.16xlarge Oui Non
m7gd.metal Oui Non
m7i.48xlarge Oui Non
m7i.metal-48xl Oui Non
Calcul optimisé
c6a.48xlarge Oui Oui
c6a.metal Oui Oui
c6gn.16xlarge Oui Oui
c6i.32xlarge Oui Oui
c6i.metal Oui Oui
c6id.32xlarge Oui Oui
c6id.metal Oui Oui
c6in.32xlarge Oui Oui
c6in.metal Oui Oui
c7a.48xlarge Oui Non
c7a.metal-48xl Oui Non
c7g.16xlarge Oui Oui
c7g.metal Oui Oui
c7gd.16xlarge Oui Non
c7gd.metal Oui Non
c7i.48xlarge Oui Non
c7i.metal-48xl Oui Non
Mémoire optimisée
r6a.48xlarge Oui Oui
r6a.metal Oui Oui
r6i.32xlarge Oui Oui
r6i.metal Oui Oui
r6idn.32xlarge Oui Oui
r6idn.metal Oui Oui
r6in.32xlarge Oui Oui
r6in.metal Oui Oui
r6id.32xlarge Oui Oui
r6id.metal Oui Oui
r7a.48xlarge Non Non
r7a.metal-48xl Non Non
r7g.16xlarge Non Non
r7g.metal Non Non
r7gd.16xlarge Non Non
r7gd.metal Non Non
r7i.48xlarge Non Non
r7i.metal-48xl Non Non
r7iz.32xlarge Non Non
r7iz.metal-32xl Non Non
u7i-6tb.112 x large Oui Oui
u7i-8tb.112 x large Oui Oui
u7i-12tb.224 x large Oui Oui
U7 en 16 TB, 224 x large Oui Oui
U7 en 24 TB, 224 x large Oui Oui
U7 en 32 TB, 224 x large Oui Oui
U7 pouces - 32 TB, 480 x large Oui Oui
x2idn.32xlarge Oui Oui
x2idn.metal Oui Oui
x2iedn.32xlarge Oui Oui
x2iedn.metal Oui Oui
Stockage optimisé
i4g.16xlarge Oui Oui
i4i.32xlarge Oui Oui
i4i.metal Oui Oui
i7i 24 x large Oui Non
i7i 48 x large Oui Non
i7i.metal-48xl Oui Non
im4gn.16xlarge Oui Oui
Calcul accéléré
f 2,48 x large Oui Oui
g 6,8 x large Oui Oui
g 6,12 x large Oui Oui
g 6,16 x large Oui Oui
g 6,24 x large Oui Oui
g 6,48 x large Oui Oui
6 x 8 x large Oui Oui
G6E, 12 x large Oui Oui
G6E, 16 x large Oui Oui
G6E, 24 x large Oui Oui
g 6 e 48 x large Oui Oui
gr6,8 x large Oui Oui
p 5,4 x large Oui Oui
p5.48xlarge Oui Oui
p5e.48 x large Oui Oui
trn1.32xlarge Oui Oui
trn1n.32xlarge Oui Oui
Calcul haute performance
hpc6a.48xlarge Oui Oui
hpc6id.32xlarge Oui Oui
hpc7a.12xlarge Oui Non
hpc7a.24xlarge Oui Non
hpc7a.48xlarge Oui Non
hpc7a.96xlarge Oui Non
Nitro v3
Type d’instance Support de lecture RDMA Support d'écriture RDMA
Usage général
m5dn.24xlarge Non Non
m5dn.metal Non Non
m5n.24xlarge Non Non
m5n.metal Non Non
m5zn.12xlarge Non Non
m5zn.metal Non Non
Calcul optimisé
c5n.9xlarge Non Non
c5n.18xlarge Non Non
c5n.metal Non Non
Mémoire optimisée
r5dn.24xlarge Non Non
r5dn.metal Non Non
r5n.24xlarge Non Non
r5n.metal Non Non
x2iezn.12xlarge Non Non
x2iezn.metal Non Non
Stockage optimisé
i3en.12xlarge Non Non
i3en.24xlarge Non Non
i3en.metal Non Non
Calcul accéléré
dl1.24xlarge Oui Non
dl2q.24xlarge Non Non
g4dn.8xlarge Non Non
g4dn.12xlarge Non Non
g4dn.16xlarge Non Non
g4dn.metal Non Non
g5.8xlarge Non Non
g5.12xlarge Non Non
g5.16xlarge Non Non
g5.24xlarge Non Non
g5.48xlarge Non Non
inf1.24xlarge Non Non
p3dn.24xlarge Non Non
p4d.24xlarge Oui Non
p4de.24xlarge Oui Non
vt1.24xlarge Non Non
Pour voir les types d'instances disponibles qui sont pris EFAs en charge 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 11 et 12
Rocky Linux 8 et 9
Ubuntu 22.04 et 24.04
SUSE Linux Enterprise 15 SP2 et versions ultérieures
OpenSUSE Leap 15.5 et versions ultérieures
Note

Certains des systèmes d'exploitation répertoriés ne sont peut-être pas compatibles avec Intel MPI. Si vous utilisez Intel MPI, reportez-vous à la documentation Intel MPI pour vérifier si votre système d'exploitation est compatible avec celui-ci.

Restrictions liées à EFA

EFAs présentent les limites 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 instances P4 d/P4de/DL 1 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.

  • c7g.16xlargem7g.16xlarge, et les instances r7g.16xlarge dédiées et les hôtes dédiés ne sont pas pris en charge lorsqu'un EFA est attaché.

  • Le trafic EFA 1 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 1 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).

1 Le trafic EFA fait référence au trafic transmis via le dispositif EFA d'une interface EFA (EFA avec ENA) ou EFA uniquement.

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.