Instancias de computación acelerada de Linux - Amazon Elastic Compute Cloud

Instancias de computación acelerada de Linux

Las familias de instancias de computación acelerada utilizan aceleradores de hardware, o coprocesadores, para realizar algunas funciones, como cálculos numéricos de coma flotante, procesamiento de gráficos o coincidencia de patrones de datos de un modo más eficiente que con software ejecutándose en CPU. Estas instancias hacen posible un mayor paralelismo para conseguir un mayor rendimiento en las cargas de trabajo que hacen un uso intensivo de los recursos informáticos.

Si necesita una alta capacidad de procesamiento, se beneficiará del uso de instancias de computación acelerada, ya que ofrecen acceso a aceleradores de computación basados en hardware como unidades de procesamiento gráfico (GPU), matrices de puertas programables en campo (FPGA) o AWS Inferentia.

Instancias de GPU

Las instancias basadas en GPU ofrecen acceso a GPU de NVIDIA con miles de núcleos de computación. Puede utilizar estas instancias para acelerar aplicaciones científicas, de ingeniería y de renderizado aprovechando los marcos de trabajo de computación paralela CUDA u Open Computing Language (OpenCL). También las puede utilizar para aplicaciones de gráficos, incluido el streaming de juegos, el streaming de aplicaciones 3-D y otras cargas de trabajo de gráficos.

Instancias G5

Las instancias G5 utilizan GPU NVIDIA A10G y proporcionan un alto rendimiento para aplicaciones de uso intensivo de gráficos, tales como estaciones de trabajo remotas, renderizado de video y videojuegos en la nube, así como modelos de aprendizaje profundo para aplicaciones como procesamiento de lenguaje natural, visión artificial y motores de recomendación. Estas instancias incluyen hasta 8 GPU NVIDIA A10G, procesadores AMD EPY de segunda generación, hasta 100 Gbps de ancho de banda de red y hasta 7,6 TB de almacenamiento SSD NVMe local.

Para obtener más información, consulte Instancias G5 de Amazon EC2.

Instancias de G4ad y G4dn

Las instancias G4ad utilizan GPU AMD Radeon Pro V520 y procesadores AMD EPYC de segunda generación, y son adecuadas para aplicaciones gráficas como estaciones de trabajo gráficas remotas, streaming de juegos y renderizado que aprovechan las API estándar del sector, como OpenGL, DirectX y Vulkan. Proporcionan hasta 4 GPU AMD Radeon Pro V520, 64 vCPU, redes de 25 Gbps y 2,4 TB de almacenamiento SSD local basado en NVME.

Las instancias de G4dn utilizan las GPU NVIDIA Tesla y proporcionan una plataforma rentable y de alto rendimiento para la informática de GPU de carácter general mediante el uso de CUDA o marcos de machine learning junto con aplicaciones gráficas que utilizan DirectX u OpenGL. Estas instancias proporcionan redes de alto ancho de banda, potentes capacidades de punto flotante de precisión media y simple, junto con las precisiones INT8 e INT4. Cada GPU tiene 16 GiB de memoria GDDR6, lo que hace que las instancias G4dn sean adecuadas para interferencia de machine learning, transcodificación de video y aplicaciones de gráficos como estaciones de trabajo de gráficos remotas y streaming de juegos en la nube.

Para obtener más información, consulte Instancias Amazon EC2 G4.

Las instancias G4dn son compatibles con la estación de trabajo virtual de NVIDIA GRID. Para más información, consulte Ofertas de NVIDIA Marketplace.

Instancias G3

Estas instancias utilizan GPU Tesla M60 de NVIDIA y proporcionan una plataforma rentable y de alto rendimiento para aplicaciones gráficas mediante DirectX u OpenGL. Las instancias G3 también ofrecen características de estaciones de trabajo virtuales de NVIDIA GRID, como compatibilidad con 4 monitores con resoluciones de hasta 4096x2160 y aplicaciones virtuales, también de NVIDIA GRID. Las instancias G3 están equipadas adecuadamente para aplicaciones como visualizaciones en 3D, estaciones de trabajo remotas que hacen un uso intensivo de los gráficos, renderizado 3D, codificación de vídeo, realidad virtual y otras cargas de trabajo de gráficos del lado del servidor que necesitan capacidad de procesamiento paralelo de forma masiva.

