Elastic Fabric Adapter per AI/ML e HPC carichi di lavoro su Amazon EC2 - Amazon Elastic Compute Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Elastic Fabric Adapter per AI/ML e HPC carichi di lavoro su Amazon EC2

Un Elastic Fabric Adapter (EFA) () è un dispositivo di rete che è possibile collegare alle EC2 istanze Amazon per accelerare le applicazioni di Intelligenza Artificiale (AI), Machine Learning (ML) e High Performance Computing (HPC). EFAconsente di ottenere le prestazioni applicative di un AI/ML on-premise o HPC cluster, con la scalabilità, la flessibilità e l'elasticità fornite dal Cloud. AWS

EFAgarantisce valori di latenza più bassi e coerenti e un throughput più elevato rispetto al TCP trasporto generalmente utilizzato nei sistemi cloudHPC. Migliora inoltre le prestazioni delle comunicazioni tra istanze, essenziali per il dimensionamento dell'AI/ML e delle applicazioni. HPC Ottimizzato per operare sull'infrastruttura di AWS rete esistente, è in grado di dimensionarsi in funzione dei requisiti delle applicazioni.

EFAsi integra con Libfabric versione 1.7.0 e supporta Nvidia Collective Communications Library (NCCL) per le applicazioni AI e ML e Open MPI 4 e successivi per MPI le applicazioni. HPC

EFAnozioni di base

Un EFA dispositivo può essere collegato a un'EC2istanza in due modi:

  1. Utilizzando un'EFAinterfaccia tradizionale, chiamata anche EFA withENA, che crea sia un EFA dispositivo che un ENA dispositivo.

  2. Utilizzando un'interfaccia EFA -only, che crea solo il EFA dispositivo.

Il EFA dispositivo offre funzionalità come il bypass del sistema operativo integrato e il controllo della congestione tramite il protocollo Scalable Reliable Datagram (). SRD Le caratteristiche del EFA dispositivo consentono una funzionalità di trasporto affidabile e a bassa latenza che consente all'EFAinterfaccia di fornire migliori prestazioni delle applicazioni HPC e ML su Amazon. EC2 Inoltre, il ENA dispositivo offre una rete IP tradizionale.

Confronto tra un tradizionale stack HPC software e uno che usa un. EFA

Per interfacciarsi con il trasporto di rete del sistema, in genere HPC le applicazioni AI/ML utilizzano NCCL e le applicazioni utilizzano l'interfaccia di trasmissione dei messaggi (MPI) per interfacciarsi con il trasporto di rete del sistema. Nel AWS Cloud questo ha comportato l'interfacciarsi delle applicazioni con NCCL oMPI, che a sua volta utilizza lo stack TCP /IP del sistema operativo e il driver del ENA dispositivo per consentire la comunicazione di rete tra istanze.

Con un'interfaccia tradizionale EFA (EFAconENA) o EFA solo 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 e HPC applicazioni per un'esecuzione più efficiente.

Nota

Componente core del framework OpenFabrics Interfaces (OFI), Libfabric definisce ed esporta lo spazio utente API di. OFI Per maggiori informazioni, consulta il OpenFabrics sito Web di Libfabric.

Differenze tra ENAEFA, e EFA -only interfacce di rete

Amazon EC2 fornisce due tipi di interfacce di rete:

  • ENAle interfacce forniscono tutte le tradizionali funzionalità di rete e routing IP necessarie per supportare le reti IP per un. VPC Per ulteriori informazioni, consulta Abilita una rete avanzata con ENA le tue EC2 istanze.

  • EFA(EFAconENA) le interfacce forniscono sia il ENA dispositivo per la rete IP sia il dispositivo per le EFA comunicazioni a bassa latenza e ad alto rendimento.

  • EFA-only le interfacce supportano solo le funzionalità del dispositivo, senza il EFA dispositivo per le reti IP tradizionali. ENA

La tabella seguente fornisce un confronto tra e EFA solo ENA le EFA interfacce di rete.

