La computación de alto rendimiento (HPC) es la práctica de agregar recursos de procesamiento para obtener un rendimiento mayor que el de solo una estación de trabajo, un servidor o una computadora. La HPC puede tomar la forma de supercomputadoras personalizadas o grupos de computadoras individuales llamadas clústeres. La HPC puede ejecutarse de forma local, en la nube o como un híbrido de ambas. Cada computadora en un clúster a menudo se denomina nodo, y cada nodo es responsable de una tarea diferente. Los nodos de controlador ejecutan servicios esenciales y coordinan el trabajo entre nodos, los nodos interactivos o nodos de acceso actúan como los hosts a los que los usuarios acceden, ya sea por la interfaz gráfica de usuario o la línea de comandos, y los nodos de procesamiento o nodos trabajadores ejecutan el procesamiento. Los algoritmos y el software se ejecutan en paralelo en cada nodo del clúster para ayudar a realizar su tarea determinada. La HPC suele tener tres componentes principales: procesamiento, almacenamiento y herramientas de redes.
La HPC permite que las empresas y los investigadores agreguen recursos de procesamiento a fin de resolver problemas que son demasiado grandes para que las computadoras estándar los procesen de manera individual o que tardarían demasiado en procesarlos. Por esta razón, a veces también se la denomina supercomputación.
HPC se usa para resolver problemas en la investigación académica, la ciencia, el diseño, la inteligencia empresarial y la simulación. La capacidad de HPC para procesar rápidamente grandes cantidades de datos potencia algunos de los aspectos más fundamentales de la sociedad actual, como la capacidad de los bancos para verificar fraudes en millones de transacciones con tarjetas de crédito a la vez, que los fabricantes de automóviles puedan probar el diseño de tu vehículo a fin de verificar la seguridad ante accidentes, o para ver el estado del tiempo de mañana.
Obtén 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 (procesamiento) del sistema HPC se conectan a otros nodos para ejecutar algoritmos y software simultáneamente, y luego se conectan (red) con servidores de datos (almacenamiento) para capturar la salida. Como los proyectos de HPC suelen ser grandes y complejos, los nodos del sistema suelen tener que intercambiar los resultados de sus cálculos entre sí, lo que significa que necesitan discos rápidos, memoria de alta velocidad y herramientas de redes de latencia baja y ancho de banda alto entre los nodos y los sistemas de almacenamiento.
La HPC suele dividirse en dos tipos de diseño generales: computación de clúster y computación distribuida.
El procesamiento paralelo se realiza con una colección de computadoras (clústeres) que trabajan juntas, como un grupo conectado de servidores, muy cerca unos de otros tanto físicamente como en la topología de red, para minimizar la latencia entre nodos.
El modelo de procesamiento distribuido conecta la capacidad de procesamiento de varias computadoras en una red que se encuentra en una sola ubicación (a menudo en un entorno local) o distribuida en varias ubicaciones, que pueden incluir hardware local 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 como iguales e intercambiables. En los clústeres heterogéneos, hay una colección de hardware con diferentes características (alto recuento de núcleos de CPU, acelerados por GPU y mucho más), y el sistema se usa mejor cuando los nodos se asignan a las tareas para aprovechar mejor sus ventajas particulares.
Por lo general, las cargas de trabajo en un entorno de HPC se dividen en dos tipos: con acoplamiento bajo y con acoplamiento alto.
Las cargas de trabajo con acoplamiento bajo (a menudo llamadas trabajos paralelos o con capacidad de procesamiento alta) consisten en tareas independientes que se pueden ejecutar al mismo tiempo en el sistema. Es posible que las tareas compartan un almacenamiento común, pero no dependan del contexto y, por lo tanto, no necesiten comunicar resultados entre sí a medida que se completan. Un ejemplo de una carga de trabajo con acoplamiento bajo sería renderizar imágenes generadas por computadora (CGI) en un largometraje, en el que cada fotograma del video se renderiza independientemente de los otros fotogramas, a pesar de que compartan los mismos datos de entrada, como los fondos y los modelos 3D.
Las cargas de trabajo con acoplamiento alto constan de pequeños procesos, cada uno controlado por diferentes nodos en un clúster, que dependen uno del otro para completar la tarea general. Por lo general, las cargas de trabajo con acoplamiento alto requieren herramientas de redes de baja latencia entre los nodos y un acceso rápido a la memoria y el almacenamiento compartidos. La comunicación entre procesos para estas cargas de trabajo se maneja mediante una interfaz de transmisión de mensajes (MPI) con software como Intel MPI y OpenMPI. Un ejemplo de una carga de trabajo con acoplamiento alto sería el pronóstico del tiempo, que involucra una simulación basada en la física de sistemas dinámicos e interdependientes que involucran la temperatura, el viento, la presión, las precipitaciones y mucho más. En este caso, cada nodo del clúster puede procesar soluciones parciales para diferentes factores climáticos, lo que contribuye al pronóstico general.
La HPC se puede realizar de manera local con equipos exclusivos, en la nube o un híbrido de cada uno.
La HPC en la nube ofrece el beneficio de la flexibilidad y escalabilidad sin tener que comprar ni mantener supercomputadoras dedicadas costosas. La HPC en la nube proporciona toda la infraestructura necesaria para realizar tareas grandes y complejas, como almacenamiento de datos, soluciones de red, recursos de procesamiento especializados, seguridad y aplicaciones de inteligencia artificial. Las cargas de trabajo se pueden realizar a pedido, lo que significa que las organizaciones pueden ahorrar dinero en equipos y tiempo en ciclos de computación, solo con los recursos que necesitan, cuando los necesitan.
Estas son algunas consideraciones comunes sobre la ejecución de HPC en la nube:
Latencia y ancho de banda: Con la cantidad de datos que se ejecutan en las cargas de trabajo de HPC, los proveedores de servicios en la nube deben proporcionar capacidades de red sólidas (más de 100 GB/s) con baja latencia.
Rendimiento: La HPC en la nube funciona mejor con proveedores que actualizan los sistemas constantemente para optimizar el rendimiento, especialmente en procesadores informáticos, soluciones de almacenamiento y capacidades de red.
Sustentabilidad: La HPC es una forma de procesamiento intensivo de recursos que requiere mucha más electricidad que las cargas de trabajo normales. Las computadoras locales de alto rendimiento 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 una consideración importante cuando se ejecutan cargas de trabajo de HPC. Proveedores de nube que pueden almacenar y administrar grandes cantidades de datos con facilidad (por ejemplo, a través de Cloud Storage Filestore High Scale o DDN EXAScaler) tienen una ventaja en HPC.
Seguridad: Un proveedor de servicios en la nube con una infraestructura global administrada de forma privada garantiza que los datos y las aplicaciones se expongan lo menos posible a la Internet pública. Las redes de nube privada virtual (VPC) permiten la conectividad entre nodos y pueden configurar firewalls para aplicaciones de HPC. Las funciones de Confidential Computing permiten la encriptación en uso y la encriptación en reposo y en tránsito.
Velocidad y rendimiento
La computación de alto rendimiento puede procesar datos y tareas mucho más rápido que un servidor o computadora. Las tareas que pueden tardar semanas o meses en un sistema de procesamiento normal pueden tardar horas en HPC.
Flexibilidad y eficiencia
Con la HPC en la nube, se puede aumentar o reducir verticalmente la escala de las cargas de trabajo según las necesidades. Gracias a una sólida conexión a Internet, se puede acceder a la HPC desde cualquier lugar del mundo.
Ahorro de costos
Debido a la velocidad, la flexibilidad y la eficiencia de la HPC en la nube, las organizaciones pueden ahorrar tiempo y dinero en recursos de procesamiento y horas de trabajo.
Tolerancia a errores
Si un nodo de un clúster de HPC falla, el sistema es lo suficientemente resiliente como para que el resto del sistema no falle. Debido a las tareas grandes y complejas que realiza HPC, la tolerancia a errores es una gran ventaja.
I+D acelerado
La HPC brinda una ventaja a las empresas que realizan investigación y desarrollo acelerando los resultados de proyectos que consumen muchos datos, como el modelamiento farmacéutico, el diseño de máquinas y piezas nuevas, o la simulación de experimentos para reducir las pruebas físicas.
Costo inicial
Los clústeres locales de HPC y las supercomputadoras tienen altos costos iniciales. La HPC local estará fuera del alcance de la mayoría de las organizaciones después de considerar el costo del equipo, la mano de obra, el software y la configuración.
Consumo de energía
Los costos de energía de las instalaciones de supercomputadoras locales pueden ser altos. En el caso de las empresas preocupadas por el medioambiente y los costos, el consumo de energía de HPC puede ser sustentable si se ejecuta en la nube más ecológica del mundo.
Mantenimiento
HPC funciona mejor cuando se usa la última generación de hardware y software optimizado. Mantener un clúster de HPC local o una supercomputadora actualizado para garantizar un rendimiento óptimo puede convertirse en un gasto grande y continuo.
El ecosistema moderno está inundado de datos y herramientas de procesamiento intensivo para analizarlos. La HPC permite que las empresas y las organizaciones procesen todos estos datos de manera oportuna, lo que impulsará nuevas estadísticas, innovaciones y descubrimientos científicos. Esto les permite a las empresas prever situaciones comerciales, predecir las fluctuaciones del mercado y hacer recomendaciones. Mientras tanto, el campo médico se está transformando con fácil acceso a la HPC en la nube, lo que ayuda a modelar posibles brotes, decodificar el genoma de las células cancerosas y comprender cómo evolucionan las enfermedades.
En pocas palabras, la HPC acelera el ritmo de avance científico, tecnológico y empresarial, lo que ayuda a la humanidad a crear un futuro más próspero.
Estos son algunos de los casos de uso de la computación de alto rendimiento.
Investigar
La HPC se usa en las 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 usa para simular situaciones físicas, como colisiones de automóviles, el flujo de aire sobre las alas de un avión o dentro de los motores, o la manera en que los posibles nuevos fármacos interactúan con las células humanas.
Diseño
Los fabricantes suelen usar 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 potencia de procesamiento de HPC, diseñar y procesar modelos potenciales llevaría mucho más tiempo y ralentizaría el proceso de fabricación. Los fabricantes de chips informáticos usan HPC para modelar nuevos diseños de chips antes de prototiparlos en la fundición.
Optimización
La HPC puede ayudar a optimizar grandes y difíciles conjuntos de datos, como carteras financieras o las rutas más eficientes para el envío y la logística.
Previsión
La HPC puede tomar conjuntos de datos grandes y complejos, y realizar predicciones de manera oportuna. Muchas empresas aeroespaciales usan HPC para predecir cuándo sus máquinas requerirán mantenimiento. La mayoría de los pronósticos meteorológicos se realizan con computación de alto rendimiento, lo que permite a los meteorólogos predecir las rutas de las tormentas o modelar el cambio climático.
Análisis de datos
La HPC puede analizar el conjunto de datos más grande. Cuando se usa con aplicaciones de inteligencia artificial y aprendizaje automático, la HPC puede ayudarte a hacer recomendaciones o detectar fraudes en tarjetas de crédito. La HPC ha aumentado considerablemente la velocidad a la que se pueden secuenciar genomas.
Comienza a desarrollar en Google Cloud con el crédito gratis de $300 y los más de 20 productos del nivel Siempre gratuito.