Para obtener más información, consulte Instancias Amazon EC2 G3.

Las instancias G3 admiten aplicaciones y estaciones de trabajo virtuales de NVIDIA GRID y aplicaciones virtuales. Para activar cualquiera de esas características, consulte Activar aplicaciones virtuales de NVIDIA GRID.

Instancias G2

Estas instancias utilizan GPU GRID K520 de NVIDIA y proporcionan una plataforma rentable y de alto rendimiento para aplicaciones gráficas mediante DirectX u OpenGL. Las GPU GRID de NVIDIA además admiten la captura rápida de NVIDIA y las operaciones de API de codificación. Entre algunos ejemplos de aplicaciones se incluyen servicios de creación de vídeo, visualizaciones 3D, aplicaciones de streaming con un uso intensivo de gráficos y otras cargas de trabajo de gráficos del lado del servidor.

Instancias P4d

Estas instancias utilizan GPU A100 de NVIDIA y proporcionan una plataforma de alto rendimiento para machine learning y las cargas de trabajo de HPC. Las instancias P4d ofrecen 400 Gbps de rendimiento de ancho de banda de red total y compatibilidad Elastic Fabric Adapter (EFA). Son las primeras instancias EC2 que proporcionan varias tarjetas de red.

Para obtener más información, consulte las Amazon EC2 instancias P4d.

Las instancias P4d admiten la interconexión de GPU NVSwitch de NVIDIA y RDMA GPUDirect de NVIDIA.

Las instancias P4de ofrecen GPU NVIDIA A100 de 80 GB

Instancias P3

Estas instancias V100 utilizan GPU Tesla V100 de NVIDIA y se han diseñado para la informática de GPU de uso general mediante los modelos de programación CUDA u OpenCL o a través de una plataforma de machine learning. Las instancias P3 ofrecen conexión en red de gran ancho de banda, potentes capacidades de punto flotante de precisión media, única o doble y hasta 32 GiB de memoria por GPU, lo que las hace ideales para aprendizaje profundo, bases de datos de gráficos, bases de datos de alto rendimiento, dinámica de fluidos computacional, finanzas computacionales, análisis sísmico, modelado molecular, genómica, renderizado y otras cargas de trabajo de computación de GPU del lado del servidor. Las GPU Tesla V100 no admiten el modo de gráficos.

Para obtener más información, consulte Instancias de Amazon EC2 P3.

Las instancias P3 admiten transferencias punto a punto de NVLink de NVIDIA. Para obtener más información, consulte NVIDIA NVLink.

Instancias P2

Las instancias P2 utilizan GPU de NVIDIA Tesla K80 y se han diseñado para la computación de GPU de uso general mediante los modelos de programación CUDA u OpenCL. Las instancias P2 ofrecen conexión en red de gran ancho de banda, potentes capacidades de punto flotante de precisión únicas o dobles y 12 GiB de memoria por GPU, lo que las hace ideales para aprendizaje profundo, bases de datos de gráficos, bases de datos de alto rendimiento, dinámica de fluidos computacional, finanzas computacionales, análisis sísmico, modelado molecular, genómica, renderizado y otras cargas de trabajo de computación de GPU del lado del servidor.

Las instancias P2 admiten transferencias de punto a punto de GPUDirect de NVIDIA. Para obtener más información, consulte NVIDIA GPUDirect.

Instancias con AWS Inferentia

Estas instancias están diseñadas para acelerar el Machine Learning mediante AWS Inferentia, un chip de IA y ML personalizado de Amazon que proporciona inferencia de Machine Learning de alto rendimiento y baja latencia. Estas instancias están optimizadas para implementar modelos de aprendizaje profundo (DL) para aplicaciones, como procesamiento de lenguaje natural, detección y clasificación de objetos, personalización y filtrado de contenido y reconocimiento de voz.

