lunes, 19 de diciembre de 2011

Un nuevo prototipo para una supercomputación más potente y eficiente

Modelo de procesador ARM Nvidia Tegra 3 de cuatro núcleos, uno de los componentes que incorpora el prototipo que está desarrollando el Centro de Supercomputación de Barcelona (BSC). 
Fuente: Nvidia


Un proyecto europeo busca crear un superordenador basado en una tecnología híbrida que alcance una potencia de exaescala ahorrando energía y costes.

En la lista de los 500 ordenadores más potentes de mundo clasificados a partir de la referencia Linpack (TOP 500), Japón, China y Estados Unidos mantienen una dura pugna por los primeros puestos. Ahora, Europa da un paso adelante en la competición a nivel de computación de altas prestaciones con un nuevo superordenador que podría ofrecer un gran ahorro energético sin renunciar a colocarse entre los líderes en potencia y rendimiento.
El Centro de Supercomputación de Barcelona (BSC), en España, es el responsable del desarrollo de este superordenador, dentro del proyecto europeo Mont-Blanc. Alejandro Ramírez, investigador del grupo de Arquitecturas Heterogéneas del BSC, es el líder de este proyecto, que busca construir el primer superordenador híbrido basado en unidades centrales de procesamiento (CPU) ARM y unidades de procesamiento gráficas (GPU) aceleradoras.
El primer prototipo se presentó el pasado mes de noviembre en la meca de la computación de altas prestaciones, el Congreso Internacional SC11 celebrado en Seattle (Estados Unidos). Como primer objetivo, el BSC aspira a alcanzar rangos de procesamiento de varios petaflops utilizando sólo una pequeña fracción de la energía que emplean actualmente otros superordenadores. A largo plazo, la meta de la iniciativa Mont-Blanc es llevar la computación en Europa al siguiente nivel de escala, de petaescala a exaescala (lo que le otorgaría una rapidez mil veces por encima de la que ofrecen las mayores máquinas de cálculo), evitando multiplicar su consumo energético y sus costes de fabricación.
La competencia será dura, a la vista del panorama actual. En la última edición del TOP 500 (que se actualiza cada seis meses) el superordenador japonés ‘K’, fabricado por Fujitsu con procesadores SPARC64, se convirtió en el primero de la historia en alcanzar la cota de los 10 petaflops por segundo. Además, ha demostrado ser también uno de las más eficientes energéticamente. Sin embargo, a diferencia del prototipo del BSC, esta máquina no utiliza procesadores gráficos u otros aceleradores.
La principal diferencia del superordenador construido por el equipo de Ramírez respecto al ‘K’ japonés, el ‘Tianhe-1A’ chino o el ‘Jaguar’ americano es que aprovechará, por primera vez, la eficiencia energética de los chips de ARM en combinación con la alta capacidad de cálculo proporcionada por las GPU de Nvidia. Concretamente, el prototipo utilizará CPU ARM Nvidia Tegra 3 de cuatro núcleos, aceleradas por GPU Nvidia Tesla externas. “El objetivo es realizar la misma cantidad de cálculos utilizando entre cuatro y seis veces menos energía”, afirma Ramírez.
Una de las ventajas de los procesadores de ARM es que han sido de los primeros en incorporar coma flotante de doble precisión (aritmética de 64 bits) y además son conocidos por su buen ratio entre capacidad de procesamiento y consumo energético (un chip ARM tipo consume menos de un vatio de potencia, mientras el Intel Core i7 necesita alrededor de 100 vatios), lo que les ha permitido hacerse un hueco en el mercado de los dispositivos de bajo consumo energético como teléfonos inteligentes y tabletas.
El sistema que están diseñando en el BSC, en su tamaño máximo, debería llegar a los 50 petaflops de capacidad de cálculo utilizando sólo siete megavatios de potencia eléctrica (sirva como comparativa que el ‘K’ japonés utiliza 12 megavatios para llegar a sus 10 petaflops), aunque el prototipo inicial es una versión mucho más pequeña.
La arquitectura ARM es ampliamente utilizada en pequeños dispositivos pero quedan aún muchos retos que superar, sobre todo a nivel de software, para que esta tecnología pueda emplearse en instalaciones científicas de altas prestaciones. Mientras el sistema operativo Linux está preparado para incorporarse a esta nueva plataforma, algunas de las aplicaciones necesarias todavía no existen. “El hecho de que ARM soporte Linux es una de nuestras grandes ventajas, ya que necesitamos un sistema operativo y un entorno de programación que sea conocido por los desarrolladores –explica Ramírez- pero no dispone del resto del entorno de software habitual en programación de altas prestaciones”. Es decir, toda una serie de librerías con implementaciones optimizadas de funciones matemáticas incorporadas a las máquinas que proporcionan normalmente vendedores como Intel o IBM, no existen en ARM.
Otro de los desafíos a nivel de software consiste en articular la capacidad de aceleración de sus GPU. La relación de Nvidia con el proyecto Mont-Blanc se centra en proveer a los programadores de las herramientas de desarrollo CUDA (del inglés Compute Unified Device Architecture o Arquitectura de Dispositivos de Cómputo Unificado) para codificar algoritmos en sus GPU y poder descargar en estos procesadores gráficos muchas de las tareas de computación.
También en este ámbito el BSC está abriendo nuevos caminos ya que todavía no hay controladores o drivers para CUDA en tecnología ARM. Ramírez afirma que Nvidia está trabajando estrechamente con el equipo para desarrollar este software, del que se espera una versión inicial para el primer trimestre de 2012. Este es un punto esencial que determinará la capacidad de adaptación de la máquina a tareas concretas y su rendimiento en aplicaciones futuras.
“La principal dificultad de cara a conseguir rendimientos tan elevados en aplicaciones reales con arquitecturas híbridas de tantos elementos radica en la complejidad de su programación”, indica Javier García Tobío, director del Centro de Supercomputación de Galicia (Cesga). Desde el Instituto de Física de Cantabria (IFCA),  Luis Cabellos, administrador de sistemas del superordenador “Altamira”, incide en la misma idea. “El principal inconveniente será lo diferente que resulta la arquitectura ARM en supercomputación, sumado al problema de desarrollar programas para GPU. Hay que modificarlos a medida para hacer uso de este hardware específico y aprovechar su potencia”, comenta.
Ramírez reconoce que están adentrándose en un campo inexplorado y que la falta de experiencia es una de las barreras que van a encontrar en el desarrollo de este prototipo, ya que “ni los fabricantes de chips tienen experiencia fabricando procesadores de ARM para computación de altas prestaciones, ni los fabricantes de ordenadores HPC tienen experiencia utilizando chips de ARM”.
No obstante, el investigador predice que ambos bandos se pondrán rápido al día, alentados por la posibilidad de conseguir una supercomputación energéticamente eficiente con grandes aplicaciones en varios campos. Entre ellos, destacan la geología (que podría estar muy interesada en incorporar esta tecnología para incrementar su capacidad de exploración del terreno in situ), la medicina y la investigación farmacológica.
“Podría servir para instalar dentro de un quirófano un sistema capaz de analizar una resonancia magnética en tiempo real”, apunta Ramírez. “Las máquinas capaces de hacer eso hoy no caben en la sala”, añade. La imagen médica es una de las áreas para las que esta arquitectura resulta más prometedora, ya que trabaja con estructuras muy regulares donde, en teoría, cada píxel podría ser procesado por cada uno de los núcleos de las GPU de Nvidia. “Como en este tipo de proceso se requiere poca comunicación entre las unidades de proceso, utilizan todas prácticamente el mismo código y pueden ejecutarse simultáneamente el resultado final puede ser muy bueno”, explica Vicente Martín, director del Centro de Supercomputación y Visualización de Madrid de la Universidad Politécnica de Madrid (CeSViMa).
Esto se debe en gran parte a que el diseño de estas tarjetas aceleradoras está optimizado para gráficos. “Una GPU es una pequeña unidad de proceso replicada unas 500 veces. Todo lo que puedas dividir en trocitos más pequeños y ejecutar simultáneamente en esas 500 pequeñas CPU va ir muy bien, pero lo que no pueda hacerse así, irá mucho peor“, explica Martín.  De hecho, reconoce que un proceso más irregular en el que unas decisiones dependen de los datos obtenidos en los pasos anteriores, la secuencia “no se puede paralelizar y no funciona bien en esta arquitectura ni en prácticamente ninguna otra”.
La tecnología basada en ARM y GPU no es perfecta para cualquier aplicación. Por ejemplo, no ofrecería buenos resultados en el tratamiento de bases de datos, o en determinados procesos de secuenciación genómica, como los que realizan en el Centro de Supercomputación y Bioinformática  (SCBI) de la Universidad de Málaga. Gonzalo Claros, biólogo molecular, trabaja en el desarrollo de herramientas bioinformáticas para estudios genómicos en este centro, donde disponen de sus propios superordenadores.
El biólogo reconoce que la implantación de la tecnología del nuevo prototipo del BSC no será posible allí, al menos a corto plazo. “La arquitectura ARM es muy útil cuando se pueden paralelizar mucho los procesos, de manera que sobre cada procesador recaiga muy poco trabajo, pero no es el caso en nuestras aproximaciones genómicas donde es difícil paralelizar y lo que hacemos es realizar muchas ejecuciones simultáneas”, explica Claros. Según el investigador, este diseño no aportaría para cada tarea individual la capacidad que permiten los procesadores potentes y de alta exigencia energética de sus superordenadores, lo que ralentizaría la obtención de resultados.
En el sector de la aeronáutica, sin embargo, hay toda una gama de cálculos intensivos que requieren de la supercomputación y que sí podrían beneficiarse de esta propuesta. “Los procesos relacionados con dinámicas de fluidos por computadora (CFD), cálculos aerodinámicos y aerotérmicos en vehículos lanzadores de satélites, y cálculos dinámicos estructurales, como respuestas ante cargas de choque y cálculos vibroacústicos, pueden sacar provecho de una arquitectura así”, explica Vicente Gómez, director de tecnología deEADS-Casa Espacio.
Gómez se muestra optimista respecto al potencial del proyecto del BSC aunque afirma que es pronto para emitir un veredicto. “Sobre el papel parece que puede suponer un salto, pero hay que ver el funcionamiento de este prototipo en la práctica y poder compararlo con una arquitectura más clásica”, puntualiza.
La diferencia principal radica en que en EADS-Casa los modelos de cálculo de CFD y estructurales si son procesos “bastante paralelizables”. Aún así, este punto de partida es necesario pero no suficiente, e igual que sus colegas, Gómez destaca el gran reto que existe a nivel de software en la adaptación del programa a la arquitectura. “Un programa que se escribiera de nuevo, específico para ese ordenador, aportaría grandes ventajas, pero es una tarea ímproba”, reconoce. Si son capaces de hacerlo, pronostica que se podrá aprovechar esta tecnología en un plazo relativamente corto.
El tiempo dirá si el BSC ha colocado un hito más en el camino hacia la computación a exaescala energéticamente eficiente en Europa.
Copyright Technology Review 2011.

No hay comentarios:

Publicar un comentario