Supercomputadoras más frías

Gracias a los avances en la velocidad de las simulaciones de supercomputadoras, los fenómenos complejos como los sistemas meteorológicos, el plegamiento de proteínas y las explosiones nucleares son cada vez más fáciles de modelar y comprender. Pero solo una pequeña parte de esta aceleración se debe a procesadores más rápidos. En cambio, la forma más común de alcanzar las capacidades de supercomputación es ensamblar cientos o miles de máquinas separadas en grupos. Cuando se unen, un clúster de este tipo compartirá una sola memoria y puede realizar simulaciones masivas en paralelo dividiendo el trabajo en muchas partes pequeñas.





Sin embargo, incluso este enfoque tiene sus límites. Por un lado, cuanto mayor sea la memoria, es más probable que algunas partes fallen durante un cálculo. Además, cuantas más máquinas se ensamblan en un grupo, más calor producen. De hecho, en algunos grandes centros informáticos, los sistemas de ventilación y aire acondicionado, los ventiladores y los sistemas de refrigeración líquida están en apuros para evitar que las máquinas se sobrecalienten.

Silicon Graphics, con sede en Mountain View, CA, también conocido como SGI, crea algunos de los clústeres de supercomputación más grandes del mundo. El cuarto más rápido del mundo, por ejemplo, es Columbia, un sistema que SGI construyó para el Centro de Investigación Ames de la NASA en 2004. Columbia incluye 20 superclusters SGI Altix, cada uno con 512 procesadores, para un total de 10,240 procesadores que comparten 20 -memoria de terabyte. Enfriar este gigante (que la NASA usa para modelar problemas que involucran grandes cantidades de datos, como el cambio climático, tormentas magnéticas y diseños para aviones hipersónicos) es actualmente un asunto de muy baja tecnología: se logra principalmente soplando aire a través de los procesadores a alta velocidad. velocidad.

Eng Lim Goh, científico informático y director técnico de la SGI, dice que un administrador de la NASA le dijo: 'Gasté millones de dólares en tu supercomputadora solo para poder ejecutar simulaciones que reemplacen nuestro túnel de viento, y tú nos diste un nuevo túnel de viento .



Goh es ahora el líder de Proyecto Ultraviolet , El esfuerzo de SGI para desarrollar su próxima generación de supercúmulos. Los chips que SGI está diseñando para Ultraviolet ejecutarán aplicaciones más rápido, pero usarán menos electricidad y producirán menos calor. Technology Review entrevistó a Goh sobre el proyecto el 2 de febrero.

Revisión de tecnología: ¿Cuáles son los objetivos del Proyecto Ultravioleta?

Eng Lim Goh: Ultraviolet es donde he pasado el 80 por ciento de mi tiempo durante los últimos tres años, con el objetivo de tener un sistema entregado para fines de esta década. Estamos construyendo ASIC [circuitos integrados específicos de la aplicación] para acelerar ciertas funciones de memoria y hacer que las aplicaciones funcionen mejor; y aquellos tienen un ciclo de desarrollo largo, típicamente dos años y medio.



Comenzamos con lo que tenemos, básicamente, un sistema capaz de una gran memoria. Creamos sistemas enormes, gestionando hasta 512 procesadores que comparten hasta decenas de terabytes de memoria. La ventaja de estos sistemas es que puede cargar enormes bases de datos en la memoria sin la ralentización diez veces mayor cuando tiene que obtener datos de un disco. Desea tener la capacidad de almacenar todos los datos en la memoria y desplazarse a alta velocidad, lo cual es importante para la inteligencia y el análisis empresarial avanzados.

Nuestros ASIC caben debajo del procesador [Intel] Itanium, con memoria debajo de cada uno de estos, y se comunican entre sí para brindar una vista única virtual de toda la memoria al usuario y al sistema operativo. Nos aseguramos de utilizar esta memoria estándar de bajo costo. Sin embargo, junto con esto vino la confiabilidad estándar. Entonces, en Ultraviolet estamos incorporando funciones para hacer que la memoria sea más confiable. Por ejemplo, hay agentes inteligentes en nuestro chipset que pueden salir y borrar la memoria no utilizada, para forzar a las partes que estaban a punto de fallar durante el proceso de depuración, no durante el proceso de aplicación. Los agentes desasignan rápidamente esa memoria, muy parecido a un disco defectuoso.

TR: Algo de lo que está haciendo, cuando habla de agentes, suena a lo que IBM llama computación autónoma.



