Tabla de contenidos
En el mundo de la informática y la computación existe una innumerable cantidad de equipos que pueden sorprenderte, las supercomputadoras forman para de esos equipos y hoy hablaremos de ellos.
Probablemente si eres un usuario acostumbrado a la tecnología tengas una pequeña noción sobre lo que son las supercomputadoras, pero si eres un usuario común y corriente que no está muy dentro del mundo de la informática es posible que no tengas ni la más mínima idea de que son, que hacen ni cómo funcionan.
Así que comencemos con lo más básico.
¿Qué son las supercomputadoras?
Lo superordenadores son computadoras capaces de procesar billones de operaciones por segundo y usualmente son usadas para realizar cálculos sumamente intensivos.
En términos muy generales el superordenador está compuesto por tres partes: gran cantidad de procesadores, gran capacidad de memoria RAM y gran capacidad de almacenamiento. Dada la gran cantidad de procesadores estos se encuentran interconectados entre sí por redes de alta velocidad.
Y en esencia su funcionamiento le permite tomar un problema, dividirlo en muchos trozos, repartirlo entre los recursos disponibles (procesador, RAM y almacenamiento) donde cada procesador se dedica a un trozo y a su vez gracias a la interconexión existente entre ellos pueden intercambiar datos y al final se almacenan los resultados obtenidos.
Como has notado al mencionar muchos procesadores podrás imaginar que un superordenador tiene un rendimiento muchísimo más alto que un Pc Gaming de última generación e incluso que varios servidores.
¿Cómo se mide el rendimiento en una supercomputadora?
Existe una medida estándar para medir el rendimiento en esta clase de ordenadores, la unidad es conocida como Operaciones de Coma Flotante por Segundo mayormente conocida por su acrónimo en inglés FLOPS.
Para que se hagan una idea de la diferencia de rendimiento entre un procesador normal y un superordenador veamos lo siguiente.
Un Ryzen 9 3900X tiene un rendimiento de 469 GigaFLOPS (HPL Linpack) aproximadamente 469 Mil Millones de operaciones por segundo. SuperOrdenadores como el MARENOSTRUM 4 tiene una capacidad de 11.15 PetaFLOPS, 11,15 Mil Billones de operaciones por segundo ¿Cuánta capacidad no?
¿Cómo se crea un superordenador?
Para conseguir estas capacidades tan altas lo que se hace es interconectar miles de procesadores en diferentes nodos a través de una red de datos súper rápida donde se puedan comunicar como un único ordenador.
Para que tengas una idea de la cantidad de recursos necesarios para crear un superordenador tan solo el MARENOSTRUM tiene 48 Armarios, cada armario posee 72 Nodos y cada nodo está conformado por 2 procesadores Intel Xeon Platinum 8160 (24 núcleos / 48 Hilos @ 2,1 GHz) de última generación.
Es decir 6912 procesadores funcionando como uno solo a través de 3456 nodos interconectados, donde cada nodo tiene aproximadamente 96 Hilos de procesamiento.
Pero a estas alturas quizá pienses que no hay mucha diferencia entre un súper ordenador y un servidor como esos donde se alojan las páginas web o se realiza cloud computing. Pero la realidad es completamente diferente.
En las súper computadoras los programas corren a la vez en diferentes procesadores como si se tratase de un solo ordenador utilizando una tecnología llamada Cluster, la finalidad del Cluster es agrupar todos los nodos y básicamente lo se necesita para esto es un sistema operativo que soporte esta tecnología.
¿Cómo funciona un súperordenador?
En un principio existe un ordenador central corriendo un sistema operativo compatible con la tecnología Cluster como Suse Linux y es donde el usuario accede y este computador central se encarga de hacer la gestión y repartir la carga de trabajo entre todos los nodos.
Para que todo esto sea posible y la carga sea repartida exitosamente entre cada uno de los nodos disponibles debe existir una conexión súper rápida entre cada uno de los nodos.
¿Cómo se encuentran conectados los súperordenadores?
Hoy en día, las redes dependen en gran medida de interconexiones de baja latencia y gran ancho de banda para mover datos entre los distintos nodos de un Cluster de HPC. Al seleccionar el tejido principal que se utilizará para una red de clúster HPC, la elección a menudo se reduce a dos soluciones: Mellanox InfiniBand o Intel Omni-Path
InfiniBand de Mellanox es la elección para muchos clústeres HPC de uso general, gracias a su alto rendimiento y baja latencia. Y gracias al esquema de codificación de baja sobrecarga utilizado en Fourteen Data Rate (FDR) InfiniBand, se pueden lograr velocidades de datos muy altas mientras se dedican menos ciclos de CPU a la copia de mensajes, manejo de protocolos o cálculo de suma de verificación.
Omni-Path de Intel ofrece el rendimiento para las cargas de trabajo de computación de alto rendimiento (HPC) del mañana dándole la capacidad de que cada nodo se conecte a una velocidad de 100 Gbps de forma simétrica.
Características de un superordenador
Entre las características principales de un súper ordenador esta la más relevante, miles de millones de instrucciones de coma flotante por segundo (flops), además permite la conexión de muchos usuarios a la vez.
El tamaño es otra de las peculiares características de estas máquinas pues necesitan edificios o cuartos completos con un sistema de refrigeración exclusiva para mantener operativo el supercomputador.
Los usuarios de estos supercomputadores es algo que también las caracteriza pues no están diseñadas para simples mortales como nosotros, normalmente son usados por científicos o centros de investigación que necesitan realizar tareas iterativas intensivas, simulación de datos, pruebas de modelos físicos e incluso modelado de nuevos sistemas, también hay proyectos como NOMAD 2 cuya intención es la de encontrar nuevos materiales.
Un claro ejemplo es que a través del uso de las supercomputadoras se puede modelar el clima pasado y actual para predecir el clima futuro, también son capaces de modelar explosiones nucleares sin la necesidad por supuesto de hacer estallar una de ellas.
Tipos de Supercomputadoras
Tomando que este tipo de máquinas poseen una cantidad de potencia increíble, teniendo esto como base podemos colocar dentro del mundo de las supercomputadoras a aquellas que sean capaces de agrupar muchos núcleos y una gran capacidad de RAM y almacenamiento, su uso final es indistinto.
Mainframe
Supercomputadoras especializadas en diferentes aplicaciones como finanzas, indexación y comparaciones. Por lo general los Mainframes son usados por sistemas de gobiernos y empresas para la gestión de grandes cantidades de datos.
Supercomputadoras
Se trata de todos aquellas maquinas con una capacidad de procesamiento paralelo superior a un servidor o pc común, por lo general suelen ser varios servidores interconectados destinados a un uso científico.
Servidores
Es el tipo de supercomputadora más común con una gran capacidad de RAM y almacenamiento usualmente destinada a almacenamiento, hosting, vps, correo, web y otros usos más comunes en internet.
Grid Computing o computación en la red
es también una forma en la que se pueden obtener grandes cantidades de potencia de cálculo paralelo usando miles o millones de dispositivos a través de internet.
Funciona ejecutando un programa especializado en cada dispositivo de la red, este software asigna a cada dispositivo diferentes tareas, después de completar las subtareas, los resultados se recopilan y agregan para completar una tarea de mayor escala.
Actualmente el proyecto de computación distribuida más conocido es SETI@HOME
Supercomputadores Caseros
Usualmente se tratan de viejos ordenadores interconectados entre sí corriendo un sistema operativo que le permite administrar el trabajo entre las diferentes maquinas conectadas.
También hay casos de superordenadores creados con varios Raspberry Pi 3, como es el caso de la compañía BitScope que presento un superordenador de bajo coste con 5 nodos de 150 Raspberry pi 3 (750 placas y 3000 núcleos de potencia), así como otros creados con miles de PlayStation 3 Interconectadas, el proyecto es conocido como CONDOR y tiene 1716 PS3 funcionando al unísono por la fuerza aérea de los Estados Unidos.
¿Para que sirven los supercomputadores?
Sabemos ya que el uso principal es el manejo de grandes cantidades de información, además del procesamiento paralelo de millones de operaciones. Estas características toman fuerza en distintos ambientes tecnológicos y científicos como la inteligencia artificial, donde el entrenamiento de un modelo de IA requiere miles de iteraciones hasta que eleve su capacidad de aprendizaje.
IA
La gran capacidad de procesamiento es utilizada para estudiar en amplitud distintos modelos de IA como el procesamiento del lenguaje natural, la visión artificial, el reconocimiento de objetos e incluso experimentar nuevas aplicaciones que quizá hoy día son impensables.
Este tipo de aplicaciones han hecho que el gigante de la tecnología Microsoft creara el SUMMIT un superordenador con 85.000 núcleos de proceso y 10.000 unidades de proceso gráfico, especialmente pensando en sus aplicaciones a la inteligencia artificial.
BIG DATA
Para lograr un uso inteligente de grandes cantidades de información se necesita una capacidad de procesamiento muy grande, gracias a estas máquinas se puede automatizar la captura, revisión de operaciones financieras nacionales y multinacionales.
SIMULACIONES
En la lucha contra el COVID-19 también se usan las supercomputadoras. La enorme capacidad de cómputo de estos equipos permite a los investigadores acelerar la búsqueda de fármacos contra el virus y abordar complejos estudios de genoma para entender mejor la enfermedad.