AWS ParallelCluster

Herramienta de código abierto que construye automáticamente clústeres HPC (computación de alto rendimiento) en AWS, ejecutando eficientemente cálculos por lotes con el planificador de trabajos Slurm

Descripción general

AWS ParallelCluster es una herramienta de gestión de clústeres de código abierto que construye automáticamente entornos para cargas de trabajo HPC (High Performance Computing) en AWS. Incluye el planificador de trabajos Slurm como estándar, configurando auto-escalado de nodos de cómputo, montaje de sistemas de archivos compartidos (FSx for Lustre, EFS) y comunicación de baja latencia entre nodos vía EFA (Elastic Fabric Adapter) desde un único archivo de configuración. Es adecuado para computación científica que requiere cálculo paralelo a gran escala, como simulaciones de dinámica de fluidos, análisis genómico y cálculos de riesgo financiero.

Configuración del clúster y diseño de auto-escalado

Un clúster ParallelCluster consiste en un nodo principal (envío y planificación de trabajos) y nodos de cómputo (ejecución real del cálculo). Un archivo de configuración YAML define declarativamente tipos de instancia, conteos mínimo/máximo de nodos, subredes y grupos de seguridad, desplegándose como un stack de CloudFormation mediante el comando pcluster create-cluster. La integración de auto-escalado con Slurm lanza automáticamente los nodos de cómputo necesarios cuando se envían trabajos a la cola, y los termina automáticamente tras un tiempo de inactividad después de completar los trabajos. Es común definir múltiples colas (particiones) para instancias GPU (p4d.24xlarge), optimizadas para memoria (r6i.32xlarge) y propósito general (c6i.32xlarge). También se puede configurar el uso de instancias spot por cola, asignando spot a trabajos tolerantes a interrupciones para una reducción de costos del 60-90%.

Redes de alta velocidad y sistemas de archivos compartidos

En cargas de trabajo HPC, la latencia de comunicación entre nodos impacta directamente en la eficiencia de escalado, haciendo crítico el uso de EFA (Elastic Fabric Adapter). EFA proporciona comunicación RDMA con bypass del SO, manteniendo la latencia de comunicación entre nodos de aplicaciones MPI (Message Passing Interface) a nivel de microsegundos. Habilitar EFA en la configuración de ParallelCluster adjunta automáticamente dispositivos EFA a los nodos de cómputo e instala la biblioteca libfabric. Para sistemas de archivos compartidos, FSx for Lustre es óptimo para cargas HPC, proporcionando cientos de GB/s de throughput y millones de IOPS, con sincronización automática con S3 que permite lecturas transparentes de datos de entrada desde S3 y escrituras de resultados.

Patrones prácticos en computación científica y gestión de costos

Para simulaciones de dinámica de fluidos computacional (CFD), OpenFOAM o ANSYS Fluent se ejecutan en ParallelCluster, dividiendo mallas entre cientos de nodos para cálculo paralelo. En análisis genómico, un patrón común es el procesamiento paralelo de miles de muestras usando arrays de trabajos Slurm para alineamiento de lecturas BWA-MEM2 y llamada de variantes GATK. Para gestión de costos, la función de contabilidad de Slurm registra tiempo de cómputo por usuario y proyecto, reconciliando con informes basados en etiquetas de AWS Cost Explorer para asignación departamental. Para la gestión del ciclo de vida del clúster, eliminar el clúster durante noches y fines de semana cuando no hay cálculos y recrearlo cuando sea necesario es práctico dado el rápido aprovisionamiento de ParallelCluster (10-15 minutos).

共有するXB!