Elastic Fabric Adapter para cargas de trabajo de HPC y IA o ML en Amazon EC2
Elastic Fabric Adapter (EFA) es un dispositivo de red que puede adjuntar a su instancia de Amazon EC2 para acelerar las aplicaciones de inteligencia artificial (IA), machine learning (ML) y computación de alto rendimiento (HPC). Un EFA le permite obtener el rendimiento de la aplicación de un clúster de HPC o IA o ML en las instalaciones que cuente con la escalabilidad, flexibilidad y elasticidad que proporciona la nube de AWS.
EFA proporciona una latencia menor y más coherente y un rendimiento superior que el transporte TCP que se utiliza tradicionalmente en sistemas HPC basados en la nube. Mejora el rendimiento de una comunicación entre instancias que es fundamental para escalar aplicaciones HCP y de IA o ML. Está optimizado para trabajar en la infraestructura de red de AWS existente y se puede escalar en función de los requisitos de aplicaciones.
Un EFA se integra con Libfabric 1.7.0 y versiones posteriores y es compatible con Nvidia Collective Communications Library (NCCL) para aplicaciones de IA y ML. También es compatible con Open MPI 4 y versiones posteriores y con la actualización 5 de 2019 de Intel MPI para aplicaciones HPC.
EFA admite RDMA (acceso directo a memoria remota) de escritura en la mayoría de los tipos de instancias compatibles que tienen Nitro versión 4 o posterior. La lectura RDMA es compatible con todas las instancias con Nitro versión 4 o posterior. Para obtener más información, consulte Tipos de instancias admitidas.
Contenido
Conceptos básicos de EFA
Un dispositivo de EFA se puede conectar a una instancia de EC2 de dos formas:
-
Mediante una interfaz de EFA tradicional, también denominada EFA con ENA, que crea un dispositivo de EFA y un dispositivo de ENA.
-
Mediante una interfaz exclusiva para EFA, que solo crea el dispositivo de EFA.
El dispositivo de EFA ofrece funciones como la derivación integrada del sistema operativo y el control de congestión a través del protocolo Scalable Reliable Datagram (SRD). Las características del dispositivo de EFA permiten una funcionalidad de transporte fiable y de baja latencia que permite a la interfaz de EFA brindar un mejor rendimiento de las aplicaciones de HPC y ML en Amazon EC2. Por otro lado, el dispositivo de ENA ofrece redes IP tradicionales.

