El superordenador español MareNostrum del BSC retorna al Top50 de los superordenadores

Dibujo20121203 marenostrum barcelona supercomputing center - bsc - 2005

Uno se siente un poco viejo cuando lee el listado Top500 de los superordenadores más poderosos del mundo (Top500 November 2012). Hace 20 años (Top500 June 1993) los superordenadores más poderosos alcanzaban decenas de Gflops (gigaflops, mil millones de operaciones en coma flotante por segundo), ahora superan la decena de Pflops (petaflops, mil billones de flops). MareNostrum (BSC-CNS, Barcelona Supercomputing Center, Centro Nacional de Supercomputación) sigue siendo el gran superordenador español, pero solo ocupa un honroso trigésimo sexto (36) puesto con 0,64 Pflops (su pico es 0,70 Pflops). MareNostrum 3 (la tercera actualización) está en construcción y solo el 70% está en funcionamiento; finalizará a principios de 2013 y logrará superar 1 Pflops, lo que nos hará ganar unos pocos puestos en junio de 2013. “El objetivo de MareNostrum no es ocupar un lugar destacado en el Top500, sino ser una herramienta útil al servicio de la comunidad científica española y europea,” en palabras de Mateo Valero, director del BSC-CNS. La crisis nos pasa factura a todos y MareNostrum 3 supone una inversión de 22,7 millones de euros (financiados por el Estado y Fondos FEDER).

Qué lejos queda noviembre de 2004, cuando MareNostrum era el superordenador más poderoso de toda Europa y ocupaba el cuarto puesto en el Top500; en junio de 2005 bajamos al quinto puesto, en noviembre de 2005 al octavo y en junio de 2006 abandonamos el Top10. Pero había que recuperar posiciones y en noviembre de 2006 retornamos con MareNostrum 2 y nuevos bríos al quinto puesto, para bajar al noveno en junio de 2007. La crisis económica nos ha hecho caer en picado hasta el puesto centésimo septuagésimo séptimo (177) en junio de 2012. Ahora mismo, el 70% de MareNostrum 3 ocupa el puesto duodécimo (12) de toda Europa. Hay 15 superordenadores europeos entre los primeros 50 puestos.

MareNostrum 3, fabricado por IBM, incorporará 6.000 chips Intel SandyBridge de 2,6 GHz, cada uno de ellos con 8 procesadores y una memoria total de casi 100 TB en 120 metros cuadrados. Su consumo será un 28% superior al MareNostrum 2, mientras que la potencia de cálculo se multiplicará por 10,6. El primer MareNostrum contaba con una capacidad de cálculo de 42,35 Tflops (teraflops) y fue actualizado en 2006 hasta los 94,21 Tflops. MareNostrum 3 tendrá una capacidad superior a 1 Pflops. Más información en “La nueva versión de MareNostrum multiplicará por 10 su capacidad de cálculo,” BSC, 9 Nov 2012.

El primer ordenador capaz de superar un Pflops fue Roadrunner (LANL, Los Alamos National Laboratory), en 2008, que ahora está relegado al puesto vigésimo segundo. En Los Alamos no tenían bastante y adquirieron un segundo ordenador en la escala de los petaflops, Cielo (bonito nombre en español), pero también está relegado al décimo octavo puesto. El primer puesto en el Top500 (noviembre 2012) lo ocupa Titan (ORNL, Oak Ridge National Laboratory), con 17,6 Pflops (su pico es 27,1 Pflops), seguido por Sequoia (LLNL, Lawrence Livermore National Laboratory), con 16,3 Pflops (su pico es 20,1 Pflops). IBM domina el Top10 con 6 superordenadores; hace 20 años dominaba Thinking Machines Corporation, que cayó en bancarrota en 1994 y fue adquirida por Sun Microsystems.

Para qué se necesita un superordenador que alcance el exaflop

1ª Jornada de Supercomputación (2008) ETSI Aeronáuticos, Universidad Politécnica de Madrid

