Escenarios de tecnologías de HPC y Batch
Cada desafío de la informática de alto rendimiento (HPC) plantea sus propios requisitos y a menudo requiere una solución única.
Como arquitecto de soluciones de la organización de ingeniería, debe usar soluciones de HPC en Azure para resolver las complejas tareas a las que se enfrenta la organización. Estas tareas incluyen la representación de modelos 3D de las instalaciones que diseña la empresa y el almacenamiento de grandes cantidades de datos estadísticos. La esencia de HPC consiste en usar muchos equipos, o equipos que tienen configuraciones de CPU, GPU y memoria muy específicas, para abordar tareas complejas y lentas.
Aquí puede ver algunos casos de uso de HPC habituales. Este conocimiento debería ayudarle a identificar problemas futuros que se podrían resolver mediante soluciones de HPC.
Casos de uso de HPC comunes
Las organizaciones usan HPC para solucionar diversos problemas empresariales. Aunque es posible que los requisitos sean únicos, los casos de uso suelen encajar en uno de varios escenarios habituales.
Análisis de elementos finitos
El análisis de elementos finitos aborda problemas que conllevan preguntas complejas de ingeniería física. En estos problemas podrían enmarcarse las transferencias térmicas, los análisis estructurales, el transporte de masas y el potencial electromagnético. Para solucionarlos, los sistemas grandes se subdividen en fragmentos más pequeños denominados elementos finitos, que se vuelven a ensamblar en un sistema de ecuaciones de mayor volumen.
Ejemplos de esto son la simulación de accidentes de coche y las predicciones meteorológicas. Se pueden resaltar los aspectos más interesantes del sistema. Por ejemplo, la simulación de accidentes de coche se podría centrar en la parte delantera del vehículo, mientras que las simulaciones meteorológicas se pueden optimizar para identificar eventos meteorológicos extremos. El uso del análisis de elementos finitos para modelar accidentes de coche solo requiere la especificación de la geometría estructural y la composición material del vehículo. Las variaciones matemáticas de lo que podría suceder en un accidente de coche en un par de segundos son tan grandes que podría necesitar HPC para modelarlo correctamente.
Representación de modelos 3D
La representación 3D es un caso de uso clásico de HPC en la nube. Es posible que un solo equipo tarde horas o días en representar de forma completa una imagen o un archivo de vídeo 3D de recursos estáticos. Podría comprar un equipo costoso y totalmente específico para solucionar este problema. Pero debido a la velocidad con la que la tecnología se queda obsoleta, una solución más económica y eficaz sería alquilar la potencia necesaria en la nube. Use Azure Batch para alquilar toda la potencia necesaria para lograr la representación en el tiempo del que dispone y cancélela cuando el trabajo haya finalizado. Puede adoptar este método cuando tenga que realizar trabajos similares con frecuencia.
La infraestructura subyacente mejora a medida que las actualizaciones tecnológicas estén disponibles. Batch también permite usar algunos de los paquetes de representación 3D más importantes, como Maya, 3D Studio Max y Chaos V-Ray. La tarifa de licencia se paga por horas. Como la representación es especialmente intensa para la CPU, la implementación de máquinas virtuales de la serie H en grupos de Batch ofrece una solución eficaz.
En el diagrama siguiente se muestra una arquitectura de Batch típica que se puede usar para admitir la representación 3D.
Análisis del ADN
La genómica, o el estudio del ADN completo de un organismo individual, también es apta para usar técnicas de HPC basadas en la nube. La investigación del genoma suele conllevar unas cantidades de datos enormes. La configuración del ADN se sigue y controla en un número lo suficientemente grande de individuos como para identificar una variación significativa. Existen alrededor de 25 000 genes de media en el cuerpo humano, y cada uno de ellos se compone de instrucciones de entre 500 y 2,3 millones de letras. HPC en la nube permite almacenar grandes cantidades de datos y trabajar con ellos de forma eficaz, sin gastos de capital importantes en una tecnología que e vuelve obsoleta muy rápidamente.
Diseño asistido por PC
El diseño asistido por PC (CAD), que presenta algunas similitudes con el análisis de elementos finitos y la representación por lotes en 3D, es otro caso de uso adecuado de HPC en la nube. CAD agiliza el diseño y las pruebas de los productos, y permite que se realicen visualizaciones y simulaciones complejas en los artefactos resultantes.
En este diagrama se muestra una posible arquitectura que se puede usar para publicar un producto de software como servicio (SaaS) CAD basado en máquinas virtuales de las series N y H de Azure.
Dinámica de fluidos computacional
En la dinámica de fluidos computacional se usan las matemáticas para modelar flujos de fluidos, tanto de flujo libre como en interacción con superficies sólidas. Estas simulaciones son muy exigentes desde el punto de vista informático. Constituyen un buen caso de uso para ilustrar algunos de los aspectos más complejos de las máquinas virtuales de la serie H que se han visto antes. Estos aspectos incluyen las funciones de red de InfiniBand y la capacidad de interacción mediante la interfaz de paso de mensajes (MPI).
Criterios de decisión
¿Qué servicio candidato utilizo?
Lift-and-shift es una estrategia de migración de una carga de trabajo a la nube sin volver a diseñar la aplicación ni realizar cambios en el código. También se denomina rehospedaje. Para más información, consulte Azure Migration Center.
Optimizado para la nube es una estrategia de migración a la nube mediante la refactorización de una aplicación para aprovechar las funcionalidades y características nativas de la nube.
¿Qué servicio de almacenamiento HPC de Azure uso?
Computación basada en CPU frente a basada en GPU
Una CPU (el cerebro) puede funcionar en varios cálculos diferentes, mientras que una GPU (la llave) es mejor centrar todas las capacidades informáticas en una tarea específica.
Aunque los núcleos de CPU individuales son más rápidos según la velocidad del reloj de CPU y más inteligentes según lo medido por los conjuntos de instrucciones disponibles. El gran número de núcleos de la GPU y la enorme cantidad de paralelismo que ofrecen compensan la diferencia de velocidad de reloj de un solo núcleo y los limitados conjuntos de instrucciones.
CPU
- La CPU consta de algunos núcleos optimizados para el procesamiento en serie secuencial. Está diseñado para maximizar el rendimiento de una sola tarea dentro de un trabajo.
- Pasos para encontrar la máquina virtual de CPU correcta:
- Determinar si un trabajo de la aplicación HPC se ejecuta en menos de una máquina o usa MPI en varias máquinas.
- Determinar la RAM por núcleo del trabajo (por ejemplo, 6 GB de RAM por núcleo) y comprobar las instancias que caben.
- Si la carga de trabajo requiere núcleos físicos, use las familias de máquinas virtuales (que aparecen en color púrpura).
- Comprobar la disponibilidad de las máquinas preferidas.
- Cray es aplicable a las cargas de trabajo:
- Cuando un tipo de máquina virtual con trabajo no está disponible regionalmente
- Que son un uso elevado, los servidores se usan 80+%más de un 80 %
- Donde no tenemos ninguna configuración de máquina virtual en funcionamiento
GPU
- Una GPU usa miles de núcleos más pequeños y eficientes para una arquitectura paralela masiva destinada a controlar varias funciones al mismo tiempo.
- Las GPU modernas proporcionan potencia de procesamiento superior, ancho de banda de memoria y eficiencia en sus homólogos de CPU. La rapidez es de 50 a 100 veces mayor en tareas que requieren varios procesos paralelos.
¿Por qué las redes de baja latencia son importantes para trabajos estrechamente acoplados?
Muchas aplicaciones de HPC son muy paralelas y tienen una comunicación estrechamente acoplada. Significa que durante una ejecución de simulación paralela de aplicaciones, todos los procesos paralelos deben comunicarse entre sí con frecuencia.
Normalmente, estos tipos de aplicaciones funcionan mejor cuando la comunicación entre los procesos paralelos se realiza en redes de gran ancho de banda o baja latencia, como InfiniBand.
La naturaleza estrechamente acoplada de estas aplicaciones significa que si una sola máquina virtual no funciona de forma óptima, puede hacer que el trabajo tenga un rendimiento deficiente.
Los nodos requieren un uso cruzado significativo (chat) entre sí para funcionar correctamente.