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.

Temas cubiertos
  • 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

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

m4.16xlarge

64

256

Solo EBS

20 gigabits

Intel Xeon E5-2686v4

2.3

p2.16xlarge

64

732

Solo EBS

20 gigabits

Intel Xeon E5-2686v4

2.3

x1.32xlarge

128

1 952

2 x 1 920 SSD

20 gigabits

Intel Xeon E7-8880v3

2.3

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:

  • Instrucciones: cambio del tipo de instancia en el clúster actual

    1. Abra la consola de CloudFormation haciendo clic aquí.
    2. Haga clic con el botón derecho en EnginFrame-DefaultCluster yourValues- # # # #. Seleccionar pila de actualización.
    3. Seleccione Utilizar plantilla actual y seleccione Siguiente.
      • Nota: al seleccionar Utilizar plantilla actual, el asistente de CloudFormation le ofrecerá la posibilidad de modificar un mayor número de parámetros en comparación con la pila principal, lo que ofrece acceso a la amplia flexibilidad de CfnCluster.
    4. Realice los siguientes cambios en la configuración:
      • tipo de instancia de cómputo: seleccione el tipo de instancia que elija para actualizar los nodos de cómputos.
      • tipo de clúster: edite la selección a identificar. A continuación, establezca un precio de spot a un valor de oferta seguro en función del precio de mercado actual.
    5. Seleccione Siguiente.
    6. Continúe a través de los siguientes pasos del asistente hasta que aparezca una vista previa de los cambios y confirme seleccionando Actualizar para actualizar la pila. Dependiendo de la variedad de los cambios realizados, la actualización puede tardar varios minutos en propagarse.

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:

  • Instrucciones: cómo cambiar los parámetros de Auto Scaling en su clúster

    1. Abra la consola grupo de Auto Scaling de Amazon EC2 con un clic aquí.
    2. Verá que el Clúster predeterminado creó un grupo de Auto Scaling para la flota de cómputos. La consola le proporciona información sobre el número actual de instancias del grupo, los límites máximos y mínimos y la cantidad deseada de instancias. 
    3. La cantidad deseada de instancias está automáticamente influenciada por las Políticas de escalado activas en el clúster, pero también puede cambiar su valor manualmente. Para cambiar el tamaño deseado u otros parámetros de Auto Scaling, haga clic con el botón derecho del ratón en el grupo de Auto Scaling y seleccione Editar.
    4. El panel inferior se actualiza con los detalles de Auto Scaling. Puede editar el número de Balanceadores de carga, las instancias deseadas, el número mínimo y máximo de instancias (nodos) y mucho más. Cuando haya finalizado, seleccione Guardar.
      • Nota: si la cantidad deseada de instancias es diferente del número actual de instancias, CloudFormation creará o eliminará instancias para alcanzar la cantidad deseada.

    (haga clic para agrandar)