Elastic Fabric Adapter per HPC carichi di lavoro ML 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 HPC carichi di lavoro ML su Amazon EC2

Un Elastic Fabric Adapter (EFA) è un dispositivo di rete che puoi collegare alla tua EC2 istanza Amazon per accelerare le applicazioni di High Performance Computing (HPC) e machine learning. EFAti consente di ottenere le prestazioni applicative di un HPC cluster locale, con la scalabilità, la flessibilità e l'elasticità fornite dal AWS cloud.

EFAsforniscono una latenza inferiore e più costante e un throughput più elevato rispetto al TCP trasporto tradizionalmente utilizzato nei sistemi basati su cloud. HPC Migliora le prestazioni della comunicazione tra istanze, fondamentali per la scalabilità e le applicazioni di apprendimento automatico. HPC È ottimizzato per funzionare sull'infrastruttura di AWS rete esistente e può essere scalato in base ai requisiti dell'applicazione.

EFAssi integra con Libfabric 1.7.0 e versioni successive e supporta Open MPI 5 e versioni successive e Intel MPI 2019 Update 5 e versioni successive per HPC le applicazioni e Nvidia Collective Communications Library (NCCL) per le applicazioni di apprendimento automatico.

Nota

Le funzionalità OS-Bypass di non sono supportate nelle istanze WindowsEFAs. Se si collega un EFA a un'istanza di Windows, l'istanza funziona come un adattatore di rete elastico, senza funzionalità aggiuntive. EFA

EFAnozioni di base

An EFA è un Elastic Network Adapter (ENA) con funzionalità aggiuntive. Fornisce tutte le funzionalità di un sistema operativoENA, con una funzionalità aggiuntiva di bypass del sistema operativo. OS-Bypass è un modello di accesso che consente alle applicazioni di machine learning di comunicare direttamente con l'hardware dell'interfaccia di rete per fornire funzionalità di trasporto affidabili HPC e a bassa latenza.

Confrontando uno stack di HPC software tradizionale con uno che utilizza un. EFA

Tradizionalmente, HPC le applicazioni utilizzano la Message Passing Interface (MPI) per interfacciarsi con il trasporto di rete del sistema. Nel AWS cloud, ciò significa che le applicazioni si interfacciano conMPI, che quindi utilizza lo stack TCP /IP del sistema operativo e il driver del ENA dispositivo per abilitare la comunicazione di rete tra le istanze.

Con unEFA, HPC le applicazioni utilizzano MPI o si NCCL interfacciano con Libfabric. API Libfabric API ignora il kernel del sistema operativo e comunica direttamente con il EFA dispositivo per immettere pacchetti sulla rete. Ciò riduce il sovraccarico e consente all'applicazione di funzionare in modo più HPC efficiente.

Nota

Libfabric è un componente fondamentale del framework OpenFabrics Interfaces (OFI), che definisce ed esporta lo spazio utente di. API OFI Per ulteriori informazioni, consulta il sito Web Libfabric. OpenFabrics

Differenze tra e EFAs ENAs

Gli Elastic Network Adapters (ENAs) forniscono funzionalità di rete IP tradizionali necessarie per supportare il VPC networking. EFAsforniscono tutte le stesse funzionalità di rete IP tradizionali e supportano anche le funzionalità OS-Bypass. ENAs OS-Bypass consente alle applicazioni di machine learning di bypassare il kernel del sistema operativo HPC e di comunicare direttamente con il dispositivo. EFA

Librerie e interfacce supportate

EFAssupportano le seguenti interfacce e librerie:

  • Open MPI 5 e versioni successive

  • Open MPI 4.0 o versioni successive è preferibile per Graviton

  • Intel MPI 2019 Update 5 e versioni successive

  • NVIDIACollective Communications Library (NCCL) 2.4.2 e versioni successive

Tipi di istanze supportati

I seguenti tipi di istanza supportano EFAs:

  • Scopo generale: 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 | m8g.24xlarge | m8g.48xlarge | m8g.metal-24xl m8g.metal-48xl

  • Ottimizzate per il calcolo: 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 | c8g.24xlarge | c8g.48xlarge | c8g.metal-24xl | c8g.metal-48xl

  • Memoria ottimizzata: 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| x8g.24xlarge x8g.48xlarge | x8g.metal-24xl | x8g.metal-48xl

  • Storage ottimizzato: i3en.12xlarge | i3en.24xlarge | i3en.metal | i4g.16xlarge | i4i.32xlarge | i4i.metal | im4gn.16xlarge

  • Calcolo accelerato: 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 | p5e.48xlarge | trn1.32xlarge | trn1n.32xlarge vt1.24xlarge

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

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. Includete il --filters parametro per definire l'ambito dei risultati in base ai tipi di istanza supportati EFA e il --query parametro per definire l'output in base 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. La tabella seguente mostra 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 e 11
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:

  • Tutti i tipi di istanze P4d e P5 supportano NVIDIA GPUDirect Remote Direct Memory Access (). RDMA

  • 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 una per scheda di rete. EFA Tutti gli altri tipi di istanza supportati ne supportano solo una 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 OS-Bypass non può attraversare le zone di disponibilità o. VPCs In altre parole, il traffico EFA OS-Bypass non può fluire da una zona di disponibilità o VPC (con o senza una connessione peering) a un'VPCaltra. Ciò non si applica al traffico IP proveniente da. EFA

  • EFAIl traffico OS-Bypass non può essere inviato attraverso sottoreti in una zona locale.

  • EFAIl traffico OS-Bypass non è instradabile. Il normale traffico IP proveniente da rimane instradabile. EFA

  • EFADeve essere membro di un gruppo di sicurezza che consenta tutto il traffico in entrata e in uscita da e verso il gruppo di sicurezza stesso.

  • EFAnon è supportato nelle istanze di Windows.

  • EFAnon è supportato su AWS Outposts.

EFAprezzi

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