Hay una variedad de formas con las que puede comenzar.

  • Utilice SageMaker, un servicio totalmente administrado que es la forma más fácil de comenzar con los modelos de machine learning. Para obtener más información, consulte Compilar e implementar un modelo de TensorFlow en Inf1 mediante Sagemaker Neo.

  • Lance una instancia Inf1 mediante la AMI de aprendizaje profundo. Para obtener más información, consulte AWS Inferentia con DLAMI en la Guía para desarrolladores de AWS Deep Learning AMI.

  • Lance una instancia Inf1 con su propia AMI e instale el AWS Neuron SDK, que permite compilar, ejecutar y perfilar modelos de aprendizaje profundo para AWS Inferentia.

  • Lance una instancia de contenedor utilizando una instancia Inf1 y una AMI de Amazon ECS optimizada. Para obtener más información, consulte AMI de Amazon Linux 2 (Inferentia) en la Amazon Elastic Container Service Developer Guide.

  • Cree un clúster de Amazon EKS con nodos que ejecuten instancias Inf1. Para obtener más información, consulte Soporte de Inferentia en la Guía del usuario de Amazon EKS.

Para obtener más información, consulte Machine Learning en AWS.

Instancias Inf1

Las instancias Inf1 utilizan chips de inferencia de Machine Learning de AWS Inferentia. Inferentia se desarrolló para permitir un rendimiento de inferencia de baja latencia y alta rentabilidad a cualquier escala.

Para obtener más información, consulte Instancias de Amazon EC2 Inf1.

Instancias FPGA

Las instancias basadas en FPGA ofrecen acceso a grandes FPGA con millones de celdas de lógica de sistemas paralelos. Puede utilizar las instancias de computación acelerada basadas en FPGA para acelerar cargas de trabajo de genómica, análisis financieros, procesamiento de vídeo en tiempo real, análisis de big data y seguridad, aprovechando las aceleraciones de hardware personalizadas. Puede desarrollar estas aceleraciones mediante lenguajes de descripción de hardware como Verilog o VHDL, o con el uso de lenguajes de nivel superior como marcos de trabajo de computación paralela OpenCL. Puede desarrollar su propio código de aceleración de hardware o bien adquirir aceleraciones de hardware a través de AWS Marketplace.

La AMI de desarrolladores de FPGA ofrece las herramientas necesarias para desarrollar, probar y crear AFI. Puede utilizar la AMI de desarrolladores de FPGA en cualquier instancia EC2 con al menos 32 GB de memoria de sistema (por ejemplo, instancias C5, M4 y R4).

Para obtener más información, consulte la documentación del Kit de desarrollo de Hardware FPGA de AWS.

Instancias F1

Las instancias F1 utilizan FPGA Xilinx UltraScale+ VU9P y se han diseñado para acelerar algoritmos que usan muchos recursos informáticos, como operaciones de flujo de datos o altamente paralelas y no indicadas para las CPU de uso general. Cada FPGA en una instancia F1 contiene alrededor de 2,5 millones de elementos lógicos y alrededor de 6800 motores de procesamiento de señales digitales (DSP), además de 64 GiB de memoria local protegida DDR ECC, conectados a la instancia mediante una conexión dedicada PCIe Gen3 x16. Las instancias F1 proporcionan volúmenes locales SSD de NVMe.

Los desarrolladores pueden utilizar la AMI de desarrolladores de FPGA y el kit de desarrollador de hardware de AWS para crear aceleraciones de hardware personalizadas para su uso en instancias F1. La AMI de desarrolladores de FPGA incluye herramientas de desarrollo para el desarrollo de FPGA de ciclo completo en la nube. Con estas herramientas, los desarrolladores pueden crear y compartir imágenes de Amazon FPGA (AFIs) que se pueden cargar en la FPGA de una instancia F1.

Para obtener más información, consulte Instancias de Amazon EC2 F1.

Especificaciones de hardware

A continuación, se presenta un resumen de las especificaciones de hardware que requieren las instancias de computación acelerada. Una unidad de procesamiento central virtual (vCPU) representa una parte de la CPU física asignada a una máquina virtual (VM). Para las instancias x86, hay dos vCPU por núcleo. Para las instancias Graviton, hay una vCPU por núcleo.