El ordenador más poderoso del mundo está en Japón, se llama “K Computer,” utiliza tecnología de Fujitsu y alcanza la friolera de 11,3 petaflops (más de once mil billones de operaciones en coma flotantes por segundo), pero los científicos no están contentos y ansían la llegada de la próxima generación de superordenadores que alcanzará el exaflop (un millón de billones de flops). ¿Será posible algún día fabricar máquinas tan poderosas? Para los ingenieros los retos son enormes, pero países como EE.UU., China, Japón, Rusia, India y, por supuesto, la Unión Europea están dispuestos a alcanzar el exaflop. Por ejemplo, el Congreso de EE.UU. ha aprobado un presupuesto de más de mil millones de dólares para que el DOE financie su programa de supercomputación avanzada (de los cuales 126 millones de dólares se dedicarán a alcanzar el exaflop). ¿Para qué quiere un científico un exaflop? Para estudiar modelos de la turbulencia más precisos, para simular el clima global incluyendo efectos como la cobertura nubosa, para el diseño de nuevos motores de alta eficiencia adaptados a quemar biocombustibles, para estudiar en detalle las explosiones de supernovas, e incluso para simular armas nucleares (entre otras muchas aplicaciones). Nos lo cuenta Robert F. Service, “What It’ll Take to Go Exascale,” Science 335: 394-396, 27 January 2012. El vídeo que abre esta entrada es la charla inaugural del genial Javier Jiménez sobre supercomputación en mecánica de fluidos y turbulencia. Una gran charla que te recomiendo (si te interesa la supercomputación); presenta las primeras simulaciones que se hicieron en MareNostrum (el superordenador más grande de la Red Española de Supercomputación que se encuentra en el Barcelona Supercomputer Center o BSC). El vídeo de abajo es de Mateo Valero, director del BSC, sobre la supercomputación en España, su pasado, presente y futuro (os recomiendo en especial los comentarios de Mateo en la última media hora de la charla). Ambos vídeos son de la 1ª Jornada de Supercomputación (2008) ETSI Aeronáuticos, Universidad Politécnica de Madrid.

Los superordenadores fueron mejorando a base de incrementar la velocidad de su reloj (los famosos GHz) hasta que la tecnología llegó a un límite y hubo que buscar una alternativa, los procesadores multinúcleo o multicore (por ejemplo, el “K Computer” tiene 705.000 núcleos). El mayor problema de la tecnología es el consumo de energía. Los superordenadores más grandes consumen unos 10 MW (megawatios), lo mismo que unas 10.000 viviendas. Extrapolando este consumo, un superordenador de 1 exaflop necesitaría unos 200 MW, es decir, una central nuclear propia dedicada a abastecerle energía. La electricidad necesaria para que un ordenador de 1 exaflop funcionara durante un año costaría unos 200 millones de dólares. ¿Cómo se puede bajar el consumo de energía? Una posibilidad es usar GPU (unidades de procesamiento gráfico) en combinación con las tecnologías multinúcleo. Intel, AMD y otros fabricantes de chips ya han anunciado sus planes para desarrollar estos procesadores híbridos.

Aplicaciones de la supercomputación en el IFCA (Instituto de Física de Cantabria)

Hay muchos otros escollos para el avance de la supercomputación hacia el exaflop, como la memoria, las comunicaciones, la tasa de errores y el desarrollo del software. La memoria RAM actualmente es muy cara y se estima que no va a bajar de precio lo suficiente; MareNostrum solo tiene 20 terabytes de RAM; un ordenador capaz de alcanzar 1 exaflop necesita al menos 1 exabyte de RAM (al precio actual es imposible pagarlo). Las redes de datos que comunican unos procesadores con otros también tienen que tener un ancho de banda suficientemente alto (el 70% de ejecución de un algoritmo se consume en transferir datos de un procesador a otro). Todo falla y la tasa de error por procesador (del orden de un error al año) multiplicada por un enorme número de procesadores (pongamos un millón) conduce a un número de errores al día que impide trabajar en la escala del exaflop (la única solución es rediseñar los algoritmos para que sean robustos ante estos errores, algo innecesario en la actualidad). Y por supuesto, el gran problema será escribir un software eficiente con un speedup razonable en un millón de procesadores (algunos expertos opinan que las metodologías de programación no están cambiando lo suficientemente rápido para adaptarse al número creciente de procesadores). ¿Son rentables los supercomputadores? Según Robert F. Service, el  57% del tiempo de cálculo de todas las máquinas en la lista TOP500 ejecutan códigos para empresas privadas. Muchas de estas empresas pagan a instituciones públicas el uso de estas máquinas.

