¿Qué es una supercomputadora?

Retrocede en el tiempo medio siglo más o menos y la computadora más pequeña del mundo era una máquina gigantesca que llenaba una habitación. Cuando se desarrollaron los transistores y los circuitos integrados, las computadoras podían almacenar la misma potencia en microchips del tamaño de una uña.

Entonces, ¿Qué pasa si construyes una computadora del tamaño de una habitación hoy y la llenas con esos mismos chips? Lo que obtienes es una supercomputadora, una computadora que es millones de veces más rápida que una PC de escritorio y capaz de resolver los problemas científicos más complejos del mundo.

¿Qué diferencia a las supercomputadoras de la máquina que estás usando ahora? Profundicemos en el concepto de supercomputadora.

¿Qué es una supercomputadora?

Antes de comenzar con esa pregunta, te va ayudar entender qué es una computadora personal y su funcionamiento habitual.

Resumido muy brevemente, una computadora personal es una máquina de propósito general que recibe información (datos) mediante un proceso llamado entrada, la almacena y la procesa para luego generar algún tipo de salida.

En el caso de las supercomputadoras, no se trata solamente de convertir el concepto de computadora en una computadora mucho más grande y rápida.

Las supercomputadoras funcionan de una manera completamente diferente, generalmente utilizando el procesamiento paralelo en lugar del procesamiento en serie que es el que utilizan las computadoras personales.

Procesamiento en serie y paralelo

¿Cuál es la diferencia entre serie y paralelo? Una computadora ordinaria hace una cosa a la vez, por lo que hace las cosas en una serie distinta de operaciones; eso se llama procesamiento en serie.

Es, un poco como una dependienta de supermercado, recogiendo artículos de la cinta transportadora para pasarlos por el escáner y luego pasarlos para que los guardes en tus bolsas.

No importa que tan rápido cargues las cosas en la cinta o que tan rápido las guardes en la bolsa: La velocidad a la que realices tu compra está completamente determinada por la velocidad con la que el dependiente puede escanear y procesar los artículos, que siempre será uno por cada movimiento.

Desde que aparecieron las computadoras, la mayoría de ellas ha trabajado mediante un procesamiento en serie simple, inspirado en un diseño teórico básico llamado máquina de Turing y concebido originalmente por Alan Turing.

Una supercomputadora moderna típica, funciona mucho más rápido, gracias a que es capaz de dividir los problemas en partes y trabajar en muchas partes a la vez; eso se denomina procesamiento paralelo.

Es como llegar a la caja con un carrito gigante lleno de artículos, pero luego, conjunto a varios amigos; poder pasar toda la compra por varias cintas a la misma vez y una vez que hayas pagado; reunir toda la compra junta de nuevo.

Cuantos más elementos haya y más amigos tengas, más rápido podrás hacer las cosas mediante el procesamiento paralelo; al menos, en teoría.

Además, debes saber que el procesamiento paralelo se parece mucho más al funcionamiento real de nuestro cerebro, en comparación, al funcionamiento en serie.

¿Por qué las supercomputadoras usan el procesamiento paralelo?

La mayoría de nosotros hacemos cosas bastante triviales y cotidianas con nuestras computadoras, lo que no las hace esforzarse por completo: Mirar páginas web, enviar correos electrónicos o escribir documentos, generalmente usan muy poca potencia de procesamiento.

Pero si intentas hacer algo más complejo, como cambiar los colores de una fotografía digital muy grande, sabrás que tu computadora, tendrá que trabajar mucho más duro para logarlo.

De hecoh, es muy probable que tome más de 1 minuto en hacer realmente las complejas operaciones sobre fotografías digitales a gran escala.

Si juegas juegos de computadora, sabrás que necesita una computadora con un chip de procesador rápido (RAM) o las cosas realmente se ralentizarán.

Al agregar un procesador más rápido o duplicar la memoria, tu computadora se acelerará dramáticamente, pero aún hay un límite en cuanto a qué tan rápido irá: Puesto que un procesador, generalmente, solamente puede realizar una “línea de tareas” a la vez.

Ahora bien, supongamos que eres un científico encargado de pronosticar el clima, probar un nuevo medicamento contra el cáncer o modelar cómo podría ser el clima en 2050. Grandes problemas como esos, llevan al límite incluso a las mejores computadoras del mundo.

