¿Cómo ejecutar HPC en la nube?

Eyal Estrin
Computación en la nube
¿Es factible ejecutar HPC en la nube? ¿Qué diferencia hay de ejecutar un clúster HPC local? ¿Cuáles son algunas de las a

¿Cómo ejecutar HPC en la nube?

¿Es factible ejecutar HPC en la nube? ¿Qué diferencia hay de ejecutar un clúster HPC local? ¿Cuáles son algunas de las alternativas habituales para ejecutar HPC en la nube?

Introducción

Antes de comenzar nuestra discusión sobre HPC (Computación de alto rendimiento) en la nube, hablemos sobre qué significa exactamente HPC.

"Computación de alto rendimiento generalmente se refiere a la práctica de agregar potencia de cómputo de una manera que ofrece un rendimiento mucho más alto del que se podría obtener con una computadora de escritorio o puesto de trabajo típica para resolver grandesproblemas en ciencia, ingeniería o negocios". (https://www.usgs.gov/core-science-systems/sas/arc/about/what-high-performance-computing)

En términos más técnicos, se refiere a un clúster de máquinas compuesto por múltiples núcleos (núcleos físicos o virtuales), mucha memoria, almacenamiento paralelo rápido (para lectura / escritura) y conectividad de red rápida entre los nodos del clúster.

HPC es útil cuando se requiere muchos recursos informáticos, desde la reproducción de imágenes o videos (en modo por lotes) hasta la previsión meteorológica (que requiere una conectividad rápida entre los nodos del clúster).

El mundo de HPC se divide en dos categorías:

· Poco acoplado (loosely coupled): en este escenario, es posible que necesite una gran cantidad de recursos informáticos; sin embargo, cada tarea se puede ejecutar en paralelo y no depende de que se completen otras tareas.

Ejemplos comunes de escenarios poco acoplados: procesamiento de imágenes, análisis genómico, etc.

·Estrechamente acoplado (tightly coupled): en este escenario se necesita una conectividad rápida entre los recursos del clúster (como la memoria y la CPU), y cada nodo del clúster depende de otros nodos para completar la tarea. Ejemplos comunes de escenarios estrechamente acoplados: dinámica de fluidos computacional, predicción meteorológica, etc.

Consideraciones de precios

La implementación de un clúster de HPC requiere de recursos importantes. Esto incluye una gran inversión en hardware (varias máquinas conectadas en el clúster, con muchas CPU o GPU, con almacenamiento paralelo y, a veces, incluso conectividad RDMA entre los nodos del clúster), mano de obra con el conocimiento para respaldar la plataforma, mucha energía eléctrica, y más.

La implementación de un clúster de HPC en la nube también es costosa. El precio de una máquina virtual con múltiples CPU, GPU o grandes cantidades de RAM puede ser muy alto, en comparación con comprar el mismo hardware en las instalaciones y usarlo 24x7durante 3-5 años.

El costo del almacenamiento paralelo en comparación con otros tipos de almacenamiento, es otra consideración.

La fórmula mágica es ejecutar clústeres de HPC en la nube y seguir teniendo los beneficiosde recursos de computación / memoria / almacenamiento (virtualmente) ilimitados para construir clústeres dinámicos.

Hacemos esto construyendo el clúster para un trabajo específico, de acuerdo con los requisitos del cliente (en términos de número de CPU, cantidad de RAM, tamaño de capacidad de almacenamiento, conectividad de red entre los nodos del clúster, software requerido, etc.). Una vez que se completa el trabajo, copiamos los datos de salida del trabajo y eliminamos el clúster de HPC para ahorrar costos de hardware innecesarios.

Alternativas para ejecutar HPC en la nube

Resumen

Como se puede ver, ejecutar HPC en la nube pública es una opción viable. Pero se debe planificar cuidadosamente la solución específica, después de recopilar los requisitos exactos del cliente en términos de recursos informáticos requeridos, software requerido y, por supuesto, una estimación presupuestaria.

Documentación del producto

·       Azure Batch

https://azure.microsoft.com/en-us/services/batch/

·       Azure CycleCloud

https://azure.microsoft.com/en-us/features/azure-cyclecloud/

·       AWS ParallelCluster

https://aws.amazon.com/hpc/parallelcluster/

·       Slurm on Google Cloud Platform

https://github.com/SchedMD/slurm-gcp

·       HPC on Oracle Cloud Infrastructure

https://www.oracle.com/cloud/solutions/hpc.html

Traducido por: Mireia Alba Kesti Izquierdo

Eyal Estrin

Eyal Estrin

Author, Cloud Security Architect, Public columnist, Focus onCloud & Cybersecurity

Related Posts

Únete a nuestra Newsletter

Lidera la Conversación en la Nube