Los siguientes vídeos os muestran múltiples aplicaciones de la supercomputación en España.

El superordenador Blue Gene de IBM logra simular el cerebro completo de un gato (o el 4,5% de un cerebro humano)

Deep Blue venció a Kasparov al ejedrez y ahora Blue Gene simula mil millones de neuronas y diez billones de sinapsis, el equivalente neuronal al cerebro de un gato. Uno de los superordenadores más rápidos del mundo de IBM ha logrado algo que parecía imposible; eso sí, el consumo energétic0 de Blue Gene es enorme comparado con el del cerebro de un minino (tiene 147 456 procesadores trabajando en paralelo). Nadie duda de que en los próximos años IBM logrará simular un cerebro humano gracias a Blue Gene (nuestro cerebro tiene alrededor de 20 mil millones de neuronas y unos 200 billones de sinapsis); se estima que lo lograrán antes de 2019. El artículo técnico es Rajagopal Ananthanarayanan, Steven K. Esser, Horst D. Simon, Dharmendra S. Modha, “The Cat is Out of the Bag: Cortical Simulations with 10^9 Neurons, 10^13 Synapses,” PDF, IBM, 2011. Visto gracias a Mark Fischetti, “IBM Simulates 4.5 percent of the Human Brain, and All of the Cat Brain,” Scientific American, October 25, 2011.

El simulador cortical masivamente paralelo de IBM se llama C2. Su simulación en el superordenador Dawn Blue Gene/P del Lawrence Livermore National Laboratory (LLNL), con 147 456 CPUs y 144 TB de memoria, ha permitido simular 1 617 millones de neuronas y 8,87 billones de sinapsis. La simulación aún no es en tiempo real, se estima que es 643 veces más lenta. Estas simulaciones están financiadas por el programa financiado por DARPA llamado SyNAPSE (Systems of Neuromorphic Adaptive Plastic Scalable Electronics) cuyo objeto es lograr simular un cerebro humano completo en menos de una década. No es la primera vez que simula el cerebro de un mamífero y en 2007, utilizado el ordenador Blue Gene/L del Centro de Investigación T. J. Watson de IBM, con 32 768 CPUs y 8 TB de memoria, se logró simular el cerebro de un ratón (un circuito neurocortical con una complejidad similar al cerebro de un ratón).

El elemento básico del cerebro es la neurona, una célula especializada en integrar la información que recibe de unas miles de otras neuronas gracias a sus dendritas y de generar señales que se conectan con otras miles de neuronas gracias a su axón. Cada una de estas conexiones se denominan sinapsis. La corteza cerebral o córtex es una delgada capa de tejido nervioso de unos milímetros de espesor que recubre la superficie de los dos hemisferios cerebrales (gracias a las circunvoluciones su área superficial es de unos 2500 centímetros cuadrados). Se cree que el pensamiento superior (la imaginación, el juicio y la toma de decisiones) se realiza en esta parte del encéfalo. Obviamente, la simulación cortical de IBM utiliza como unidad básica un modelo muy simplificado de una neurona. Estas neuronas reciben y emiten señales en forma de picos de potencial eléctrico. Por ahora no se puede afirmar que estas neuronas “piensen” o algo por el estilo. Pero debemos entender este avance como un paso más hacia una máquina pensante en un futuro (en mi opinión) aún muy lejano.

¿Cuándo se podrá simular un cerebro humano completo en tiempo real? La gráfica de arriba aplica la ley de Moore y estima que para 2019 habrá superordenadores capaces de simular en tiempo real todas las neuronas y todas las sinapsis de la corteza cerebral humana. ¿Para qué sirve todo esto? Por ahora su interés científico y aplicado es limitado (¿para qué sirvió que Deep Blue le ganara a Kasparov?). Pero quien sabe, quizás estamos viviendo la “prehistoria” de las máquinas pensantes.

