Adaptateur Elastic Fabric pour l'IA/ML et les charges de HPC travail 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 l'IA/ML et les charges de HPC travail sur Amazon EC2

Elastic Fabric Adapter (EFA) est un périphérique réseau que vous pouvez attacher vos EC2 instances Amazon pour accélérer les applications de calcul haute performance (IA), Machine Learning (ML) et Calcul Haute Performance (Calcul Haute PerformanceHPC). EFAvous permet d'atteindre les performances d'application d'un HPC cluster ou d'IA sur site, avec la capacité de mise à l'échelle, la flexibilité et l'élasticité fournies par le Cloud. AWS

EFAoffre une latence plus faible et plus cohérente avec un débit plus élevé que le TCP transport utilisé traditionnellement dans des HPC systèmes basés sur le cloud. Il améliore les performances des communications entre instances, ce qui est essentiel pour la mise à l'échelle de l'AI/ML et des applications. HPC Il est optimisé pour fonctionner sur l'infrastructure AWS réseau existante et peut être mis à l'échelle en fonction des exigences des applications.

EFAs'intègre à Libfabric 1.7.0 et aux versions ultérieures et prend en charge NCCA Collective Communications Library (NCCL) pour les applications de machine learning et Open MPI 4 et les versions ultérieures et Intel MPI 2019 Update 5 et les versions ultérieures pour les HPC applications.

EFAles bases

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

  1. Utilisation d'une EFA interface traditionnelle, également appelée EFA withENA, qui permet de créer à la fois un EFA appareil et un ENA appareil.

  2. En utilisant une interface EFA uniquement, qui crée uniquement le EFA périphérique.

L'EFAappareil fournit des fonctionnalités telles que le contournement du système d'exploitation intégré et le contrôle de la congestion via le protocole Scalable Reliable Datagram ()SRD. Les fonctionnalités de l'EFAappareil permettent une fonctionnalité de transport fiable et à faible latence qui permet à EFA l'interface d'améliorer les performances des applications HPC et des applications ML sur AmazonEC2. Alors que l'ENAappareil propose un réseau IP traditionnel.

Comparaison d'une pile de HPC logiciels traditionnelle avec une pile qui utilise unEFA.

Traditionnellement, les applications AI/ML utilisent NCCL et HPC les applications utilisent l'interface de passage de message (MPI) pour servir d'interface avec le transport réseau du système. Dans le AWS cloud, cela signifiait que les applications communiquaient avec NCCL ouMPI, qui utilisait alors 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 une interface traditionnelle EFA (EFAavecENA) 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 HPC des applications pour une exécution plus efficace.

Note

Libfabric est un composant de base de l'infrastructure 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 ENA les EFA interfaces réseau, et EFA uniquement

Amazon EC2 offre deux types d'interfaces réseau :

  • ENAles interfaces fournissent toutes les fonctionnalités de réseau et de routage IP traditionnelles nécessaires pour prendre en charge le réseau IP pour unVPC. Pour de plus amples informations, veuillez consulter Activez une mise en réseau améliorée avec ENA vos EC2 instances.

  • EFALes interfaces (EFAavecENA) fournissent à la fois le ENA dispositif pour le réseau IP et le EFA dispositif pour les communications à faible latence et à haut débit.

  • EFALes interfaces -only ne prennent en charge que les fonctionnalités de l'EFAappareil, sans le ENA périphérique pour les réseaux IP traditionnels.

Le tableau suivant fournit une comparaison des interfaces réseau ENAEFA, et EFA uniquement.

ENA EFA(EFAavecENA) EFA-seulement
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 par exemple Oui Oui Non
Compte dans le calcul de ENI la limite de pièces jointes, par exemple Oui Oui Oui
Prise en charge des types d'instances Pris en charge sur tous les types d'instances basées sur Nitro Types d'instances pris en charge Types d'instances 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 EFAavec ENA EFA-seulement

Interfaces et bibliothèques prises en charge

EFAsprend en charge les interfaces et bibliothèques suivantes :

  • Open MPI 4 et versions ultérieures

    Note

    Une MPI version Open 4.0 ou plus récente est privilégiée pour les instances basées sur Graviton.

  • Intel MPI 2019 Update 5 et ultérieure

  • NVIDIACollective 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'instance suivants prennent en charge EFAs :

Nitro v5
  • Usage général : m8g.24xlarge | m8g.48xlarge | m8g.metal-24xl | m8g.metal-48xl

  • Optimisé pour le calcul : c7gn.16xlarge | c7gn.metal | c8g.24xlarge | c8g.48xlarge | c8g.metal-24xl | c8g.metal-48xl

  • Mémoire optimisée : r8g.24xlarge | r8g.48xlarge | r8g.metal-24xl | r8g.metal-48xl | x8g.24xlarge | x8g.48xlarge | x8g.metal-24xl | x8g.metal-48xl

  • Calcul haute performance : hpc7g.4xlarge | hpc7g.8xlarge | hpc7g.16xlarge

Nitro v4
  • Usage général : cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc16x16x16xc16xccc16xcc16xcccc16xccc16xccccccccccccccccccccc

  • Calcul optimisé : cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

  • Mémoire optimisée : rcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc16x16x16xccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

  • Stockage optimisé : i4g.16xlarge | i4i.32xlarge | i4i.metal | im4gn.16xlarge

  • Calcul accéléré : g6,8xlarge | g6,12xlarge | g6,16xlarge | g6,24xlarge | g6,48xlarge | g6e.8xlarge | g6e.12xlarge | g6e.16xlarge | g6e.24xlarge | g6e.48xlarge | gr6,8xlarge | p5e.48xlarge | trn1n.32xlarge | trn1n.32xlarge | trn1n.xlarge 32 x large

  • Calcul haute performance : hpc6a.48xlarge | hpc6id.32xlarge | hpc7a.12xlarge | hpc7a.24xlarge | hpc7a.48xlarge | hpc7a.96xlarge

Nitro v3
  • Usage général : m5dn.24xlarge | m5dn.metal | m5n.24xlarge | m5n.metal | m5zn.12xlarge | m5zn.metal

  • Optimisé pour le calcul : 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

  • Calcul accéléré : dlccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

Pour consulter les types d'instance 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 --filters paramètre pour étendre les résultats aux types d'instance qui prennent 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, 11 et 12
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 limitations suivantes :

Note

EFAle trafic fait référence au trafic transmis via le EFA périphérique via une interface EFA (EFAavecENA) ou EFA uniquement.

  • 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 une EFA par carte réseau. Tous les autres types d'instance pris en charge ne prennent en charge qu'un EFA par instance.

  • Pourc7g.16xlarge, m7g.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 connecté.

  • EFAle trafic ne peut pas traverser les zones de disponibilité ouVPCs. Cela ne s'applique pas au trafic IP normal provenant du ENA périphérique d'une EFA interface.

  • EFAle trafic n'est pas routable. Le trafic IP normal de l'ENAappareil d'une EFA interface reste routable.

  • EFAn'est pas pris en charge sur AWS Outposts.

  • Le EFA périphérique d'une interface EFA (EFAavecENA) 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 (EFAavecENA) à une instance Windows pour des applications non CDI SDK basées, elle fonctionne comme une ENA interface, sans les fonctionnalités supplémentaires du EFA périphérique. L'interface EFA -only 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).

EFAtarification

EFAest disponible en tant que fonctionnalité de EC2 mise en réseau Amazon optionnelle que vous pouvez activer sur n'importe quelle instance prise en charge sans frais supplémentaires.