ENA EFA(con) EFA ENA EFA-Solo
Supporta la funzionalità di rete IP No
Possono essere assegnati IPv4 o IPv6 indirizzi No
Può essere utilizzato, ad esempio, come interfaccia di rete principale No
Conta ai fini ENI del limite di allegati, ad esempio
Supporto per tipi di istanza Supportata su tutti i tipi di istanze basate su Nitro Tipi di istanze supportati Tipi di istanze supportati
Denominazione dei parametri in EC2 APIs interface efa efa-only
Denominazione dei campi nella console EC2 Nessuna selezione EFAcon ENA EFA-Solo

Librerie e interfacce supportate

EFAsSupporta le seguenti interfacce e librerie:

  • Open MPI 4 e versioni successive

    Nota

    Per le istanze basate su Graviton ti consigliamo di utilizzare Open MPI 4.0 o versioni successive.

  • Intel MPI 2019 aggiornamento 5 e successivi

  • NVIDIACollective Communications Library (NCCL) 2.4.2 e versioni successive

  • AWS Neuron SDK versione 2.3 e successive

Tipi di istanze supportati

I seguenti tipi di istanza supportano EFAs:

Nitro v5
  • Scopo generale: m8g.24xlarge | m8g.48xlarge | m8g.metal-24xl | m8g.metal-48xl

  • Ottimizzato per il calcolo: c7gn.16xlarge | c7gn.metal | c8g.24xlarge | c8g.48xlarge | c8g.metal-24xl | c8g.metal-48xl

  • Ottimizzata per la memoria: r8g.24xlarge | r8g.48xlarge | r8g.metal-24xl | r8g.metal-48xl | x8g.24xlarge | x8g.48xlarge | x8g.metal-24xl | x8g.metal-48xl

  • Calcolo ad alte prestazioni: hpc7g.4xlarge | hpc7g.8xlarge | hpc7g.16xlarge

Nitro v4
  • Uso generale: m6a.48xlarge | m6a.metal | m6i.32xlarge | m6i.metal | m6id.32xlarge | m6id.metal | m6idn.32xlarge | m7g.metal | m6in.32xlarge | m6in.metal | m7a.48xlarge | m7a.metal-48xl | m7gd.16xlarge | m7gd.metal | m7i.48xgrande | m7i.metal-48xl

  • Ottimizzato per il calcolo: c6a.48xlarge | c6a.metal | c6gn.16xlarge | c6i.32xlarge | c6i.metal | c6id.32xlarge | c6id.metal | c7g.metal | c7g.metal | c7a.48xlarge | c7a.48xlarge | c7a.metal-48xl | c7g.16xlarge | c7g.metal | c7gd.16xgrande | c7gd.metal | c7i.48xgrande | c7i.metal-48xl

  • Ottimizzata per la memoria: r6a.48xlarge | r6i.32xlarge | r6i.metal | r6i.metal | r6idn.32xlarge | r6idn.metal | r6in.32xlarge | r7g.metal | r7g.metal | r7gd.16xlarge | r7gd.metal | r7i.48xlarge | r7i.metal-48xl | r7iz.32xlarge | r7iz.metal-32xl | u7i-12tb.224xlarge | u7in-16tb.224xlarge | u7in-24tb.224xlarge | x2idn.32xgrande | x2idn.metal | x2iedn.32xgrande | x2idn.metal

  • Archiviazione ottimizzata: i4g.16xlarge | i4i.32xlarge | i4i.metal | im4gn.16xlarge

  • Calcolo accelerato: g6.8xlarge | g6.12xlarge | g6.16xlarge | g6.24xlarge | g6.48xlarge | g6e.8xlarge | g6e.12xlarge | g6e.16xlarge | g6e.24xlarge | g6e.48xlarge | gr6.8xlarge | p5.48xlarge | p5e.48xlarge | trn1.32xlarge | TRN 1 n. 32 x grande

  • Elaborazione ad alte prestazioni: hpc6a.48xlarge | hpc6id.32xlarge | hpc7a.12xlarge | hpc7a.24xlarge | hpc7a.48xlarge | hpc7a.96xlarge