PS: En menéame he observado que esta noticia ya fue noticia en 2009. La web de Scientific American ha rescatado de nuevo esta noticia, que yo no recordaba, porque en su número de noviembre de 2011 dedican una página a comparar Cerebros y Ordenadores. La figura que ilustra la comparación es la siguiente.

Para qué quieren los chinos el mayor supercomputador del mundo

No sé por qué, pero en la revista Science suelen criticar bastante las grandes innovaciones chinas. Tianhe-1A es el supercomputador más rápido del mundo y ha sido fabricado en China. Alcanza 2’5 petaflops (en unos meses llegará a 4’7 petaflops) y es un 47% más rápido que Jaguar XT5 del Oak Ridge National Laboratory, en Tennessee, EE.UU., que era el número uno mundial. Para el gobierno chino este supercomputador es un ejemplo del poder de su país y de su capacidad de innovación. Pero según la revista Science, ¿para qué quieren los científicos chinos un supercomputador tan poderoso? Tianhe ha sido desarrollado por el ministerio de defensa chino (por la Comisión Militar Central de la Universidad Nacional en Tecnología de Defensa, en Changsha) y se encuentra en el Centro Nacional de Supercomputación en Tianjin, una instalación militar clasificada. El director del centro, Liu Guangming, afirma que este supercomputador servirá para aplicaciones civiles, como la predicción del tiempo, animación y modelado de reservas de petróleo. Xu Rongsheng, experto chino en supercomputación, ha confesado a Science que el gran problema en China es el software, no el hardware. Pocos investigadores chinos utilizan (o saben utilizar) los supercomputadores, por lo que las grandes máquinas chinas están siendo infrautilizadas. Nos lo cuentan Richard Stone, Hao Xin, “China: Supercomputer Leaves Competition—And Users—in the Dust,” News of the Week, Science 330: 746-747, October 5, 2010.

Para los curiosos en los detalles numéricos, Tianhe-1A está formado por 14336 procesadores Intel Xeon y 7168 tarjetas gráficas Nvidia Fermi, distribuidas en 120 torres cada una del tamaño de un frigorífico. El genial Jack Dongarra, experto en supercomputación de la Universidad de Tennessee, Knoxville, EE.UU., afirma que “Tianhe-1A es una mejora muy sustancial de Tianhe-1, un supercomputador que llegó a ocupar el puesto siete en el Top 500 de supercomputadores.” Jack afirma que el próximo 15 de noviembre, cuando se publique el nuevo Top 500, Tianhe-1A ocupará el primer puesto.

Zhang Yunquan, experto chino en supercomputadores, afirma que solo el 1% de las aplicaciones (software) que se usaron en Dawning 5000A, el supercomputador chino más poderoso antes de Tianhe-1, en el Centro de Supercomputación de Shanghai, repito, solo el 1% usó más de 160 núcleos  (Dawning 5000A tenía 30720 núcleos). Solo como dato para comparar lo que esto significa, el 18% de las aplicaciones (software) que se ejecutan en el Jaguar XT5 utilizan entre 45000 y 90000 núcleos (la máquina cuenta con 150162 núcleos). Para Zhang Yunquan es como  tener un fórmula uno para ir de compras al supermercado.

Lo dicho, no sé, no sé, quizás sea envidia, pero los norteamericanos de Science critican un poquito más de la cuenta los avances científicos y tecnológicos chinos. Quizás solo sea una opinión sesgada por mi parte…

PS: Por cierto, alguien comentará que ¿fabricado en China?, pero si los procesadores son de Intel y Nvidia. Bueno, bueno, los chinos han fabricado/diseñado la red de datos que conecta los procesadores entre sí. Han logrado una el doble de rápida que las utilizadas en EE.UU. Gran parte del secreto del poder de Tianhe-1A está en dicha red. No lo digo yo, lo dicen, eso sí, de pasada, en el artículo en Science.