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 ML HPC et ML sur Amazon EC2
Un adaptateur Elastic Fabric (EFA) est un périphérique réseau que vous pouvez connecter à votre EC2 instance Amazon pour accélérer les applications de calcul haute performance (HPC) et d'apprentissage automatique. EFAvous permet d'atteindre les performances applicatives d'un HPC cluster sur site, grâce à l'évolutivité, à la flexibilité et à l'élasticité offertes par le AWS cloud.
EFAsfournissent une latence plus faible et plus constante et un débit plus élevé que le TCP transport traditionnellement utilisé dans les HPC systèmes basés sur le cloud. Il améliore les performances de la communication entre instances, essentielle pour le dimensionnement HPC et les applications d'apprentissage automatique. Il est optimisé pour fonctionner sur l'infrastructure AWS réseau existante et peut évoluer en fonction des exigences de l'application.
EFAss'intègre à Libfabric 1.7.0 et versions ultérieures et prend en charge Open MPI 5 et versions ultérieures, Intel MPI 2019 Update 5 et versions ultérieures pour les HPC applications, et Nvidia Collective Communications Library (NCCL) pour les applications d'apprentissage automatique.
Note
Les fonctionnalités de contournement du système d'exploitation de ne EFAs sont pas prises en charge sur les instances Windows. Si vous attachez un EFA à une instance Windows, celle-ci fonctionne comme un adaptateur réseau élastique, sans les EFA fonctionnalités supplémentaires.
Table des matières
- EFAles bases
- Interfaces et bibliothèques prises en charge
- Types d’instance pris en charge
- Systèmes d’exploitation pris en charge
- EFAlimites
- EFAtarification
- EFAsur les instances accélérées
- Commencez avec EFA et MPI
- Commencez avec EFA et NCCL
- Créez et joignez un EFA
- Détachez et supprimez un EFA
- Surveillez un EFA
- Vérifiez le EFA programme d'installation
EFAles bases
An EFA est un adaptateur réseau élastique (ENA) doté de fonctionnalités supplémentaires. Il fournit toutes les fonctionnalités d'unENA, avec une fonctionnalité supplémentaire de contournement du système d'exploitation. OS-Bypass est un modèle d'accès qui permet aux applications d'apprentissage automatique de communiquer directement avec le matériel d'interface réseau afin de fournir des fonctionnalités de transport fiables HPC et à faible latence.
Traditionnellement, HPC les applications utilisent l'interface de passage de message (MPI) pour s'interfacer avec le transport réseau du système. Dans le AWS cloud, cela signifie que les applications s'interfacent avecMPI, qui utilise ensuite la pile TCP /IP du système d'exploitation et le pilote de ENA périphérique pour permettre la communication réseau entre les instances.
Avec unEFA, HPC les applications utilisent MPI ou NCCL pour s'interfacer avec le Libfabric. API Le Libfabric API contourne le noyau du système d'exploitation et communique directement avec le EFA périphérique pour mettre des paquets sur le réseau. Cela réduit les frais généraux et permet à l'HPCapplication de fonctionner plus efficacement.
Note
Libfabric est un composant essentiel du framework OpenFabrics Interfaces (OFI), qui définit et exporte l'espace utilisateur API de. OFI Pour plus d'informations, consultez le OpenFabrics site Web de Libfabric
Différences entre EFAs et ENAs
Les adaptateurs réseau Elastic (ENAs) fournissent les fonctionnalités de réseau IP traditionnelles requises pour prendre en charge la VPC mise en réseau. EFAsfournissent toutes les mêmes fonctionnalités de réseau IP traditionnelles queENAs, et ils prennent également en charge les fonctionnalités de contournement du système d'exploitation. OS-Bypass permet HPC aux applications d'apprentissage automatique de contourner le noyau du système d'exploitation et de communiquer directement avec l'EFAappareil.
Interfaces et bibliothèques prises en charge
EFAsprend en charge les interfaces et bibliothèques suivantes :
-
Open MPI 5 et versions ultérieures
-
Open MPI 4.0 ou version ultérieure est préférable pour Graviton
-
Intel MPI 2019 Update 5 et versions ultérieures
-
NVIDIACollective Communications Library (NCCL) 2.4.2 et versions ultérieures
Types d’instance pris en charge
Les types d'instance suivants prennent en charge EFAs :
-
Usage général :
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
-
Optimisé pour le calcul :
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
-
Mémoire optimisée :
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
-
Stockage optimisé :
i3en.12xlarge
|i3en.24xlarge
|i3en.metal
|i4g.16xlarge
|i4i.32xlarge
|i4i.metal
|im4gn.16xlarge
-
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
|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
|trn1.32xlarge
|trn1n.32xlarge
|vt1.24xlarge
-
Calcul haute performance :
hpc6a.48xlarge
hpc6id.32xlarge
|hpc7a.12xlarge
|hpc7a.24xlarge
|hpc7a.48xlarge
|hpc7a.96xlarge
|hpc7g.4xlarge
|hpc7g.8xlarge
|hpc7g.16xlarge
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 --filters
paramètre pour étendre les résultats aux types d'instances pris en charge EFA et le --query
paramètre pour étendre la sortie à la valeur deInstanceType
.
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 indique 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 | ✓ | ✓ |
RHEL8 et 9 | ✓ | ✓ |
Debian 10 et 11 | ✓ | ✓ |
Rocky Linux 8 et 9 | ✓ | ✓ |
Ubuntu 20.04, 22.04 et 24.04 | ✓ | ✓ |
SUSELinux Enterprise 15 SP2 et versions ultérieures | ✓ | ✓ |
Ouvrez SUSE 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
.
EFAlimites
EFAsprésentent les limites suivantes :
-
Tous les types d'instances P4d et P5 prennent en charge l'accès direct NVIDIA GPUDirect à distance à la mémoire ()RDMA.
-
EFAle trafic entre les instances P4D/P4de/ et les autres types d'DL1instances n'est actuellement pas pris en charge.
-
Les types d'instance qui prennent en charge plusieurs cartes réseau peuvent être configurés avec EFA une seule carte réseau. Tous les autres types d'instances pris en charge n'en prennent en charge qu'une seule EFA par instance.
-
Pour
c7g.16xlarge
,m7g.16xlarge
et les instancesr7g.16xlarge
dédiées et les hôtes dédiés ne sont pas pris en charge lorsqu'un EFA est attaché. -
EFALe trafic de contournement du système d'exploitation ne peut pas traverser les zones de disponibilité ou VPCs AWS les comptes. En d'autres termes, le trafic de EFA contournement du système d'exploitation ne peut pas circuler d'une zone de disponibilité VPC (avec ou sans connexion d'VPCappairage) ou d'un AWS compte à un autre. Cela ne s'applique pas au trafic IP normal provenant duEFA.
-
EFALe trafic de contournement du système d'exploitation ne peut pas être envoyé via les sous-réseaux d'une zone locale.
-
EFALe trafic de contournement du système d'exploitation n'est pas routable. Le trafic IP normal en provenance du EFA reste routable.
-
EFAIl doit être membre d'un groupe de sécurité qui autorise tout le trafic entrant et sortant à destination et en provenance du groupe de sécurité lui-même.
-
EFAn'est pas pris en charge sur les instances Windows.
-
EFAn'est pas compatible avec AWS Outposts.
EFAtarification
EFAest 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.