Entorno HPC con AWS ParallelCluster - Construcción automática y escalado de clústeres Slurm

Construye automáticamente clústeres HPC basados en CloudFormation y gestiona trabajos con el planificador Slurm. También presentamos la optimización de costos con instancias Spot.

Descripción general de ParallelCluster

ParallelCluster es una herramienta de gestión de clústeres HPC de código abierto proporcionada por AWS. Define la configuración del clúster (tipos de instancia, número de nodos, almacenamiento, red) en un archivo de configuración YAML y lo construye automáticamente como un stack de CloudFormation con el comando pcluster create-cluster. El planificador de trabajos Slurm se configura de forma estándar, y puede usar sus scripts de trabajos Slurm existentes. Puede ejecutar cargas de trabajo de computación paralela como dinámica de fluidos computacional (CFD), dinámica molecular, análisis genómico, simulación meteorológica y cálculo de riesgo financiero. La versión 3 introdujo el modo Multi-Queue, que permite definir múltiples colas dentro de un solo clúster, cada una con diferentes tipos de instancia y configuraciones de almacenamiento. Puede aplicar los cambios de configuración a un clúster existente con pcluster update-cluster, y en algunos ajustes, como el sistema operativo, la actualización no se permite si se cambia el ajuste.

Autoescalado y optimización de costos

El autoescalado de ParallelCluster se vincula con la cola de trabajos de Slurm. Cuando se envía un trabajo, los nodos de cómputo se inician automáticamente, y cuando permanecen inactivos durante un tiempo determinado después de completar el trabajo (temporizador de inactividad predeterminado de 10 minutos), los nodos se terminan automáticamente. Durante los períodos sin trabajos, el número de nodos de cómputo se reduce a cero y no se generan costos de nodos de cómputo. El uso de instancias Spot puede reducir los costos de cargas de trabajo HPC. Especificar múltiples tipos de instancia con Allocation Strategy: capacity-optimized permite una configuración preparada para las interrupciones de Spot. Para aplicaciones compatibles con checkpoints, es posible configurar el re-encolamiento automático de trabajos cuando se interrumpe una instancia Spot. Puede ejecutar el nodo principal con instancias On-Demand y usar Spot solo para los nodos de cómputo. El parámetro ScaledownIdletime permite ajustar el temporizador de inactividad; en entornos donde se envían trabajos cortos frecuentemente, aumentar este valor reduce la sobrecarga de inicio/terminación de nodos.

EFA y almacenamiento compartido

EFA (Elastic Fabric Adapter) es una interfaz de red de alta velocidad para cargas de trabajo HPC que reduce la latencia de comunicación entre nodos. Es eficaz para cargas de trabajo de computación paralela basadas en MPI (Message Passing Interface) donde el intercambio de datos entre nodos se convierte en un cuello de botella. Al habilitar EFA en la configuración de ParallelCluster, EFA se configura en los nodos de cómputo. Usted coloca los nodos que usan EFA en un grupo de ubicación, y ParallelCluster crea un grupo de ubicación de clúster a través de la configuración de la sección Placement. El almacenamiento compartido se puede elegir entre FSx for Lustre, EFS y EBS. Puede usar FSx for Lustre para la lectura paralela de conjuntos de datos a gran escala, y su integración con S3 importa automáticamente datos desde S3 al sistema de archivos Lustre y exporta resultados de cálculo a S3. EFS es efectivo para compartir datos entre múltiples clústeres o en entornos con alta variabilidad en el número de nodos, pero tiene mayor latencia que FSx for Lustre.

Mejores prácticas de diseño y errores comunes

Puntos que revisar al ejecutar ParallelCluster en producción: los clústeres con cientos de nodos aumentan el consumo de memoria del controlador Slurm, por lo que usted elige el tamaño del nodo principal según el número de nodos. Como todo el clúster queda inutilizable si el nodo principal se detiene, configure copias de seguridad periódicas mediante snapshots de EBS. Para el diseño de red, coloque los nodos de cómputo en subredes privadas y acceda a S3 y CloudWatch mediante NAT gateways o endpoints de VPC. Usar un endpoint de VPC para S3 (tipo gateway) evita los cargos de transferencia de datos del NAT gateway. Al usar AMIs personalizadas, usted personaliza una AMI oficial que incluye los paquetes requeridos por ParallelCluster (Slurm, Munge, supervisord) y la construye con el comando pcluster build-image. Puede elegir el sistema operativo entre Amazon Linux 2023, Ubuntu 22.04 / 24.04, RHEL 8 / 9 y Rocky Linux 8 / 9.

Comparación con AWS Batch

AWS ofrece dos servicios para cargas de trabajo HPC/batch: ParallelCluster y AWS Batch, y usted elige entre ellos según las características de la carga de trabajo. ParallelCluster usa Slurm como planificador, por lo que las organizaciones que usan Slurm en entornos HPC on-premises pueden usarlo para migrar a la nube sin cambiar los scripts de trabajos. Para computación paralela fuertemente acoplada que usa comunicación entre nodos de baja latencia vía EFA (CFD, dinámica molecular), una opción es usar ParallelCluster. En contraste, AWS Batch es un servicio completamente administrado que empaqueta cargas de trabajo con definiciones de trabajos basadas en contenedores. Para computación de alto rendimiento que ejecuta gran cantidad de tareas independientes en paralelo (alineamiento de secuencias genómicas, pipelines de procesamiento de imágenes), usted usa AWS Batch. ParallelCluster permite especificar en detalle la configuración del clúster, por lo que puede usarlo para computación de investigación que requiere una ubicación específica de instancias y configuraciones de almacenamiento.

Resumen

ParallelCluster es una herramienta que construye automáticamente clústeres HPC basados en Slurm en AWS. Logra la gestión de recursos según los trabajos con autoescalado, reduce costos con instancias Spot y proporciona comunicación de alta velocidad entre nodos con EFA. Puede usarlo para la migración desde clústeres HPC on-premises o para responder a aumentos temporales de la demanda de computación. El modo Multi-Queue consolida diferentes cargas de trabajo en un solo clúster, y la integración de FSx for Lustre con S3 optimiza la E/S de datos a gran escala.

Referencias (recursos oficiales de AWS)

Las fuentes primarias de esta página son el sitio web y la documentación oficiales de AWS. Consulta las páginas oficiales siguientes para conocer las especificaciones y los precios más recientes.

Si esta página y la documentación oficial difieren, prevalece la documentación oficial.

Compartir