Nitro v3
  • Scopo generale: m5dn.24xlarge | m5dn.metal | m5n.24xlarge | m5n.metal | m5zn.12xlarge | m5zn.metal

  • Ottimizzato per il calcolo: c5n.9xlarge | c5n.18xlarge | c5n.metal

  • Ottimizzata per la memoria: r5dn.24xlarge | r5dn.metal | r5n.24xlarge | r5n.metal | x2iezn.12xlarge | x2iezn.metal

  • Storage ottimizzato: i3xxlarge

  • Calcolo accelerato: dl1.24xlarge | dl2q.24xlarge | g4dn.8xlarge | g4dn.12xlarge | g4dn.16xlarge | g4dn.metal | g5.8xlarge | g5.12xlarge | g5.16xlarge | g5.16xlarge | g5.24xlarge | g5.48xlarge | inf1.24xlarge | p4d.24xlarge | p4de.24xlarge | vt1.24xlarge

Per visualizzare i tipi di istanza disponibili supportati EFAs in una regione specifica

I tipi di istanza disponibili variano in base alla regione. Per visualizzare i tipi di istanza disponibili supportati EFAs in una regione, utilizzate il describe-instance-typescomando con il --region parametro. Includi il --filters parametro per assegnare i risultati ai tipi di istanza supportati EFA e il --query parametro per assegnare l'output al valore diInstanceType.

aws ec2 describe-instance-types --region us-east-1 --filters Name=network-info.efa-supported,Values=true --query "InstanceTypes[*].[InstanceType]" --output text | sort

Sistemi operativi supportati

Il supporto del sistema operativo varia a seconda del tipo di processore. Nella tabella seguente vengono illustrati i sistemi operativi supportati.

Sistema operativo tipi di istanze Intel/ AMD (x86_64) AWS Tipi di istanze Graviton () arm64
Amazon Linux 2023
Amazon Linux 2
RHEL8 e 9
Debian 10, 11 e 12
Rocky Linux 8 e 9
Ubuntu 20.04, 22.04 e 24.04
SUSELinux Enterprise 15 e versioni successive SP2
Apri SUSE Leap 15.5 e versioni successive
Nota

Ubuntu 20.04 consente il supporto diretto peer quando viene utilizzato con istanze dl1.24xlarge.

EFAlimitazioni

EFAshanno le seguenti limitazioni:

Nota

EFAil traffico si riferisce al traffico trasmesso attraverso il EFA dispositivo di un'interfaccia EFA (EFAconENA) o di EFA sola interfaccia.

  • EFAil traffico tra istanze P4d/P4de/ e altri tipi di DL1 istanze non è attualmente supportato.

  • I tipi di istanza che supportano più schede di rete possono essere configurati con uno EFA per scheda di rete. Tutti gli altri tipi di istanza supportati supportano solo un EFA per istanza.

  • Per m7g.16xlarge e c7g.16xlarge le istanze r7g.16xlarge dedicate e gli host dedicati non sono supportati quando EFA è collegato un.

  • EFAil traffico non può attraversare le zone di disponibilità oVPCs. Ciò non si applica al normale traffico IP proveniente dal ENA dispositivo di un'EFAinterfaccia.

  • EFAil traffico non è instradabile. mentre è sempre possibile instradare il normale traffico IP dal ENA dispositivo di un'EFAinterfaccia.

  • EFAnon è supportato su AWS Outposts.

  • Il EFA dispositivo con interfaccia EFA (EFAconENA) è supportato nelle istanze di Windows solo per le applicazioni basate su AWS Cloud Digital Interface Software Development Kit (AWS CDI SDK). Se si collega un'interfaccia EFA (EFAconENA) a un'istanza di Windows per applicazioni non CDI SDK basate, questa funge da ENA interfaccia, senza le funzionalità aggiuntive del EFA dispositivo. L'interfaccia EFA -only non è supportata dalle applicazioni AWS CDI basate su Windows o Linux. Per ulteriori informazioni, consultate la Guida per l'utente del AWS Cloud Digital Interface Software Development Kit (AWS CDI SDK).

EFAprezzi

EFAè disponibile come funzionalità EC2 di rete Amazon opzionale che puoi abilitare su qualsiasi istanza supportata senza costi aggiuntivi.