La supercomputación, también llamada computación de alto rendimiento (HPC por sus siglas en inglés) se refiere a aquellos sistemas informáticos que requieren una potencia de cálculo extremadamente alta, y que son capaces de resolver problemas enormemente complejos y exigentes, como puede ser la investigación médica o científica.
Los superordenadores se utilizan para fines científicos y de ingeniería que requieren muchos datos y cálculos, como la mecánica cuántica, la predicción meteorológica, la prospección de petróleo y gas, el modelado molecular, las simulaciones físicas, la aerodinámica, la investigación de la fusión nuclear o el criptoanálisis.
Índice de temas
¿Qué es una supercomputadora y para qué sirve?
Un superordenador se define como un dispositivo informático extremadamente potente que procesa datos a velocidades medidas en FLOPS para realizar cálculos y simulaciones complejas, normalmente en el campo de la investigación, la inteligencia artificial y la informática de macrodatos. Pero muchas compañías también lo están incorporando a sus centros de datos.
En la actualidad, los superordenadores de categoría mundial son capaces de realizar más de 10¹⁵ -al menos un millón de miles de millones- de operaciones por segundo (rendimiento a petascala). Algunos sistemas de gama alta superan el 10¹⁷ -al menos cien millones de millones- de operaciones por segundo (rendimiento preexaescala). La próxima generación (exaescala) realizará más de un billón (10¹⁸) de operaciones por segundo.
Los superordenadores se utilizan para fines científicos que requieren muchos datos y cálculos, como la predicción meteorológica, la prospección de petróleo y gas, el modelado molecular, las simulaciones físicas o el criptoanálisis
Breve historia de la supercomputación
Los primeros sistemas de supercomputación aparecieron en la década de los sesenta. Consistían en grandes recursos centralizados compartidos por todos los que querían utilizarlos. Había que hacer cola para obtener los recursos que se necesitaban. Además, los recursos no eran interactivos, lo que dificultaba la escritura de código. El trabajo estaba a merced de lo que ejecutaran los demás y de los recursos disponibles. Además, era imposible preprocesar o postprocesar los datos en estos sistemas.
El CDC 6600 está considerado el primer superordenador. Fue diseñado por Seymour Cray -a menudo considerado el padre de la supercomputación- mientras trabajaba en la Control Data Corporation (CDC). Se considera el primer superordenador porque, en el momento de su lanzamiento, era hasta diez veces más rápido que el superordenador más rápido del mundo, el IBM 7030 stretch.
Ya en la década de los setentas, ILLIAC IV fue el primer ordenador construido con arquitectura paralela. Esto significa que tenía varios procesadores trabajando juntos, lo que se consideró una forma de sortear las limitaciones tecnológicas de la potencia de procesamiento de la época. Se suponía que iba a tener hasta 256 procesadores. Sin embargo, sólo se completó parcialmente, dejándolo con 64 procesadores.
Los superordenadores de mediados de los ochenta y principios de los noventa estaban dominados por Cray. Aunque Cray dominaba el sector de la supercomputación a principios de la década de los noventa, no era el único. NEC tenía una línea de superordenadores vectoriales llamados SX. En esa época aparecieron varios ordenadores paralelos masivos, como Thinking Machines, nCUBE, Meiko Scientific, Kendall Square Research (KSR) y MasPar.
La década de 1990 fue testigo del auge de Internet y la World Wide Web. Internet, la red mundial de ordenadores conectados, permitió a los usuarios compartir información y comunicarse entre sí de formas que nunca antes habían sido posibles. Y esto también marcó la historia de la supercomputación.
En los 2000, Linux empezó a hacerse un hueco relevante en el mundo de la supercomputación, ya que hasta ese momento, el sistema operativo dominante era UNIX. La tecnología de los chips y procesadores ha ido evolucionando a gran velocidad en tan solo 20 años, hasta poder llegar a lo que conocemos hoy.
¿Cuáles son las características de una supercomputadora?
Operaciones de alta velocidad, medidas en FLOPS
Cada segundo, los superordenadores realizan miles de millones de cálculos. Como métrica de rendimiento, utilizan operaciones FLOPS. Un FLOPS mide el número de cálculos fluctuantes que una CPU puede realizar cada segundo. Dado que la gran mayoría de los superordenadores se emplean principalmente para la investigación científica, que exige la fiabilidad de los números flotantes, se recomiendan los FLOPS a la hora de evaluar los superordenadores. El rendimiento de los superordenadores más rápidos se mide en exaFLOPS.
Una memoria principal extremadamente potente
Los superordenadores se distinguen por su gran capacidad de memoria primaria. El sistema se compone de muchos nodos, cada uno con sus propias direcciones de memoria que pueden ascender aproximadamente a varios petabytes de RAM.
El uso del procesamiento paralelo y los sistemas operativos Linux
El procesamiento paralelo es un método en el que muchos procesadores trabajan simultáneamente para realizar un cálculo específico. Cada procesador es responsable de una parte del cálculo para resolver el problema lo más rápidamente posible. Además, la mayoría de los superordenadores utilizan versiones modificadas del sistema operativo Linux. Los sistemas operativos basados en Linux se utilizan porque están disponibles públicamente, son software de código abierto y ejecutan las instrucciones de forma más eficiente.
Resolución de problemas con un alto grado de precisión
Con el enorme volumen de datos que se procesan constantemente y su ejecución acelerada, existe la posibilidad de que el ordenador proporcione resultados inexactos en algún momento. Se ha demostrado que los superordenadores son precisos en todos sus cálculos y proporcionan información correcta. Con simulaciones más rápidas y precisas, los superordenadores pueden abordar los problemas con eficacia. A los superordenadores se les asignan varias repeticiones de un problema, que responden en una fracción de segundo. Los superordenadores también pueden crear estas iteraciones. Los superordenadores pueden responder con precisión a cualquier problema numérico o lógico.
Un superordenador procesa datos a velocidades medidas en FLOPS para realizar cálculos y simulaciones complejas, normalmente en el campo de la investigación, la inteligencia artificial y la informática de macrodatos
Sistemas operativos utilizados para la supercomputación
Tal y como hemos explicado en el apartado anterior, el sistema operativo Linux es uno de los más utilizados, y está muy presente en el Top 500 de los ordenadores más potentes del mundo. Hay muchas razones por las que la mayoría de los superordenadores han elegido Linux. Algunas de las razones son:
- Sistema operativo abierto. Al ser un sistema de código abierto, es 100% personalizable. Esta característica permite modificar libremente cualquier parte del código. Es útil tanto para mejorar el rendimiento como para solucionar cualquier problema de seguridad.
- Menor consumo de recursos. Al ser personalizable, se puede aumentar el rendimiento especificando que sólo se ejecuten las aplicaciones vitales. Esto no se puede hacer con otros sistemas operativos, ya que no suelen permitir configuraciones específicas.
- Estructura modular. Esta es una de las características más importantes de Linux. Al ser completamente abierto, se pueden añadir nuevos módulos sin afectar a otras partes del sistema operativo. Además, la optimización de recursos es mucho más sencilla.
- Adaptado a todo tipo de cargas de trabajo. Su capacidad para adaptarse a todo tipo de cargas de trabajo es también una característica muy importante. Esto facilita la medición de la eficiencia, el consumo y el rendimiento del superordenador.
- Costes. Al ser completamente gratuito, no es necesario pagar una licencia para utilizarlo. Por tanto, la inversión necesaria es el tiempo requerido para modificar el SO para cada proyecto.
Supercomputación e Inteligencia Artificial
Los sistemas de computación híbrida pueden beneficiar a los proyectos de Inteligencia Artificial de varias formas:
- Las GPU pueden utilizarse para procesar con mayor eficacia algoritmos relacionados con la IA, como los modelos de redes neuronales.
- El paralelismo y el coprocesamiento aceleran los cálculos, lo que permite procesar grandes conjuntos de datos y ejecutar experimentos a gran escala en menos tiempo.
- Más almacenamiento y memoria permiten procesar mayores volúmenes de datos, lo que aumenta la precisión de los modelos de inteligencia artificial.
- Las cargas de trabajo pueden distribuirse entre los recursos disponibles, lo que permite aprovechar al máximo los recursos existentes.
- Los sistemas HPC pueden proporcionar una supercomputación más rentable en comparación con los enfoques tradicionales. En la nube, puede acceder a la HPC como servicio, evitando costes iniciales y pagando en función del uso real.
El sector de la HPC está ansioso por integrarse, mejorando el soporte para los casos de uso de la IA. La HPC se ha utilizado con éxito para ejecutar modelos de IA a gran escala en campos como la teoría cósmica, la astrofísica, la física de altas energías y la gestión de datos para conjuntos de datos no estructurados.
Ejemplos de supercomputadoras
En junio de 2023, Top500 ha publicado la última actualización de los superordenadores más potentes del mundo. Estos son los resultados:
Nº 1: SUPERFRONTIER. Sigue siendo la única máquina a exaescala real. Ubicado en el Laboratorio Nacional de Oak Ridge (Tennessee, EE.UU.) sigue siendo el número 1 de la lista TOP500 y el único con un rendimiento HPL superior a un Exaflop/s. Se basa en la última arquitectura HPE Cray EX235a basado en Linux y está equipado con procesadores AMD EPYC 64C a 2 GHz. El sistema tiene un total de 8.699.904 núcleos, una eficiencia energética de 52,59 gigaflops/vatio y utiliza la interconexión Slingshot-11 para la transferencia de datos.
Nº 2: FUGAKU. El potente superordenador japonés, a cargo de Fujitsu, funciona con el sistema operativo Red Hat Enterprise Linux (RHEL) y se encuentra ubicado en el Centro de Ciencias de la Computación RIKEN en Kobe, Japón.
Nº 3: LUMI, ubicado en Finlandia, funciona a petaescala, por lo que consta de 362.496 núcleos, capaces de ejecutar más de 375 petaflops, con un rendimiento máximo teórico de más de 550 petaflops.
Nº 4: LEONARDO, ubicado en Italia, es un superordenador a petascala situado en el centro de datos CINECA de Bolonia (Italia). El sistema consta de un ordenador Atos BullSequana XH2000, con cerca de 14.000 GPU Nvidia Ampere y conectividad InfiniBand HDR Nvidia Mellanox a 200 Gb/s.
Nº 5: SUMMIT. superordenador desarrollado por IBM para su uso en el OAK Ridge National Laboratory de Estados Unidos.
Principales usos de la supercomputación por áreas
He aquí algunas aplicaciones de un superordenador:
Investigación científica: Los científicos utilizan un superordenador para múltiples propósitos de investigación, desde astronómica, a investigación nuclear, médica o farmacológica.
- Extracción de datos: Las grandes empresas suelen utilizar ordenadores especializados para extraer información útil de almacenes de datos o de un sistema en la nube. Por ejemplo, las compañías de seguros de vida utilizan superordenadores para reducir sus riesgos.
- Predicción meteorológica: Es posible predecir la probabilidad de lluvias o nevadas en los alrededores. También puede predecir la trayectoria real de huracanes y ciclones y su probabilidad de impacto.
- Gobierno y Defensa: Las agencias gubernamentales de inteligencia utilizan superordenadores para controlar las comunicaciones. Estas agencias necesitan sobre todo la capacidad de procesamiento numérico de los superordenadores para cifrar teléfonos móviles, correos electrónicos y transmisiones por satélite.
- Automoción: Utilizando superordenadores, una empresa automovilística puede ayudar a la compra de vehículos, porque antes de comprar un vehículo, los clientes pueden probar el entorno de simulación creado por los superordenadores.
- Industria del entretenimiento: La industria cinematográfica utiliza superordenadores para crear animaciones. También las empresas de juegos en línea utilizan ampliamente los superordenadores para desarrollar juegos de animación.