Al igual que puedes actualizar tu PC de escritorio con un mejor procesador y más memoria, puedes hacer lo mismo con una computadora de clase mundial. Pero todavía existen límites en la velocidad con la que funcionará un procesador.

La mejor manera de marcar la diferencia es utilizar el procesamiento paralelo: Agregar más procesadores, dividir el problema en partes y hacer que cada procesador trabaje en una parte separada del gran problema en paralelo.

Computadoras de procesamiento paralelo masivo

Una vez que los informáticos descubrieron la idea básica del procesamiento paralelo, tuvo sentido agregar más y más procesadores, ¿Por qué tener una computadora con dos o tres procesadores cuando puedes tener una con cientos o incluso miles?

Desde la década de 1990, las supercomputadoras han usado rutinariamente muchos miles de procesadores en lo que se conoce como procesamiento paralelo masivo.

En el momento en que actualizo esto, en julio de 2020, la supercomputadora con más procesadores que cualquier otra en el mundo, la Sunway TaihuLight, tenía alrededor de 40 960 módulos de procesamiento, cada uno con 260 núcleos de procesador, lo que significa 10 649 600 núcleos de procesador en total (actualmente está, es la cuarta máquina más poderosa del mundo).

Desafortunadamente, el procesamiento paralelo viene con un inconveniente incorporado. Volvamos a la analogía del supermercado.

Si tú conjunto a tus amigos decidís dividir las compras para pasar por varios pagos a la vez, el tiempo que ahorras la compra obviamente se reduce por el tiempo que les lleva ir por caminos separado, averiguar quién va a comprar qué y reunirse de nuevo al final.

Podemos adivinar, intuitivamente, que cuantos más procesadores tenga una supercomputadora; más difícil será probablemente descomponer los problemas y volver a ensamblarlos para hacer un uso más eficiente del procesamiento paralelo.

Además, deberá haber algún tipo de sistema de gestión centralizado o coordinador para dividir los problemas, asignar y controlar la carga de trabajo entre todos los diferentes procesadores y volver a ensamblar los resultados, lo que también conllevará una sobrecarga.

Con un problema simple como pagar un carrito de compras, eso no es realmente un problema. Pero imagina si tu carrito contiene mil millones de artículos y tienes 65.000 amigos que te ayudan con el pago.

Si tienes un problema (como pronosticar el clima mundial para la próxima semana) que parece dividirse claramente en subproblemas separados (hacer pronósticos para cada país por separado), eso es un problema lo suficientemente complejo para pensar en dividirlo.

Los científicos informáticos se refieren a problemas complejos como ese, mientras que se pueden dividir fácilmente en partes independientes, como cálculos vergonzosamente paralelos (EPC) porque son trivialmente fáciles de dividir.

Pero la mayoría de los problemas no se resuelven perfectamente de esa manera: El tiempo en un país depende en gran medida del tiempo de otros lugares, por lo que hacer un pronóstico para un país deberá tener en cuenta los pronósticos en otros lugares. A menudo, los procesadores paralelos de dentro de una supercomputadora, también necesitan comunicarse entre sí para poder resolver sus propios problemas.

Un procesador podría tener que esperar los resultados de otro antes de poder realizar un trabajo en particular. Por lo tanto, un problema típico en el que trabaja una computadora de procesamiento paralelo masivo caerá en algún lugar entre los dos extremos de un problema completamente en serie (donde cada paso debe realizarse en una secuencia exacta) y uno vergonzosamente paralelo; mientras que algunas partes se pueden resolver en paralelo, otras partes deberán resolverse en serie.

Una ley de computación (conocida como Amdahl, para el pionero en computación Gene Amdahl) explica cómo la parte del problema que permanece en serie determina efectivamente la mejora máxima en la velocidad que se puede obtener al usar un sistema en paralelo.

Clústeres

Puede hacer una supercomputadora llenando una caja gigante con procesadores y haciendo que cooperen para abordar un problema complejo a través de un procesamiento paralelo masivo.

Alternativamente, puedes comprar una gran cantidad de PC estándar, colocarlas en la misma habitación e interconectarlas mediante una red de área local (LAN) muy rápida para que funcionen de manera similar. Ese tipo de supercomputadora se denomina clúster.

