La computación de alto rendimiento (HPC) es la práctica de añadir recursos informáticos para obtener un rendimiento superior al de una sola estación de trabajo, servidor u ordenador. La HPC puede adoptar la forma de superordenadores diseñados a medida o de grupos de ordenadores individuales denominados clústeres. La HPC se puede ejecutar on‐premise, en la nube o como un híbrido de ambos. A cada ordenador de un clúster se le suele denominar "nodo", y cada uno de ellos es responsable de una tarea distinta. Los nodos controladores ejecutan servicios esenciales y coordinan el trabajo entre nodos. Los nodos interactivos o los nodos de inicio de sesión actúan como los hosts en los que inician sesión los usuarios, ya sea mediante una interfaz gráfica de usuario o mediante una línea de comandos, y los nodos de computación o de trabajador ejecutan los cálculos. En cada nodo del clúster se ejecutan algoritmos y software en paralelo para realizar la tarea indicada. La HPC suele tener tres componentes principales: computación, almacenamiento y redes.
La HPC permite a las empresas e investigadores reunir recursos informáticos para solucionar problemas que son demasiado grandes para que los ordenadores estándar los puedan gestionar de forma individual o que tarden demasiado en procesarse. Por esta razón, a veces también se le denomina supercomputación.
La HPC se utiliza para resolver problemas de investigación académica, ciencia, diseño, simulación e inteligencia empresarial. La capacidad de la HPC para procesar rápidamente grandes cantidades de datos impulsa algunos de los aspectos más fundamentales de la sociedad actual, como la capacidad que tienen los bancos para verificar el fraude en millones de transacciones de tarjetas de crédito a la vez, para que los fabricantes de automóviles prueben el diseño de tu coche de forma segura en accidentes. para saber qué tiempo va a hacer mañana.
Más información sobre HPC en Google
La computación de alto rendimiento tiene tres componentes principales:
En términos básicos, los nodos (cálculos) del sistema de HPC se conectan a otros nodos para ejecutar algoritmos y software de forma simultánea y, a continuación, se conectan (red) a servidores de datos (almacenamiento) para capturar el resultado. Dado que los proyectos de HPC tienden a ser grandes y complejos, los nodos del sistema suelen intercambiar los resultados de sus cálculos, lo que significa que necesitan discos rápidos, memoria de alta velocidad y redes de baja latencia y de gran ancho de banda entre los nodos y los sistemas de almacenamiento.
Normalmente, la HPC se puede dividir en dos tipos de diseño generales: la computación de clústeres y la computación distribuida.
La computación paralela se realiza con un conjunto de ordenadores (clústeres) que trabajan juntos, como un grupo de servidores conectados muy cerca entre sí, tanto físicamente como en la topología de red, para minimizar la latencia entre los nodos.
El modelo de computación distribuida conecta la potencia de computación de varios ordenadores en una red que se encuentra en una sola ubicación (a menudo on-premise) o distribuida en varias ubicaciones, lo que puede incluir hardware on-premise y recursos en la nube.
Además, los clústeres de HPC se pueden distinguir entre modelos de hardware homogéneos y heterogéneos. En los clústeres homogéneos, todas las máquinas tienen un rendimiento y una configuración similares y, a menudo, se tratan de la misma forma y son intercambiables. En los clústeres heterogéneos, hay un conjunto de hardware con diferentes características (con un alto número de núcleos de CPU, con aceleración por GPU, etc.) y el sistema se utiliza mejor cuando se asignan tareas a los nodos para aprovechar al máximo sus ventajas.
Las cargas de trabajo en un entorno de HPC suelen presentarse en dos tipos diferentes: con bajo acoplamiento y con alto acoplamiento.
Las cargas de trabajo con bajo acoplamiento (a menudo llamadas tareas paralelas o de alto rendimiento) constan de tareas independientes que se pueden ejecutar al mismo tiempo en todo el sistema. Las tareas pueden compartir almacenamiento, pero no dependen del contexto y, por lo tanto, no es necesario comunicar los resultados entre sí a medida que se completan. Un ejemplo de una carga de trabajo con bajo acoplamiento sería mostrar imágenes generadas por ordenador (CGI) en una película, donde cada fotograma del vídeo se renderiza de forma independiente de los demás, a pesar de que comparten los mismos datos de entrada, como fondos y modelos 3D.
Las cargas de trabajo de alto acoplamiento se componen de muchos procesos pequeños, cada uno gestionado por distintos nodos de un clúster, que dependen unos de otros para completar la tarea general. Las cargas de trabajo de alto acoplamiento suelen requerir redes de baja latencia entre los nodos y un acceso rápido a la memoria y el almacenamiento compartidos. La comunicación entre procesos de estas cargas de trabajo se gestiona mediante una interfaz de transferencia de mensajes (MPI) mediante software como OpenMPI e Intel MPI. Un ejemplo de una carga de trabajo de alto acoplamiento sería la previsión meteorológica, que implica la simulación basada en la física de sistemas dinámicos e interdependientes que involucran temperatura, viento, presión, precipitación, etc. En este caso, cada nodo del clúster puede calcular soluciones parciales a diferentes factores meteorológicos, lo que contribuye a la previsión general.
La computación de alto rendimiento (HPC) se puede realizar on-premise con equipos especializados, en la nube o de forma híbrida.
La HPC en la nube ofrece la ventaja de la flexibilidad y la escalabilidad sin tener que comprar y mantener costosos superordenadores. La HPC en la nube proporciona toda la infraestructura necesaria para realizar tareas grandes y complejas como el almacenamiento de datos, las soluciones de redes, los recursos de computación especializados, la seguridad y las aplicaciones de inteligencia artificial. Las cargas de trabajo se pueden realizar bajo demanda, lo que significa que las organizaciones pueden ahorrar dinero en equipos y tiempo en los ciclos de computación, utilizando solo los recursos que necesitan y cuando los necesitan.
A la hora de ejecutar la HPC en la nube, se deben tener en cuenta algunas consideraciones habituales:
Latencia y ancho de banda: debido a la cantidad de datos que se ejecutan en las cargas de trabajo de HPC, los proveedores de servicios en la nube deben proporcionar potentes funciones de red (más de 100 GB/s) con baja latencia.
Rendimiento: la HPC en la nube funciona mejor con proveedores que actualizan constantemente los sistemas para optimizar el rendimiento, especialmente en procesadores de ordenador, soluciones de almacenamiento y funciones de red.
Sostenibilidad: la computación de alto rendimiento (HPC) requiere muchos recursos y requiere mucha más electricidad que las cargas de trabajo normales. Los ordenadores de alto rendimiento on-premise pueden costar millones de dólares al año en energía. Las nubes públicas que priorizan la energía renovable, como Google Cloud, pueden mitigar el impacto energético de la HPC.
Almacenamiento: debido al tamaño de la mayoría de las tareas de HPC, el almacenamiento de datos escalable es un factor importante a la hora de ejecutar cargas de trabajo de HPC. Los proveedores de servicios en la nube que pueden almacenar y gestionar fácilmente grandes cantidades de datos (por ejemplo, a través de Filestore High Scale de Cloud Storage o DDN EXAScaler) tienen una ventaja competitiva en el ámbito de la HPC.
Seguridad: un proveedor de servicios en la nube con una infraestructura global gestionada de forma privada asegura que los datos y las aplicaciones estén menos expuestos a la red pública de Internet. Las redes de nube privada virtual (VPC) permiten la conectividad entre los nodos y pueden configurar cortafuegos para las aplicaciones de HPC. Las funciones de Confidential Computing permiten el encriptado en uso, así como el encriptado en reposo y en vuelo.
Velocidad y rendimiento
La computación de alto rendimiento puede procesar datos y tareas mucho más rápido que un solo servidor u ordenador. Las tareas que pueden tardar semanas o meses en un sistema informático normal pueden llevar horas en HPC.
Flexibilidad y eficiencia
Gracias a la computación de alto rendimiento en la nube, las cargas de trabajo se pueden escalar o reducir en función de las necesidades. Gracias a la sólida conexión a Internet, se puede acceder a la HPC desde cualquier lugar del mundo.
Ahorro de costes
Gracias a la velocidad, la flexibilidad y la eficiencia que ofrece la HPC en la nube, las organizaciones pueden ahorrar tiempo y dinero en recursos de computación y horas de trabajo.
Tolerancia a fallos
Si falla un nodo de un clúster de HPC, el sistema es lo suficientemente resistente como para que el resto del sistema no falle. Debido a las grandes y complejas tareas que realiza la HPC, la tolerancia a fallos es una gran ventaja.
I+D acelerado
La HPC ofrece una ventaja a las empresas que se dedican a la investigación y el desarrollo, ya que agiliza los resultados de los proyectos que requieren una gran cantidad de datos, como el modelado farmacéutico, el diseño de nuevas máquinas y piezas o la simulación de experimentos para reducir las pruebas físicas.
Coste inicial
Los clústeres de HPC y los superordenadores on‐premise tienen elevados costes iniciales. Si se tienen en cuenta los costes de los equipos, la mano de obra, el software y la configuración, la HPC on-premise quedaría fuera del alcance de la mayoría de las empresas.
Consumo de energía
Los costes energéticos de las instalaciones de superordenadores on-premise pueden ser cuantiosos. Para las empresas concienciadas con el medioambiente y los costes, el consumo de energía de HPC puede ser sostenible ejecutando la computación de alto rendimiento (HPC) en la nube más limpia del mundo.
Mantenimiento
La HPC funciona mejor con la última generación de hardware y software optimizado. Mantener actualizados los clústeres de HPC o los superordenadores on‐premise para conseguir un rendimiento óptimo puede convertirse en un gasto considerable y constante.
El ecosistema moderno está inundado de datos y herramientas que requieren una gran cantidad de recursos de computación para analizarlo. La HPC permite a las empresas y a las organizaciones procesar todos esos datos de forma oportuna y, así, generar nuevas estadísticas, innovaciones y descubrimientos científicos. Esto permite a las empresas prever situaciones empresariales, predecir fluctuaciones del mercado y hacer recomendaciones. Mientras tanto, el campo de la medicina se está transformando gracias al fácil acceso a la HPC en la nube, lo que ayuda a modelar posibles brotes, decodificar el genoma de las células oncológicas y entender cómo evolucionan las enfermedades.
En resumen, la HPC está acelerando el progreso científico, tecnológico y empresarial, ayudando a la humanidad a construir un futuro más próspero.
Estos son algunos de los usos de la computación de alto rendimiento.
Investigar
La HPC se utiliza en investigaciones académicas y científicas para realizar análisis y cálculos de grandes conjuntos de datos, como datos astronómicos de satélites y telescopios, crear nuevos materiales, descubrir nuevos fármacos o modelar proteínas.
Simulación
La HPC se utiliza para simular situaciones físicas, como colisiones de automóviles, el flujo de aire sobre las alas de un avión o el interior de los motores, o cómo interactúan los posibles fármacos nuevos con las células humanas.
Diseño
Los fabricantes suelen utilizar la HPC y la inteligencia artificial para diseñar máquinas nuevas, como aviones y automóviles, en software antes de crear prototipos físicos. Sin la capacidad de computación de la HPC, diseñar y renderizar modelos potenciales tardaría mucho más y ralentizaría el proceso de fabricación. Los fabricantes de chips de ordenador utilizan la HPC para diseñar nuevos diseños de chips antes de crear prototipos para ellos en la fundición.
Optimización
La HPC puede ayudar a optimizar conjuntos de datos grandes y difíciles, como carteras financieras o las rutas más eficientes de envío y logística.
Pronósticos
La HPC puede usar conjuntos de datos grandes y complejos, y hacer predicciones cuanto antes. Muchas empresas aeroespaciales utilizan la HPC para predecir cuándo requerirán mantenimiento sus máquinas. La mayoría de las previsiones meteorológicas se realizan con recursos de computación de alto rendimiento, lo que permite a los meteorólogos predecir las trayectorias de las tormentas o simular el cambio climático.
Análisis de datos
La HPC puede analizar el conjunto de datos más voluminoso. Cuando se aplica con aplicaciones de aprendizaje automático e inteligencia artificial, la HPC puede ayudar a hacer recomendaciones o a detectar fraudes en las tarjetas de crédito. La HPC ha aumentado considerablemente la velocidad a la que se pueden secuenciar los genomas.
Empieza a crear en Google Cloud con 300 USD en crédito gratis y más de 20 productos Always Free.