Tipo de instancia vCPU predeterminadas Memoria (GiB) Aceleradores
f1.2xlarge 8 122 1
f1.4xlarge 16 244 2
f1.16xlarge 64 976 8
g2.2xlarge 8 15 1
g2.8xlarge 32 60 4
g3s.xlarge 4 30.5 1
g3.4xlarge 16 122 1
g3.8xlarge 32 244 2
g3.16xlarge 64 488 4
g4ad.xlarge 4 16 1
g4ad.2xlarge 8 32 1
g4ad.4xlarge 16 64 1
g4ad.8xlarge 32 128 2
g4ad.16xlarge 64 256 4
g4dn.xlarge 4 16 1
g4dn.2xlarge 8 32 1
g4dn.4xlarge 16 64 1
g4dn.8xlarge 32 128 1
g4dn.12xlarge 48 192 4
g4dn.16xlarge 64 256 1
g4dn.metal 96 384 8
g5.xlarge 4 16 1
g5.2xlarge 8 32 1
g5.4xlarge 16 64 1
g5.8xlarge 32 128 1
g5.12xlarge 48 192 4
g5.16xlarge 64 256 1
g5.24xlarge 96 384 4
g5.48xlarge 192 768 8
inf1.xlarge 4 8 1
inf1.2xlarge 8 16 1
inf1.6xlarge 24 48 4
inf1.24xlarge 96 192 16
p2.xlarge 4 61 1
p2.8xlarge 32 488 8
p2.16xlarge 64 732 16
p3.2xlarge 8 61 1
p3.8xlarge 32 244 4
p3.16xlarge 64 488 8
p3dn.24xlarge 96 768 8
p4d.24xlarge 96 1152 8

Las instancias de computación aceleradas utilizan los siguientes procesadores.

Procesadores AWS Graviton

  • AWS Graviton2: G5g

Procesadores AMD

  • Procesadores AMD EPYC de 2.ª generación (AMD EPYC 7R32): G4ad, G5

Procesadores Intel

  • Procesadores Intel Xeon Scalable (Broadwell E5-2686 v4): F1, G3, P2, P3

  • Procesadores Intel Xeon Scalable (Skylake 8175): P3dn

  • Procesadores Intel Xeon Scalable de 2.ª generación (Cascade Lake P-8275CL): DL1, P4d,

  • Procesadores Intel Xeon Scalable de 2.ª generación (Cascade Lake P-8259CL): VT1

  • Procesadores Intel Xeon Scalable de 2.ª generación (Cascade Lake P-8259L): G4dn, Inf1

Para obtener más información, consulte Tipos de instancia Amazon EC2.

Rendimiento de las instancias

Existen varias optimizaciones de configuración de GPU que puede llevar a cabo para lograr el mejor rendimiento en sus instancias. Para obtener más información, consulte Optimizar la configuración de GPU.

Las instancias optimizadas para EBS permiten obtener un alto rendimiento de forma uniforme para sus volúmenes de EBS al eliminar la contención entre la E/S de Amazon EBS y otro tráfico de red procedente de la instancia. Algunas instancias de computación acelerada están optimizadas para EBS de forma predeterminada sin costos adicionales. Para obtener más información, consulte Instancias optimizadas para Amazon EBS.

Algunos tipos de instancia de computación acelerada ofrecen la capacidad de controlar los estados C y P del procesador en Linux. Los estados C controlan los niveles de suspensión en los que puede entrar un núcleo cuando está inactivo, mientras que los estados P controlan el rendimiento deseado (en frecuencia de CPU) desde un núcleo. Para obtener más información, consulte Control de los estados del procesador de la instancia EC2.

Rendimiento de la red

Puede habilitar redes mejoradas en tipos de instancias compatibles para proporcionar latencias más bajas, menor fluctuación de red y mayor rendimiento de paquete por segundo (PPS). La mayoría de las aplicaciones no necesitan constantemente un alto nivel de rendimiento de la red, pero pueden beneficiarse del acceso a un mayor ancho de banda cuando envían o reciben datos. Para obtener más información, consulte Redes mejoradas en Linux.

A continuación, se presenta un resumen del rendimiento de la red de las instancias de computación acelerada que admiten redes mejoradas.

