Las supercomputadoras más rápidas y poderosas del planeta

0
21
supercomputadoras

Si se le diera a cada habitante de México una calculadora para que hiciera una suma cada segundo, tomaría unos 7.5 años de cálculos sin parar para poder hacer lo mismo que la supercomputadora más rápida del mundo hace en un sólo segundo. Lo más curioso es que este monstruo matemático usa prácticamente los mismos chips que cualquier computadora personal.

Las primeras supercomputadoras fueron construido cuando la tecnología de bulbos al vacío empezó a ser reemplazada con transistores. En Estados Unidos, una compañía llamada CDC dominó el mercado de supercomputadoras la mayor parte de la década de los 60. La CDC-6600 era 10 veces más rápida que su competidor más cercano, y la empresa vendió 100 unidades por 8 millones de dólares cada una. El genio detrás de estas computadoras era un hombre llamado Seymour Cray. Cuando Cray renunció para formar su propia compañía en 1972, el negocio de las supercomputadoras despegó. La Cray-1 fue la primera máquina en usar circuitos integrados (chips de computadora) en vez de transistores por separado. Mucha de su velocidad se debía a que usaba una técnica conocida como procesamiento vectorial, la cual aprovecha el hecho de que la mayoría de las aplicaciones para supercomputadoras corre los mismos cálculos una y otra vez utilizando muchos conjuntos de datos almacenados en la memoria. Tradicionalmente, una computadora toma el primer conjunto de datos de la memoria, realiza cálculos y arroja un resultado que escribe de nuevo en la memoria; una vez que termina el proceso completo, toma el siguiente conjunto de datos y repite la operación. La Cray-1 procesaba los datos como una línea de ensamble en una fábrica: continuamente y sin esperar a que el primer conjunto de datos se terminará de procesar para iniciar el tratamiento de otro. Esto aseguraba que todos los circuitos estuvieran ocupados al mismo tiempo de manera permanente. La sucesora de la Cray-1, la Cray-2, apareció en 1985 y ocupó el lugar de la computadora más rápida del mundo hasta 1990.

El procesamiento vectorial depende de la capacidad para hacer pasar datos rápidamente a través de los procesadores, por lo que la mayor parte del desempeño de la Cray-2 simplemente se debía a que usaba chips mucho más rápidos. En la década de los 90, los diseñadores de supercomputadoras intentaron un nuevo enfoque: en vez de tener unos cuantos procesadores (la Cray-2 sólo tenía 8) compartiendo la misma memoria, le otorgaron a cada procesador su propia memoria y dispusieron una gran cantidad de ellos en una red. En este sistema, que se denomina computación en malla, cuando los procesadores requieren intercambiar datos, los envían como un mensaje a toda la red. Aunque esto resulta más lento que cablear los procesadores directamente entre ellos, éstos pueden operar de manera más independiente y no necesitan comunicarse tan frecuentemente. Así, la supercomputadora se puede hacer mucho más grande y rápida con tan sólo agregar más procesadores en la red.

Desde 1993, las supercomputadoras más rápidas del mundo han sido clasificadas en top500. Usando un programa de análisis comparativo que mide la velocidad de cómputo con base en el número de operaciones de punto flotante por segundo, o flops. Las operaciones de punto flotante son esencialmente cálculos aritméticos que involucran números con punto decimal. Si pudieras determinar la respuesta de una operación como 14.1516 x 937.93 en un segundo, tu cerebro estaría operando a una velocidad de flop. La velocidad de las supercomputadoras modernas se mide en teraflops, o billones de flops, unidad que equivale a mil teraflops. Y aún seguirán volviéndose más rápidas.

Las supercomputadoras modernas usan decenas de miles de procesadores. La única forma de construirlas de manera económica es usar componentes especiales; la mayoría de las 10 principales supercomputadoras del mundo usan versiones de alto desempeño de los procesadores Intel que existen dentro de una típica computadora personal. Las más recientes también usan las unidades procesadoras de gráficos (GPU) empleadas en las computadoras estándar, más no para correr videojuegos: estas GPU son excelentes para procesamiento vectorial y, al combinar CPU y GPU en una misma unidad de cómputo, las supercomputadoras híbridas son capaces de aprovechar las ventajas del procesamiento vectorial y las de la computación en malla al mismo tiempo. Actualmente, las GPU se hacen cargo de aproximadamente 90% de la capacidad de procesamiento de las supercomputadoras más veloces, lo cual les permite operar 10 veces más rápido que las dela generación anterior, pero consumiendo apenas 2 veces más energía eléctrica.

Las aplicaciones para supercomputadoras se escriben en los lenguajes Fortran, C++ y Java, aunque crear programas para supercomputadoras con procesamiento masivo en paralelo no se parece nada a escribir software para una PC que corre con Windows. A fin de poder aprovechar la capacidad de todos los procesadores, es necesario dividir un problema en partes más pequeñas para poder distribuirlo.

Si se están modelando las estrellas del universo o el flujo de las moléculas de aire que pasan por una turbina, no se puede simplemente asignar a cada procesador una estrella o molécula diferente, debido a que los cálculos de un punto a otro de la simulación afectan a aquellas que le rodean. En lugar de eso, se asignan puntos específicos en el espacio, en donde se analiza la interacción entre las partículas de interés.

La interfaz de Programación Espacial con Direccionamiento Global es una nueva herramienta de programación que permite a cada procesador tratar todas las memorias de los distintos procesadores como una sola memoria compartida. La GPI administra el envío de los mensajes correctos para mantener cada procesador actualizado en todo momento. esto permite al investigador dedicarse a definir la manera en que la simulación debe correr, con lo cual se incrementa la eficiencia de la supercomputadora.

China, India y Estados Unidos están trabajando para construir una supercomputadora con capacidad de exaflops (mil petaflops) para el año 2018. Será unas 30 veces más rápida que la supercomputadora Tianhe-2, que es actualmente la más rápida del mundo. La computación de exaflops permitirá, por fin, modelar el cerebro humano al nivel de poder simular perfectamente cada neurona, aunque el factor limitante en este momento no es realmente el dinero, sino la energía eléctrica. Tan sólo Tianhe-2 usa 24 megawatts de potencia. ¡Una supercomputadora de exaflops requeriría usar una gran parte de la energía producida por una planta termoeléctrica de carbón! Sin importar cuán impresionante sea la capacidad de procesamiento matemático de las supercomputadoras, no son rival para la eficiencia energética del cerebro. Parece ser que la gente sigue siendo aún de cierta utilidad.

LEAVE A REPLY

Please enter your comment!
Please enter your name here