ALCE: La gente usa diferentes nombres para hacer que la informática sea más autocurativa. Estábamos pensando en si deberíamos usar memoria autónoma o sistemas de autorreparación, como IBM y otros proveedores. Pero nos preocupamos un poco porque eso genera una expectativa muy alta.

TR: ¿Qué pasa con el problema del calor? Supongo que los sistemas que la gente construirá con sus sistemas de próxima generación tendrán incluso más de 512 procesadores, todos en una habitación, que emitirán enormes cantidades de calor.

ALCE: Podemos expulsar el calor de los racks con ventiladores más rápidos, pero luego la sala de ordenadores se vuelve muy difícil de enfriar. La única forma de lidiar con más calor es mover el calor más rápido. Hay salas de ordenadores donde, si abres una tabla del suelo, te dicen: 'No pongas el pie ahí', porque el aire se mueve a 100 kilómetros por hora.



Entonces, la otra parte de lo que queremos explorar con Ultraviolet es cómo reducir este calor y cómo lidiar con aplicaciones que no escalan [es decir, no se ejecutan tan rápido como se esperaba cuando se ejecutan en más procesadores en paralelo]. Estos dos están relacionados. Supongamos que una aplicación se ejecuta durante 100 segundos en un solo procesador. Y digamos que en 100 procesadores se ejecuta diez veces más rápido: se ejecuta durante 10 segundos. Esa es una gran mejora, pero está utilizando 100 veces más procesadores para lograrlo. Como tal, solo tiene un 10 por ciento de eficiencia; la aplicación consume diez veces más energía y emite diez veces más calor del necesario.

TR: Entonces, ¿cómo se puede hacer que las aplicaciones funcionen mejor?

ALCE: Una parte importante es la forma en que dividimos los problemas en pedazos y la forma en que los asignamos a los procesadores. Hicimos un análisis de alrededor de 50 aplicaciones de clientes para ver qué andaba mal con estas aplicaciones cuando se ejecutan en paralelo. Identificamos cuatro o cinco áreas principales.

Uno es la latencia [retrasos] de las comunicaciones. El problema es que la mayoría de las aplicaciones requieren una sincronización constante para asegurarse de que todos los procesos estén listos antes del siguiente paso del cálculo. Esta sincronización consume mucho tiempo. Es como tener seis personas tratando de pararse en línea recta: tienen que verificarse entre sí. Con 60, 600 o 6.000 personas, se necesita exponencialmente más tiempo para ponerse en línea recta.

En segundo lugar, después de la latencia, está el problema del ancho de banda de las comunicaciones. A veces, desea transferir una gran cantidad de datos y el grosor de la conexión entre los procesadores decidirá cuánto tiempo tardará en pasar esa gran cantidad de datos. Si estás esperando, no estás computando. Esa es otra área en la que cae la eficiencia.

La tercera área es el desequilibrio de carga, que es un gran problema. Supongamos que desea modelar el clima en su área. Usted asume que el volumen de aire en su área es un cubo enorme, lo divide en ocho subcubos y distribuye esos subcubos a diferentes procesadores. En un día en que el clima es homogéneo en todo el cubo grande, la carga de esos procesadores puede estar equilibrada; pero si hay turbulencia local en uno de los subcubos, habrá procesadores que se quedarán esperando mientras otros procesadores terminan.

La cuarta área es cuando una aplicación necesita un fragmento de datos y los datos no están en la propia caché del procesador, y tienen que salir a la memoria. Cuando se almacena en la memoria, hay un gran impacto de latencia.

Estos serían los principios del diseño ultravioleta [memoria más confiable, menos latencia de comunicaciones, más ancho de banda de comunicaciones, mejor equilibrio de carga y menos latencia de memoria]. Supongamos que tiene una aplicación que está superando los 128 procesadores, porque está obstaculizando la latencia de las comunicaciones. Este chip que estamos diseñando reducirá drásticamente la latencia, lo que ahora permitirá que esta aplicación se ejecute en más procesadores. O, si todavía está ejecutando la misma aplicación en 128 procesadores, debería funcionar mejor y generar menos calor.

Leyenda de la imagen de la página de inicio: Una vista desde la parte superior: Los puentes conectan los nodos de la supercomputadora SGI Altix de 20 nodos ubicada en las instalaciones de Supercomputación Avanzada de la NASA.

Imagen de la página de inicio cortesía del Centro de Investigación Ames de la NASA / Tom Trower

esconder