Tipo de instancia Rendimiento de la red Redes mejoradas
f1.4xlarge e inferior | g3.4xlarge | g3s.xlarge | g4ad.4xlarge e inferior | g5.2xlarge e inferior | p3.2xlarge Hasta 10 Gbps † ENA
g3.8xlarge | p2.8xlarge | p3.8xlarge 10 Gbps ENA
g4ad.8xlarge 15 Gbps ENA
g4dn.4xlarge e inferior | g5.4xlarge | inf1.2xlarge e inferior Hasta 25 Gbps † ENA
f1.16xlarge | g3.16xlarge | g4ad.16xlarge | g5.8xlarge | g5.16xlarge | inf1.6xlarge | p2.16xlarge | p3.16xlarge 25 Gbps ENA
g5.12xlarge 40 Gbps ENA
g4dn.8xlarge | g4dn.12xlarge | g4dn.16xlarge | g5.24xlarge 50 Gbps ENA
g4dn.metal | g5.48xlarge | inf1.24xlarge | p3dn.24xlarge 100 Gbps ENA
p4d.24xlarge | p4de.24xlarge 4x100 Gbps ENA

† Estas instancias tienen una banda ancha de base y pueden utilizar un mecanismo de créditos de E/S de red para superar la banda ancha de base en función del esfuerzo. Para obtener más información, consulte Banda ancha de instancias de red.

Tipo de instancia Banda ancha de base (Gbps) Banda ancha con ráfagas (Gbps)
f1.2xlarge 2,5 10
f1.4xlarge 5 10
g3.4xlarge 5 10
g3s.xlarge 1,25 10
g4ad.xlarge 2 10
g4ad.2xlarge 4,167 10
g4ad.4xlarge 8,333 10
g4dn.xlarge 5 25
g4dn.2xlarge 10 25
g4dn.4xlarge 20 25
g5.xlarge 2,5 10
g5.2xlarge 5 10
g5.4xlarge 10 25
p3.2xlarge 2,5 10

Rendimiento de E/S del volumen de almacén de instancias

Si se utiliza una AMI de Linux con la versión del kernel 4.4 o posterior y se utilizan todos los volúmenes del almacén de instancias basados en SSD disponibles para la instancia, se puede obtener el rendimiento de IOPS (tamaño de bloque de 4096 bytes) indicado en la tabla siguiente como máximo (en saturación de profundidad de cola). De lo contrario, obtendrá un rendimiento de IOPS inferior.

Tamaño de instancia IOPS de lectura aleatoria al 100% IOPS de escritura
g4ad.xlarge 10 417 8,333
g4ad.2xlarge 20 833 16 667
g4ad.4xlarge 41 667 33 333
g4ad.8xlarge 83 333 66 667
g4ad.16xlarge 166 667 133 333
g5.xlarge 40 625 20 313
g5.2xlarge 40 625 20 313
g5.4xlarge 125 000 62 500
g5.8xlarge 250.000 125 000
g5.12xlarge 312 500 156 250
g5.16xlarge 250.000 125 000
g5.24xlarge 312 500 156 250
g5.48xlarge 625 000 312 500

A medida que llena los volúmenes de almacén de instancias basadas en SSD para la instancia, disminuye el número de IOPS de escritura que se pueden obtener. Esto se debe al trabajo adicional que debe realizar el controlador SSD para encontrar espacio disponible, volver a escribir los datos existentes y borrar el espacio no utilizado para que se pueda volver a escribir. Este proceso de recopilación de elementos no utilizados genera una amplificación de escritura interna en el SSD, expresada como ratio de operaciones de escritura de SSD con respecto a las operaciones de escritura del usuario. Este descenso del rendimiento es aún mayor si las operaciones de escritura no están en múltiplos de 4096 bytes o no están alineadas con un límite de 4096 bytes. Si escribe una cantidad más pequeña de bytes o bytes que no están alineados, el controlador SSD debe leer los datos circundantes y almacenar el resultado en una nueva ubicación. Este patrón genera una amplificación de escritura significativamente mayor, una mayor latencia y se reduce en gran medida el rendimiento de E/S.

