El término supercomputador surgió en la década de los 60, para describir el ordenador CDC 6600 que creó entonces la compañía Control Data Corporation (CDC). Este ordenador fue diseñado principalmente por Seymour Cray, que abandonó CDC en 1974 formando la empresa Cray Inc.
Las computadoras diseñadas por Cray tenían innumerables mejoras respecto a otros computadores de la misma época. Consideraban la paralelización a la hora de ejecutar códigos, y alcanzaba picos de rendimiento muy altos, la memoria y almacenamiento también era singulares. Al principio, estos supercomputadores eran máquinas individuales, con un único procesador y memoria que accedía el mismo. Más tarde, incorporaron varios procesadores, todos ellos accediendo la misma memoria. Los procesadores de estos supercomputadores eran vectoriales, y tenían un alto rendimiento en aplicaciones científicas, es decir en el Cálculo Científico. Podían realizar operaciones con vectores/matrices muy rápido y en pocos ciclos, ya que estos cabían en los registros del los procesadores.
Hasta la década de los noventa, fueron estos los supercomputadores más potentes del mercado. Los procesadores escalares que predominan hoy en día, realizan los cálculos con un único dato en cada ciclo. Los computadores Cray eran muy caros, costaban varios millones de dolares, y eran muy pocas las instituciones que podían contar con un supercomputador entre sus recursos para la investigación. Estos supercomputadores, aunque fueran unidades computacionales, eran grandes de tamaño (ver Fig 1).
- Figura 1. Cray 2 4 procesadores vectoriales (1985). Fuente infotology.
En la década de los 90, la arquitectura de los supercomputadores cambio, y la unión de miles de ordenadores crearon los nuevos supercomputadores con miles de procesadores, los clusters de computación.
En 1993, se creó la lista del top500, donde aparecían los supercomputadores más potentes del momento. Mirando los ordenadores más potentes de ésta lista a largo de los años, vemos que durante algunos años se alternaron en el número uno los superordenadores con procesadores vectoriales y escalares. Hasta 1997, a partir de ese año, los procesadores vectoriales desaparecieron.
En las fotos de abajo se pueden ver algunos ordenadores que han estado en el top de la lista top500, en ellos se puede ver la evolución en el tamaño de los supercomputadores.
- Figura 2.- Connection Machine 5 supercomputador con 1024 procesadores escalares. (1993). Fuente infotology.
- Figura 3.- Supercomputador Fujitsu Numerical Wind (1994). Tenía 140 procesadores vectoriales, que eran más rápidos que los 3.680 escalares del supercomputador Intel Paragon XP/S140. Fuente infotology .
- Figura 4.- Supercomputador K de Fujitsu. Fuente infotology.
Los supercomputadores de hoy en día son clusters (granjas) de computadoras, miles de ordenadores que a través de unas redes especiales se unen en un supercomputador. Estas unidades, estos ordenadores que forman el supercomputador, son parecidas a los ordenadores normales que todos conocemos, eso sí, disponen de procesadores de alto rendimiento (para el cálculo científico), y normalmente también tienen más memoria que los ordenadores convencionales. Estas unidades están unidas por redes especiales, redes diseñadas específicamente para un superordenador concreto, redes del tipo cray, o algo más estándares como pueden ser infiniband y 10Gb Ethernet. A menudo también disponen de un sistema de almacenamiento de altas prestaciones, que puede ser otro cluster que se dedica únicamente a guardar los datos generados por la parte que se dedica al cómputo.
Estas características permiten crear supercomputadoras menores con los mismos componentes que los que pueden tener los que aparecen en la lista del top500. Estos superordenadores se quedarían en unos pocos miles de procesadores, pero suficientes para muchos investigadores. Para diferenciar estos superordenadores de menor tamaño, se suele usar el término de Computador de Altas Prestaciones, (HPC en inglés, de High Performance Computing), aunque es muy difícil de establecer el límite entre unos u otros.
Tabla 1.- Los primeros ordenadores (o sus familias) de la lista Top500 a lo largo de los años.
Año | Supercomputador | Procesadores | Potencia (Rmax) TFLOPS | |
Junio 1993 | TMC CM-5 | 1.024 Escalares | 0,1 | |
Noviembre 1993 | Fujitsu Numerical Wind Tunnel | 140 Vectoriales | 0,12 | |
Junio 1994 | Intel Paragon XP/S140 | 3.680 Escalares | 0,14 | |
Noviembre 1994 | Fujitsu Numerical Wind Tunnel | 140 Vectoriales | 0,17 | |
Junio 1996 | Hitachi SR2201 | 1.024 Pseudo-Vectoriales | 0.22 | |
Noviembre 1996 | Hitachi CP-PACS | 2.048 Pseudo-Vectoriales | 0,37 | |
Junio 1997 | Intel ASCI Red | 7.264 Escalares (9.632) | 1 (2.3) | |
Noviembre 2000 | IBM ASCI White | 8.192 Escalares | 4,9 | |
Junio 2002 | NEC Earth Simulator | 5.120 Escalares | 35 | |
Noviembre 2004 | IBM Blue Gene/L* | 32.768 (212.992) Escalares | 70 (478) | |
Junio 2008 | IBM Roadrunner | 122.400 Escalares | 1.026 | GPU |
Noviembre 2009 | Cray Jaguar | 224.162 Escalares | 1.759 | |
Noviembre 2010 | NUDT Tianhe-1A | 186.368 Escalares | 2.566 | GPU |
Junio 2011 | Fujitsu K computer | 548.352 Escalares | 8.162 | |
Junio 2012 | IBM Sequoia Blue Gene/Q | 1.572.864 Escalares | 16.324 | |
Noviembre 2012 | Cray Titan | 560.640 Escalares | 17.590 | GPU |
Junio 2013 | NUDT Tianhe-2 | 3.120.000 Escalares | 33.862 | Coprocesadores |
* Durante los años 2004-2008 fueron diferentes Blugene/L los que estuvieron en el top de la lista top500 con entre 32.786 y 212.992 cores. Algo similar ocurrió con ASCI Red.
Mirando la Tabla 1. llama la atención el Road Runner de 2008 y la aparición de las GPU (en este caso procesadores de Play Station) en su arquitectura, y cómo, a pesar de tener casi la mitad de procesadores que su predecesor (212.992), tiene más del doble de TeraFLOPS gracias a la potencia de las GPUs. Las GPUs son los compononetes especializados en cálculo gráfico para la representación de imágenes complejas en nuestros ordenadores, por ejemplo las de los videojuegos. La tecnología GPU para cálculo es una rama especializada en la utilización de esta tecnología para el cálculo científico. Las GPUs se pueden entender como una especie de coprocesador que se encuentra fuera de la CPU, y que ayuda a realizar operaciones matemáticas de una manera muy rápida y eficiente. Muchos de los supercomputadores actuales incluyen tarjetas GPUs. El Tianhe-2, supercomputador más rápido del momento, utiliza otro tipo de coprocesadores, que no tiene nada que ver con las GPUs, pero que cumplen con el mismo objetivo.
Uno de los principales problemas de la actualidad es el consumo energético de uno de estos supercomputadores (hablamos del tema en el post El top de los ordenadores más potentes del mundo, y la lista green500). Una solución para reducir éste consumo en la carrera hacia el ExaFLOPS, además del uso de GPUs, es el uso de procesadores de bajo consumo similares a los que se usan en teléfonos móviles o tablets. Estos procesadores no son tan potentes como los actuales, pero su eficiencia energética es mayor. El proyecto MontBlanc es un ejemplo, donde tiene como objetivo construir un supercomputador con potencia de 1 ExaFLOPS y un consumo en proporción 15/30 veces menor que los actuales.
Nota: Este post es básicamente una traducción del post Zer da Superkonputagailu bat? que publicamos en Euskera.
Comentarios