Google realiza sus búsquedas web de usuarios con grupos de computadoras disponibles a lo largo de todo el mundo, instaladas en todos los centros de datos que poseen.

Eso, estaría compuesto por clústeres instalados en cada uno de los centros de datos, pero pasa ser una “cuadrícula” una vez que incluyes en la ecuación la suma de los centros de datos de varias ubicaciones.

Ahora bien, ¿Qué es una cuadrícula?

Cuadrículas

Una cuadrícula es una supercomputadora similar a un clúster (en el sentido de que está formada por computadoras separadas) pero las computadoras están en diferentes lugares y conectadas a través de Internet (u otras redes informáticas).

Este es un ejemplo de computación distribuida o descentralizada, lo que significa que el poder de una computadora se distribuye en múltiples ubicaciones en lugar de estar ubicado en un solo lugar (a esto último, a veces, se le denomina como computación centralizada).

El CERN Worldwide LHC Computing Grid, ensamblado para procesar datos del LHC (Large Hadron Collider) u más normalmente conocido como acelerador de partículas; es un ejemplo de este tipo de sistema.

Consta de dos niveles de sistemas informáticos, con 11 centros informáticos principales (nivel 1) conectados directamente al laboratorio del CERN mediante redes privadas que a su vez están conectados a 160 centros informáticos más pequeños (nivel 2) en todo el mundo (principalmente en universidades) y otros centros de investigación que utilizan una combinación entre Internet y redes privadas.

Otro tipo de cuadrícula “más informarl” trata del poder de computación creado a partir de cientos de miles ordenadores personas unificados en trabajar para solucionar un único problema, ¿Has participado alguna vez en un proyecto informático en línea como SETI@home, GIMPS, FightAIDS@home, Folding@home , MilkyWay@home o ClimatePrediction.net?

Si es así, has permitido que tu computadora se use como parte de una red de supercomputadora ad-hoc e informal. Este tipo de enfoque se denomina supercomputación oportunista, porque aprovecha cualquier computadora que esté disponible en cada momento.

Las cuadrículas así, que se vinculan a través de Internet, son mejores para resolver problemas vergonzosamente paralelos que se dividen fácilmente en partes completamente independientes.

¿Qué software ejecutan las supercomputadoras?

Es posible que te sorprendas al descubrir que la mayoría de las supercomputadoras ejecutan sistemas operativos bastante comunes, muy parecidos a los que se ejecutan en tu propia PC, aunque eso es menos sorprendente cuando recordamos que muchas supercomputadoras modernas son en realidad grupos de computadoras comerciales o estaciones de trabajo trabajando en conjunto.

El sistema operativo de supercomputadora más común solía ser Unix, pero ahora ha sido reemplazado por Linux (sistema operativo de código abierto similar a Unix desarrollado originalmente por Linus Torvalds y miles de voluntarios).

Dado que las supercomputadoras generalmente trabajan en problemas científicos, sus programas de aplicación a veces se escriben en lenguajes de programación científicos tradicionales como Fortran, así como en lenguajes populares y más modernos como C y C++.

¿Qué hacen realmente las supercomputadoras?

Como vimos al comienzo de este artículo, una característica esencial de una computadora es que es una máquina de propósito general capaz de usarse de muchas maneras diferentes: Puede enviar correos electrónicos en una computadora, jugar juegos, editar fotos o hacer cualquier número de otras cosas simplemente ejecutando un programa diferente.

Si estás usando un teléfono celular de gama alta, como un teléfono Android o un iPhone o un iPod Touch, lo que tienes es toda una pequeña y poderosa computadora de bolsillo capaz de ejecutar programas cargando diferentes aplicaciones que son simplemente programas de computadora bajo otro nombre.

Lo que hacen las supercomputadoras es ligeramente diferente.

Generalmente, las supercomputadoras se han utilizado para resolver problemas científicos complejos y matemáticamente intensos, incluida la simulación de pruebas de misiles nucleares, el pronóstico del tiempo, la simulación del clima y la prueba de la solidez del cifrado (códigos de seguridad informática).

En teoría, una supercomputadora de propósito general puede usarse para absolutamente cualquier cosa.

Mientras que algunas supercomputadoras son máquinas de propósito general que se pueden usar para una amplia variedad de problemas científicos diferentes, algunas están diseñadas para realizar trabajos muy específicos.

