La creación del laboratorio automatizado lo puso en funcionamiento rápidamente, pero detrás de escena descubrirá mucha flexibilidad para optimizar el entorno en diferentes casos de uso. En esta sección, aprenderá a aprovechar esta flexibilidad y a aplicarla para actualizar el clúster de forma dinámica.
- Instalación de software y aplicaciones
- Cómo elegir los tipos adecuados de instancias de EC2 para la carga de trabajo de HPC
- Cómo comprender y controlar Auto Scaling
Las aplicaciones de software pueden instalarse iniciando sesión en el nodo principal a través de SSH. CfnCluster ofrece una amplia variedad de paquetes de software compatibles con las aplicaciones HPC, que incluyen openMPI, idiomas y compiladores. Existen varias formas en las que puede instalar sus aplicaciones, en función de las características de la aplicación y sus preferencias como administrador. Un método común puede ser instalarlas en /efs/apps o en carpetas compartidas, que se montan como recursos compartidos NFS en todos los nodos.
Una vez que sus aplicaciones están instaladas (con licencia), puede utilizar el servicio EnginFrame Editor para publicarlas en la comunidad de usuarios, como hizo en el primer capítulo de esta ruta de aprendizaje.
AWS ofrece una amplia variedad de tipos y generaciones de familias de instancias EC2, para diferentes tamaños de carga de trabajo a precios a medida, que varía desde unos céntimos a varios USD por hora.
Para elegir un tipo de instancia, comience con las necesidades específicas de la aplicación. Las aplicaciones varían en sus requisitos de: número de núcleos informáticos, velocidad del procesador, requisitos de memoria, necesidades de almacenamiento, especificaciones de redes y costes.
Las familias se clasifican según el tipo de procesador, cantidad de memoria, almacenamiento y conectividad de red disponibles. La familia c o la familia de “cómputos” es la más recomendada para cargas de trabajo de HPC. Los tipos de instancia dentro de la familia suelen tener, aproximadamente, la misma relación memoria-vCPU. Una vCPU es un procesador con múltiples procesos. Normalmente, dos núcleos de múltiples procesos se desempeñan como un núcleo físico. Dentro de cada familia, puede haber varias generaciones. Por ejemplo, la familia de instancias c incluye las instancias c3 y c4. El número añadido indica la generación del tipo de instancia.
La instancia c4.8xlarge (haswell) es muy popular en las aplicaciones HPC en paralelo. Tiene aproximadamente 60GiB de memoria y 18 núcleos. Cada familia viene en varios tamaños. Por ejemplo, una instancia de cómputo de la mitad del tamaño de la c4.8xlarge es la c4.4xlarge. El precio por hora también es de aproximadamente la mitad.
Una instancia se puede detener y reiniciar en cualquier momento con un tipo de instancia diferente. Esta característica le facilita la tarea de elegir el tipo de instancia óptimo para cargas de trabajo de HPC.
La siguiente tabla detalla otros tipos de instancias más populares para cargas de trabajo de HPC:
Tipo de instancia |
CPU virtual |
Memoria (GiB) |
Almacenamiento (GB) |
Desempeño de redes |
Procesador físico |
Velocidad del reloj (GHz) |
EBS Opt |
c4.8xlarge |
36 |
60 |
Solo EBS |
10 gigabits |
Intel Xeon E5-2666 v3 |
2,9 |
Sí |
c3.8xlarge |
32 |
60 |
2 x 320 SSD |
10 gigabits |
Intel Xeon E5-2680v2 |
2,8 |
No |
m4.10xlarge |
40 |
160 |
Solo EBS |
10 gigabits |
Intel Xeon E5-2676 v3 |
2,4 |
Sí |
m4.16xlarge |
64 |
256 |
Solo EBS |
20 gigabits |
Intel Xeon E5-2686v4 |
2.3 |
Sí |
p2.16xlarge |
64 |
732 |
Solo EBS |
20 gigabits |
Intel Xeon E5-2686v4 |
2.3 |
Sí |
x1.32xlarge |
128 |
1 952 |
2 x 1 920 SSD |
20 gigabits |
Intel Xeon E7-8880v3 |
2.3 |
Sí |
r3.8xlarge |
32 |
244 |
2 x 320 SSD |
10 gigabits |
Intel Xeon E5-2670v2 |
2,5 |
No |
Para ver una lista de todos los tipos de instancias disponibles, consulte Tipos de instancias EC2 de Amazon. Una vez identificado el tipo de instancia adecuado para su carga de trabajo, vea la diferencia entre los precios a pedido y los precios de spot actuales. Si el tipo de carga de trabajo que posee puede lidiar fácilmente con la posible recuperación de instancias, la utilización de Spot puede resultarle muy eficaz para reducir el presupuesto de HPC.
Si desea modificar las características de su clúster, una forma sencilla de hacerlo de forma dinámica es utilizar la característica “Pila de actualización” en la consola de CloudFormation. Tenga en cuenta que algunos de los cambios podrían interrumpir temporalmente la funcionalidad del clúster. A menos que conozca las consecuencias, asegúrese de reconfigurar los parámetros de la pila únicamente cuando no haya ningún tipo de carga de trabajo en el clúster.
Pruebe esta característica en la Pila DefaultCluster, siguiendo las instrucciones que aparecen a continuación:
Auto Scaling es una característica de Amazon EC2 que le permite mantener la disponibilidad de la aplicación y aumentar o reducir automáticamente la capacidad de EC2 según las condiciones que defina. Puede utilizar Auto Scaling para asegurarse de que está ejecutando la cantidad deseada de instancias de Amazon EC2.
En este laboratorio, se monitoriza y cambia continuamente el tamaño del clúster por la función Auto Scaling de EC2. Si conoce el tamaño óptimo del clúster para su carga de trabajo (por ejemplo, con un trabajo MPI de varios nodos), puede ser más rápido y más eficiente aprovisionar el número correcto de nodos del clúster en lugar de dejar que crezcan de forma incremental.
Puede configurar el tamaño del clúster de Auto Scaling siguiendo las instrucciones que aparecen a continuación: