Imágenes de supercomputadora sin chips gráficos

Antes de que existieran los chips de procesamiento de gráficos especializados, los pioneros en el campo de la visualización usaban supercomputadoras multinúcleo para obtener datos en tres dimensiones. Sin embargo, hoy en día, la velocidad a la que las supercomputadoras pueden procesar datos supera rápidamente a la velocidad a la que pueden ingresar y enviar esos datos. Los clústeres de procesamiento de gráficos se están volviendo obsoletos.





Colapso del núcleo : Esta imagen, el paso 1492 de una simulación de una supernova de colapso del núcleo, se generó en la supercomputadora del Laboratorio Nacional Argonne, Intrepid, sin el uso de un grupo de gráficos.

Investigadores del Laboratorio Nacional Argonne y otros lugares están trabajando en una solución. En lugar de trasladar conjuntos de datos masivos a un clúster de procesamiento de gráficos especializado para la renderización, que es como se hacen las cosas ahora, están escribiendo un software que permite a los miles de procesadores en una supercomputadora hacer la visualización ellos mismos.

Tom Peterka y Rob Ross, científicos informáticos del Laboratorio Nacional Argonne, y Hongfeng Yu y Kwan-Liu Ma de la Universidad de California en Davis, han escrito software para Intrepid, una supercomputadora IBM Blue Gene / P, que pasa por alto el clúster de procesamiento de gráficos. enteramente. Nos permite [visualizar experimentos] en un lugar más cercano al lugar donde residen los datos: en la misma máquina, dice Peterka. La solución de su equipo evita la necesidad de tomar el paso lento de mover los datos desde donde se generaron a un grupo de computadoras secundario.



Los datos de prueba de Peterka, obtenidos de John Blondin de la Universidad Estatal de Carolina del Norte y Anthony Mezzacappa del Laboratorio Nacional Oak Ridge, representan 30 pasos secuenciales en la muerte explosiva simulada de una estrella, y son típicos del tipo de información que podría abordar una supercomputadora como la de Argonne. La prueba más grande de Peterka con los datos maximizados a una resolución tridimensional de 89 mil millones de vóxeles (píxeles tridimensionales) y resultó en imágenes bidimensionales de 4.096 píxeles en un lado. El procesamiento de los datos requirió 32,768 de los 163,840 núcleos de Intrepid. Las imágenes bidimensionales se generaron con un algoritmo de representación de volumen paralelo, un enfoque clásico para crear una instantánea bidimensional de un conjunto de datos tridimensional.

Normalmente, la visualización y el posprocesamiento de los datos generados por Intrepid, que, con 557 teraflops, es la séptima supercomputadora más rápida del mundo, requiere una unidad de procesamiento de gráficos separada conocida como Eureka. (Un teraflop equivale a un billón de cálculos por segundo). Construido a partir de GPU (unidades de procesamiento de gráficos) NVIDIA Quadro Plex S4, Eureka funciona a 111 teraflops. Las supercomputadoras más potentes, en el rango de petaflop, presentan desafíos aún mayores.

Cuanto más crecemos, más limitado es el problema por [velocidades de entrada / salida], dice Peterka. Simplemente escribir en el disco la cantidad de datos producidos por una simulación ejecutada en una supercomputadora petaflop podría llevar una cantidad de tiempo irrazonable. La razón es simple: de una generación de supercomputadora a la siguiente, la capacidad de almacenamiento y el ancho de banda de almacenamiento no aumentan tan rápidamente como la velocidad de procesamiento.

Esta disparidad significa que los futuros centros de supercomputación simplemente no podrán permitirse unidades de procesamiento de gráficos independientes. A petaescala, [unidades de procesamiento de gráficos independientes] son ​​menos rentables, dice Hank Childs , ingeniero de sistemas informáticos y experto en visualización en el Laboratorio Nacional Lawrence Berkeley. Childs señala que un grupo de visualización dedicado, como el de la supercomputadora Intrepid de Argonne, a menudo cuesta alrededor de $ 1 millón, pero en el futuro ese costo podría aumentar en un factor de 20.

Pat McCormick, que trabaja en la visualización en la supercomputadora más rápida del mundo, AMD Opteron e IBM Cell-powered Roadrunner en el Laboratorio Nacional de Los Alamos, dice que el trabajo de Peterka en la visualización directa de datos es fundamental porque estas máquinas se están volviendo tan grandes que realmente no las necesita. no tengo elección. Los métodos de visualización existentes basados ​​en GPU seguirán siendo apropiados solo para ciertos tipos de simulaciones, dice McCormick.

Si vas a consumir una supercomputadora completa con cálculos, no creo que tengas otra opción, dice McCormick. Si está ejecutando a esa escala, tendrá que hacer el trabajo en el lugar, porque tomaría una eternidad sacarlo, y ¿dónde más podrá procesar esa cantidad de datos?

Peterka, McCormick y Childs imaginan un futuro en el que las supercomputadoras realizan lo que se conoce como procesamiento in situ, en el que las simulaciones se visualizan mientras se ejecutan, en lugar de después del hecho.

La idea detrás del procesamiento in situ es que se omita la E / S por completo, dice Childs. Nunca escribes nada en el disco. Toma rutinas de visualización y las vincula directamente al código de simulación y genera una imagen a medida que ocurre.

Sin embargo, este enfoque no está exento de peligros. Por un lado, tomaría un segundo o más renderizar cada imagen, excluyendo la posibilidad de interactuar con modelos tridimensionales de manera natural. Otro escollo es el hecho de que interactuar con los datos de esta forma quema los ciclos de los mainframes más caros del mundo.

Las supercomputadoras son recursos increíblemente valiosos, señala Childs. Que alguien haga una simulación y luego interactúe con los datos durante una hora; es un recurso muy costoso mantenerlo como rehén durante una hora.

A medida que las computadoras de escritorio siguen a las supercomputadoras y GPU hacia el mundo de múltiples núcleos y procesamiento masivamente paralelo, Peterka especula que podría haber una tendencia a alejarse de los procesadores especializados para funciones particulares. AMD ya ofrece la biblioteca de código OpenCL, que hace posible ejecutar código diseñado para una GPU en cualquier chip x86, y viceversa.

Xavier Cavin, fundador y director ejecutivo de Scalable Graphics, una empresa que diseña software para las unidades de procesamiento de gráficos más grandes utilizadas por las empresas, señala que el primer algoritmo de procesamiento de volumen paralelo se ejecutó en las CPU de una supercomputadora. Después de eso, la gente comenzó a usar GPU y clústeres de GPU para hacer lo mismo, dice Cavin. Y ahora vuelve a las CPU. Ha vuelto al punto de partida.

esconder