Por lo general, las aplicaciones de IA o ML utilizan NCCL, mientras que las aplicaciones HPC utilizan Message Passing Interface (MPI) para interactuar con el transporte de red del sistema. En la nube de AWS, esto significa que las aplicaciones interactúan con NCCL o con MPI que, a continuación, utiliza la pila TCP/IP del sistema operativo y el controlador del dispositivo de ENA para permitir la comunicación de red entre instancias.
Con una interfaz de EFA tradicional (EFA con ENA) o solo EFA, las aplicaciones de IA o ML utilizan NCCL, mientras que las aplicaciones HPC utilizan MPI para interactuar directamente con la API de Libfabric. La API Libfabric omite el kernel del sistema operativo y se comunica directamente con el dispositivo EFA para poner paquetes en la red. Esto reduce la sobrecarga y permite que las aplicaciones de IA o ML y HPC se ejecuten de forma más eficiente.
nota
Libfabric es un componente principal del marco OpenFabrics Interfaces (OFI), que define y exporta la API de espacio del usuario de OFI. Para obtener más información consulte el sitio web de Libfabric OpenFabrics
Diferencias entre las interfaces de red ENA, EFA y solo EFA
Amazon EC2 ofrece dos tipos de interfaces de red:
-
Las interfaces ENA proporcionan todas las características de enrutamiento y redes IP tradicionales que se requieren para admitir las redes IP de una VPC. Para obtener más información, consulte Habilitar redes mejoradas con ENA en las instancias de EC2.
-
Las interfaces EFA (EFA con ENA) proporcionan tanto el dispositivo de ENA para redes IP como el dispositivo EFA para comunicaciones de baja latencia y alto rendimiento.
-
Las interfaces solo de EFA admiten solo las capacidades del dispositivo de EFA, sin el dispositivo de ENA para las redes IP tradicionales.
En la siguiente tabla, se proporciona una comparación de las interfaces de red de ENA, EFA y solo EFA.
ENA | EFA (EFA con ENA) | Solo EFA | |
---|---|---|---|
Compatible con la funcionalidad de redes IP | Sí | Sí | No |
Se pueden asignar direcciones IPv4 o IPv6 | Sí | Sí | No |
Se puede usar como interfaz de red principal para instancias | Sí | Sí | No |
Se tiene en cuenta para el límite de adhesión al ENI para instancias | Sí | Sí | Sí |
Tipos de instancias admitidos | Compatible con todos los tipos de instancias basadas en Nitro | Tipos de instancias admitidas | Tipos de instancias admitidas |
Nomenclatura de parámetros en las API de EC2 | interface |
efa |
efa-only |
Nomenclatura de campos en la consola EC2 | Sin selección | EFA con ENA | Solo EFA |
Interfaces y bibliotecas admitidas
Los EFA admiten las siguientes interfaces y bibliotecas:
-
Open MPI 4 y versiones posteriores
nota
Se prefiere Open MPI 4.0 o una versión más reciente para instancias basadas en Graviton.
-
Intel MPI 2019 Actualización 5 y versiones posteriores
-
NVIDIA Collective Communications Library (NCCL) 2.4.2 y posterior
-
SDK AWS Neuron versión 2.3 y posteriores
Tipos de instancias admitidas
Los tipos de instancia que se muestran a continuación, admiten EFAs:
Para ver los tipos de instancias disponibles que son compatibles con los EFA en una región específica
Los tipos de instancia disponibles varían según la región. Para ver los tipos de instancias disponibles que son compatibles con los EFA en una región, utilice el comando describe-instance-types--region
. Incluya el parámetro --filters
para limitar los resultados a los tipos de instancia que admiten EFA y el parámetro --query
para limitar la salida al valor 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
Sistemas operativos compatibles
La compatibilidad del sistema operativo varía según el tipo de procesador. En la tabla siguiente se muestran los sistemas operativos compatibles.
Sistema operativo | Tipos de instancias Intel/AMD (x86_64 ) |
Tipos de instancia de AWS Graviton (arm64 ) |
---|---|---|
Amazon Linux 2023 | ✓ | ✓ |
Amazon Linux 2 | ✓ | ✓ |
RHEL 8 y 9 | ✓ | ✓ |
Debian 10, 11 y 12 | ✓ | ✓ |
Rocky Linux 8 y 9 | ✓ | ✓ |
Ubuntu 20.04, 22.04, and 24.04 | ✓ | ✓ |
SUSE Linux Enterprise 15 SP2 y posteriores | ✓ | ✓ |
OpenSUSE Leap 15.5 y versiones posteriores | ✓ |
nota
Ubuntu 20.04 admite el soporte directo entre pares cuando se usa con instancias dl1.24xlarge
.
Limitaciones de EFA
Los EFA presentan las siguientes limitaciones:
nota
El tráfico de EFA se refiere al tráfico transmitido a través del dispositivo de EFA de una interfaz EFA (EFA con ENA) o solo EFA.
-
La escritura RDMA no es compatible con todos los tipos de instancias. Para obtener más información, consulte Tipos de instancias admitidas.
-
Actualmente, no se admite el tráfico EFA entre las instancias P4d/P4de/DL1 y otros tipos de instancias.
-
Los tipos de instancias que admiten varias tarjetas de red se pueden configurar con un EFA por tarjeta de red. Todos los demás tipos de instancia compatibles admiten solo un EFA por instancia.
-
Los hosts dedicados y las instancias dedicadas de
c7g.16xlarge
,m7g.16xlarge
yr7g.16xlarge
no son compatibles cuando se adjunta un EFA. -
El tráfico de un EFA no puede cruzar zonas de disponibilidad ni VPC. Esto no se aplica al tráfico de IP normal desde el dispositivo de ENA de una interfaz EFA.
-
El tráfico de un EFA no es enrutable. El tráfico de IP normal desde el dispositivo de ENA de una interfaz de EFA sigue siendo enrutable.
-
EFA no es compatible con AWS Outposts.
-
El dispositivo de EFA de una interfaz de EFA (EFA con ENA) solo es compatible con las instancias de Windows para aplicaciones basadas en el kit de desarrollo de software de AWS Cloud Digital Interface (SDK de AWS CDI). Si conectas una interfaz de EFA (EFA con ENA) a una instancia de Windows para aplicaciones que no estén basadas en el SDK de CDI, funcionará como una interfaz de ENA, sin las capacidades adicionales del dispositivo de EFA. Las aplicaciones basadas en AWS CDI en Windows o Linux no son compatibles con la interfaz exclusiva para EFA. Para obtener más información, consulte la Guía del usuario del kit de desarrollo de software de AWS Cloud Digital Interface (SDK de AWS CDI).
Precios de EFA
EFA está disponible como una función de red opcional de Amazon EC2 que puede habilitar en cualquier instancia compatible sin costo adicional.