Dos de las supercomputadoras más famosas de los últimos tiempos fueron diseñadas de esta manera.

La máquina Deep Blue de IBM de 1997 se construyó específicamente para jugar al ajedrez (contra el gran maestro ruso Gary Kasparov) mientras que su posterior versión, la máquina Watson (llamada así por el fundador de IBM, Thomas Watson y su hijo) fue diseñada para jugar al juego Jeopardy.

Las máquinas especialmente diseñadas como esta pueden optimizarse para problemas particulares. Por ejemplo, Deep Blue se habría diseñado para buscar en enormes bases de datos de posibles movimientos de ajedrez y evaluar qué movimiento era mejor en una situación particular, mientras que Watson se optimizó para analizar preguntas complicadas de conocimiento general formuladas en lenguaje humano natural.

¿Qué tan poderosas son las supercomputadoras?

Si revisas las especificaciones de las computadoras ordinarias y encontrarás que su rendimiento generalmente se expresa en MIPS (millones de instrucciones por segundo) que es la cantidad de comandos de programación fundamentales (leer, escribir, almacenar, etc.) que puede administrar el procesador.

Es fácil comparar dos PC comparando la cantidad de MIPS que pueden manejar (o incluso la velocidad de su procesador, que generalmente se clasifica en gigahercios o GHz).

Las supercomputadoras se clasifican de una manera diferente. Dado que se emplean en cálculos científicos, se miden según la cantidad de operaciones de punto flotante por segundo (FLOPS) que pueden realizar, que es una medida más significativa en función de lo que realmente intentan hacer (a diferencia de MIPS, que es una medida de cómo están tratando de hacerlo).

Desde que se desarrollaron por primera vez las supercomputadoras, su rendimiento se ha medido en cantidades cada vez mayores de FLOPS, como se ilustra en la siguiente tabla:

Unidad FRACASOS Ejemplo Década
Cien FLOPS 100 = 102 Eniac ~1940
KFLOPS (kiloflops) 1 000 = 103 IBM 704 ~1950
MFLOPS (megaflops) 1 000 000 = 106 CDC 6600 ~ 1960
GFLOPS (gigaflops) 1 000 000 000 = 109 Cray-2 ~1980
TFLOPS (teraflops) 1 000 000 000 000 = 1012 Rojo ASCI ~1990
PFLOPS (petaflops) 1 000 000 000 000 000 = 1015 Cumbre ~2010s
EFLOPS (exaflops) 1 000 000 000 000 000 000 = 1018 ????? ~2020s

 

Las máquinas de ejemplo enumeradas en la tabla se describen con más detalle en la cronología, a continuación.

¿Quién inventó las supercomputadoras? Breve historia de las supercomputadoras

Si estudias sobre la historia de las computadoras vas a notar algo de inmediato: Ningún individuo puede reclamar la invención de estas increíbles máquinas para si mismo.

Podría decirse que eso es mucho menos cierto en el caso de las supercomputadoras, de las que se reconoce ampliamente que tienen una enorme deuda con el trabajo de un solo hombre, Seymour Cray (1925-1996).