Los controladores SSD pueden utilizar varias estrategias para reducir el impacto de la amplificación de escritura. Una de estas estrategias es reservar espacio en el almacén de instancias SSD para que el controlador pueda administrar con más eficiencia el espacio disponible para las operaciones de escritura. Esto se llama aprovisionamiento excesivo. Los volúmenes de almacén de instancias basadas en SSD proporcionados para una instancia no tienen espacio reservado para el aprovisionamiento excesivo. Para reducir la amplificación de escritura, recomendamos dejar un 10% del volumen sin particiones, de modo que el controlador SSD pueda utilizarlo para el aprovisionamiento excesivo. Esto reduce el almacenamiento que se puede utilizar, pero aumenta el rendimiento aunque el disco esté a punto de llegar a su capacidad máxima.

Para los volúmenes de almacén de instancias que admiten TRIM, puede utilizar el comando TRIM para notificar al controlador SSD cuando deje de necesitar los datos que ha escrito. Esto aporta al controlador más espacio libre, lo que puede reducir la amplificación de escritura y aumentar el rendimiento. Para obtener más información, consulte Soporte TRIM del volumen de almacén de instancias.

Características de las instancias

A continuación, se presenta un resumen de las características de las instancias de computación acelerada.

EBS solo EBS NVMe Almacén de instancias Grupo de ubicación

F1

No

No

NVMe *

G2

No

No

SSD

G3

No

No

G4ad

No

NVMe *

G4dn

No

NVMe *

G5 No NVMe *

Inf1

No

No

P2

No

No

P3

24xlarge: No

Resto de tamaños: Sí

24xlarge: Sí

Resto de tamaños: No

24xlarge: NVMe *

P4d

No

NVMe *

* El volumen del dispositivo raíz debe ser un volumen de Amazon EBS.

Para obtener más información, consulte los siguientes temas:

Notas de la versión

  • Debe lanzar la instancia con una AMI de HVM.

  • Las instancias creadas en el sistema Nitro tienen los siguientes requisitos:

    Las AMI para Linux siguientes cumplen estos requisitos:

    • Amazon Linux 2

    • Amazon Linux AMI 2018.03

    • Ubuntu 14.04 (con kernel linux-aws) o versiones posteriores

    • Red Hat Enterprise Linux 7.4 o versiones posteriores

    • SUSE Linux Enterprise Server 12 SP2 o versiones posteriores

    • CentOS 7.4.1708 o versiones posteriores

    • FreeBSD 11.1 o versiones posteriores

    • Debian GNU/Linux 9 o versiones posteriores

  • Las instancias basadas en GPU no pueden obtener acceso a la GPU a menos que estén instalados los controladores de NVIDIA. Para obtener más información, consulte Instalación de controladores NVIDIA en instancias de Linux.

  • Si lanza una instancia "bare metal", arrancará el servidor subyacente, lo que incluye verificar todos los componentes de hardware y de firmware. Esto, a su vez, supone que se tardarán 20 minutos desde el momento en que la instancia entre en estado de ejecución hasta que pase a estar disponible en la red.

  • Para adjuntar o desconectar volúmenes EBS o interfaces de red secundarias de una instancia bare metal, es preciso admitir la conexión en caliente nativa de PCIe. Amazon Linux 2 y las versiones más recientes de la AMI de Amazon Linux admiten la conexión en caliente nativa de PCIe, pero no así las versiones anteriores. Debe habilitar las opciones de configuración de kernel de Linux siguientes:

    CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_PCIEASPM=y
  • Las instancias "bare metal" usan un dispositivo en serie basado en PCI en vez de un dispositivo en serie basado en puerto de E/S. El kernel de Linux ascendente y las últimas AMI de Amazon Linux son compatibles con este dispositivo. Las instancias "bare metal" también proporcionan una tabla SPCR de ACPI para permitir que el sistema use automáticamente el dispositivo en serie basado en PCI. Las últimas AMI de Windows usan automáticamente el dispositivo en serie basado en PCI.

  • Existe un límite de 100 AFI por región.

  • El número total de instancias que se puede lanzar en una región tiene un límite y existen límites adicionales para algunos tipos de instancia. Para obtener más información, consulte ¿Cuántas instancias puedo ejecutar en Amazon EC2? en las preguntas frecuentes de Amazon EC2.