Aquí hay un recorrido rápido por la supercomputación, BC y AC, ¡Antes y después de Cray!

  • 1946: John Mauchly y J. Presper Eckert construyen ENIAC (Integrador numérico electrónico y computadora) en la Universidad de Pensilvania. La primera computadora electrónica de uso general, mide aproximadamente 25 m (80 pies) de largo y pesa 30 toneladas y, dado que se implementa en problemas científico-militares, podría decirse que es la primera supercomputadora científica.
  • 1953: IBM desarrolla su primera computadora central de propósito general, la IBM 701 (también conocida como Calculadora de defensa), y vende alrededor de 20 de las máquinas a una variedad de agencias gubernamentales y militares. Podría decirse que la 701 es la primera supercomputadora comercial. El ingeniero de IBM, Gene Amdahl, luego rediseña la máquina para hacer la IBM 704, una máquina capaz de 5 KFLOPS (5000 FLOPS).
  • 1956: IBM desarrolla la supercomputadora Stretch para el Laboratorio Nacional de Los Álamos. Sigue siendo la computadora más rápida del mundo hasta 1964.
  • 1957: Seymour Cray cofundó Control Data Corporation (CDC) y es pionero en computadoras rápidas, transistorizadas y de alto rendimiento, incluidas la CDC 1604 (anunciada en 1958) y 6600 (lanzada en 1964), que desafían seriamente el dominio de IBM en la computación central.
  • 1972: Cray deja Control Data y funda Cray Research para desarrollar computadoras de alta gama, las primeras supercomputadoras verdaderas. Una de sus ideas clave es reducir la longitud de las conexiones entre los componentes dentro de sus máquinas para ayudar a que sean más rápidas. Esta es en parte la razón por la cual las primeras computadoras Cray tienen forma de C, aunque el diseño circular inusual (y los gabinetes azules o rojos brillantes) también ayudan a distinguirlas de la competencia.
  • 1976: Se instala la primera supercomputadora Cray-1 en el Laboratorio Nacional de Los Álamos. Maneja una velocidad de unos 160 MFLOPS.
  • 1979: Cray desarrolla un modelo cada vez más rápido, el Cray-2 de ocho procesadores y 1,9 GFLOP . Mientras que las conexiones de cables en el Cray-1 tenían un máximo de 120 cm (~4 pies) de largo, en el Cray-2 tienen solo 41 cm (16 pulgadas).
  • 1983: Thinking Machines Corporation presenta Connection Machine masivamente paralelo, con 64.000 procesadores paralelos.
  • 1989: Seymour Cray inicia una nueva empresa, Cray Computer, donde desarrolla Cray-3 y [Cray-4](https://en.wikipedia.org/wiki/Cray-4.
  • Década de 1990: Los recortes en los gastos de defensa y el surgimiento de poderosas estaciones de trabajo RISC, fabricadas por compañías como Silicon Graphics, representan una seria amenaza para la viabilidad financiera de los fabricantes de supercomputadoras .
  • 1993: Fujitsu Numerical Wind Tunnel se convierte en la computadora más rápida del mundo utilizando 166 procesadores vectoriales.
  • 1994: Thinking Machines se declara en bancarrota.
  • 1995: Cray Computer atraviesa dificultades financieras y se declara en bancarrota. Trágicamente, Seymour Cray muere el 5 de octubre de 1996, luego de sufrir lesiones en un accidente automovilístico.
  • 1996: Silicon Graphics compra Cray Research (la empresa original de Cray).
  • 1997: ASCI Red, una supercomputadora fabricada con procesadores Pentium por Intel y Sandia National Laboratories, se convierte en la primera supercomputadora de teraflop (TFLOP) del mundo.
  • 1997: la supercomputadora Deep Blue de IBM vence a Gary Kasparov en el ajedrez.
  • 2008: La supercomputadora Jaguar construida por Cray Research y el Laboratorio Nacional de Oak Ridge se convierte en la primera supercomputadora científica de petaflop (PFLOP) del mundo. Brevemente, la computadora más rápida del mundo, pronto es reemplazada por máquinas de Japón y China.
  • 2011-2013: Jaguar se actualiza extensamente (y de manera costosa), se le cambia el nombre a Titan y se convierte brevemente en la supercomputadora más rápida del mundo antes de perder el primer puesto ante la máquina china Tianhe-2.
  • 2014: Mont-Blanc, un consorcio europeo, anuncia planes para construir una supercomputadora exaflop (10 18 FLOP) a partir de procesadores de tabletas y teléfonos inteligentes de bajo consumo.
  • 2017: Los científicos chinos anuncian que pronto presentarán el prototipo de una supercomputadora exaflop, que se espera esté basada en Tianhe-2.
  • 2018: En junio de 2018, la nueva supercomputadora Summit 200-petaflop de Oak Ridge recuperó el puesto número uno en el ranking TOP500 de las 500 supercomputadoras más rápidas del mundo para los Estados Unidos.
  • 2020: aunque EE. UU. ocupa cuatro de las 10 primeras posiciones en el TOP500, China domina la lista en su conjunto: en junio de 2020, superó a EE. UU. por 226 máquinas a 114; en 2017 lideró por 202 a 143, y un año antes, ambos países contaban con 171 máquinas cada uno.
  • 2020: Fugaku de Japón se convierte en la mejor supercomputadora del mundo, con un rendimiento vertiginoso de 415,5 petaflops (casi tres veces mejor que Summit, el poseedor del récord anterior). Fugaku está instalado en el Centro RIKEN de Ciencias Computacionales (R-CCS) en Kobe, Japón.

El sobrecalentamiento de las supercomputadoras

Si usas habitualmente una computadora portátil, notarás lo caliente que se suele poner cuando aumentas su rendimiento. Eso se debe a que casi toda la energía eléctrica que se alimenta a través del cable de alimentación finalmente se convierte en energía térmica.

Es por eso que la mayoría de las computadoras necesitan algún tipo de sistema de enfriamiento, desde un simple ventilador que zumba dentro de la carcasa (en una PC doméstica) hasta unidades gigantes de aire acondicionado (en grandes mainframes o servidores).

El sobrecalentamiento (o enfriamiento, si lo prefieres) es un gran problema para las supercomputadoras.

Las primeras supercomputadoras Cray tenían elaborados sistemas de refrigeración y la famosa Cray-2 incluso tenía su propia torre de refrigeración independiente que bombeaba una especie de “sangre refrigerante” (Fluorinert™) alrededor de las cajas para evitar que se sobrecalentase.

Las supercomputadoras modernas tienden a ser enfriadas por aire (con ventiladores) o enfriadas por líquido (con un refrigerante que circula de manera similar a la refrigeración.

De cualquier manera, los sistemas de enfriamiento se traducen en un uso muy alto de energía y facturas de electricidad muy caras; por lo que también suelen ser bastante malos para el medio ambiente.

Algunas supercomputadoras sacrifican deliberadamente un poco de rendimiento para reducir su consumo de energía y sus necesidades de enfriamiento, logrando así, un menor impacto ambiental.

Relacionado

Una nueva técnica cuántica podría cambiar la forma en que se estudia el universo

La astronomía está experimentando una revolución. De hecho, podría argumentar que hay varios de ellos. La investigación de exoplanetas ha progresado significativamente en los últimos diez años, la astronomía de ondas gravitacionales se ha desarrollado como un área nueva y se han tomado las primeras fotografías de agujeros negros supermasivos (SMBH). La interferometría, un tema similar, ha evolucionado enormemente como resultado de sensores muy sensibles y ¡SEGUIR LEYENDO!

Un nuevo procesador de IBM impulsa la computación cuantica a más de 400 qubits

IBM anunció hoy la última generación de su familia de procesadores cuánticos, el Osprey. Con más de tres veces el número de qubits que el procesador de la generación anterior -Eagle- Osprey es el primero en ofrecer más de 400 qubits, eso significa que IBM sigue en camino de lanzar el primer procesador de 1000 qubits durante el próximo año. A pesar del alto número de ¡SEGUIR LEYENDO!

Supercomputadora LUMI pone a prueba la Partición GPU con Ciencia Extrema

La supercomputadora LUMI, de Finlandia, ha alcanzado un nuevo hito al completar con éxito la fase piloto de su partición GPU que amplía la potencia de procesamiento del sistema. https://ciberninjas.com/que-es-una-supercomputadora/ LUMI es el superordenador más rápido de Europa y el tercero más rápido a nivel mundial, según la lista Top500 publicada en noviembre de 2022. Fue inaugurado en Junio del año pasado, pero en ese momento ¡SEGUIR LEYENDO!

Singapur Construirá una Segunda Supercomputadora

Singapur construirá un segundo sistema nacional de supercomputadoras para apoyar a la comunidad de investigación local, proporcionando ocho veces más capacidad informática que su predecesor. Programado para estar operativo a principios de 2022, el sistema es uno de los proyectos más importantes a nivel mundial para los próximos cinco años. El nuevo superordenador nacional funcionará con un sistema refrigerado por agua caliente diseñado para climas tropicales ¡SEGUIR LEYENDO!

Primera Supercomputadora impulsada por Chips de Inteligencia Artificial wildcard de Intel

El Centro de Supercomputadoras de San Diego (SDSC) dice que está listo para ejecutar cargas de trabajo de prueba en su sistema experimental Voyager de Inteligencia Artificial que parece ser la primera supercomputadora basada en Intel Habana. Conociendo más sobre la supercomputadora Voyager La supercomputadora fue construida en colaboración con Habana Labs de Intel y Supermicro como parte de una subvención de cinco años de 11,25 ¡SEGUIR LEYENDO!