Un enfoque heterogéneo para resolver problemas de gráficos de análisis de big data - Calendae | Informática, Electrónica, CMS, Ciberseguridad

Un enfoque heterogéneo para resolver problemas de gráficos de análisis de big data

Hola y mil gracias por leerme. Te habla Simón Sánchez y esta vez te voy a hablar sobre Un enfoque heterogéneo para resolver problemas de gráficos de análisis de big data

Los servidores básicos de hoy, así como los sistemas diseñados específicamente para algoritmos numéricos intensivos («supercomputadoras»), no son adecuados para muchas aplicaciones en el mundo del análisis de big data. Estas aplicaciones a menudo utilizan algoritmos de manipulación de gráficos y estructuras de datos y se tratan mejor mediante extensiones arquitectónicas que no se encuentran en los sistemas básicos. El sistema de núcleo híbrido de Convey Computer Corporation adopta un enfoque heterogéneo para la resolución gráfica de problemas y el rendimiento resultante se caracteriza por los resultados de Graph500 Benchmark (www.graph500.org). Echemos un vistazo a las características arquitectónicas que aceleran los problemas de gráficos y cómo Convey implementó estas capacidades en su sistema de procesamiento reconfigurable.

Big Data Analytics y algoritmos gráficos

Muchas aplicaciones de análisis utilizan algoritmos de gráficos y estructuras de datos para permitir el descubrimiento de relaciones entre elementos de datos en una gran base de datos. En general, modelar estas relaciones en software y hardware es «razonablemente» fácil. (Digamos que los principales algoritmos de manipulación de gráficos son bastante simples, ¡la implementación en lo que respecta a una base de datos de varios petabytes puede no ser tan fácil!) Es posible construir estructuras de datos que contengan información sobre nodos específicos en un gráfico, conexiones y relaciones con otros nodos, etc.

Ciertamente, los problemas gráficos no son nuevos. Sin embargo, el uso de algoritmos de gráficos para recorrer gráficos que tienen miles de millones de nodos y bordes y requieren muchos terabytes de memoria es nuevo (y «diferente»). Y las arquitecturas informáticas que ejecutan eficazmente estos algoritmos también son nuevas; como afirma la National Science Foundation: «El procesamiento intensivo de datos requiere un conjunto de principios fundamentalmente diferente al procesamiento tradicional». [1]

Características arquitectónicas deseables

¿Qué tipo de características arquitectónicas son deseables en un sistema informático que ejecuta algoritmos de gráficos? A continuación, se muestran algunas de las características que pueden proporcionar el máximo rendimiento al menor costo / espacio / energía:

Equilibrio entre elementos computacionales y desempeño del subsistema de memoria. La mayoría de los problemas de uso intensivo de datos requieren recursos informáticos mínimos (especialmente en términos de operaciones móviles) y requieren un mayor rendimiento del subsistema de memoria. Idealmente, como en un sistema informático reconfigurable o híbrido, los elementos de procesamiento se pueden cambiar sobre la marcha para adaptarse a las necesidades de procesamiento de la aplicación.

Subsistema de memoria altamente paralelo y de gran ancho de banda. El ancho de banda de memoria alcanzable (no el pico) debe ser lo más alto posible. Además, se deben admitir muchos miles de solicitudes pendientes simultáneas para admitir el paralelismo y mitigar la latencia.

Máxima capacidad multihilo. Es deseable una combinación de requisitos informáticos y de memoria, la capacidad de admitir decenas o cientos de miles de subprocesos de ejecución simultánea. Un mayor paralelismo reduce los tiempos de respuesta, mejora la utilización del hardware y aumenta la eficiencia.

Primitivas de sincronización basadas en hardware. Con altos niveles de paralelismo, surge el desafío de sincronizar el acceso de lectura / escritura a las ubicaciones de la memoria. La integridad de los datos requiere que una operación de lectura-modificación-escritura en una ubicación de memoria sea una operación indivisible. Cuando el mecanismo de sincronización está “más lejos” de la operación, se tarda más en esperar la sincronización, con la correspondiente reducción en la eficiencia de la paralelización. Idealmente, la sincronización se implementa en hardware en el subsistema de memoria.

_______________________
[1] http://www.nsf.gov/funding/pgm_summ.jsp?pims_id=503324&org=IIS

El benchmark Graph 500

Reconociendo la necesidad de un conjunto de puntos de referencia que midan con mayor precisión el rendimiento en problemas de tipo gráfico, un comité directivo de expertos en HPC de la academia, la industria y los laboratorios nacionales creó el punto de referencia Graph500. El punto de referencia actualmente crea un gráfico no dirigido y mide el rendimiento de un kernel que realiza una búsqueda de gráficos amplia.[2][3]

El núcleo de la parte de búsqueda del punto de referencia (Figura 2) contiene múltiples construcciones comunes a muchos algoritmos gráficos, en particular un alto grado de paralelismo y referencias de memoria indirectas (o «vector índice»).

Figura 2. El núcleo del algoritmo de búsqueda en amplitud primero extraído del código de lanzamiento de graph500.

Computación híbrida y puntos de referencia Graph 500

Los sistemas de núcleo híbrido de Convey ofrecen una arquitectura equilibrada: elementos de procesamiento reconfigurables (a través de matrices de puertas programables en campo, FPGA) y un subsistema de memoria inspirado en la supercomputación (Figura 3).

Figura 3. Descripción general de la arquitectura de computación de núcleo híbrido.

_______________________
[2] http://www.graph500.org/index.html
[3] http://en.wikipedia.org/wiki/Breadth-first_search

La ventaja de la computación de núcleo híbrido es que el kernel intensivo de búsqueda de amplitud de Graph500 se implementa en hardware en los FPGA en el coprocesador. La implementación de FPGA permite mucho más paralelismo que un sistema comercial (el subsistema de memoria Convey permite hasta 8.192 referencias de memoria pendientes simultáneas). El mayor paralelismo combinado con la implementación de hardware de las partes lógicas del algoritmo permite un aumento en el rendimiento general con mucho menos hardware.

Además de aumentar el paralelismo, el subsistema de memoria de los sistemas Convey está diseñado específicamente para proporcionar un gran ancho de banda para referencias paralelas que muestran una mala ubicación (por ejemplo, ofrece un alto rendimiento para acceso aleatorio). Por lo tanto, la parte del código del vector de índice se acelera mucho en arquitecturas que no son adecuadas para el acceso aleatorio.

Resultados de rendimiento

La arquitectura del sistema de núcleo híbrido de Convey se adapta muy bien al punto de referencia Graph500 (Figura 4). Aunque el tamaño del problema se considera «pequeño» (lo cual es comprensible dado que el punto de referencia se ejecuta en un sistema de un solo nodo), el rendimiento por vatio y el rendimiento por dólar están mucho más allá de cualquier otro sistema en el lista.

La Figura 4 es una lista parcial (escala de problemas 28-31) de los resultados de rendimiento para la publicación de noviembre de 2011 del punto de referencia Graph500. Los requisitos de energía aproximados permiten una métrica arbitraria que ilustra la eficiencia energética (MTEPS / kw).

Figura 4. Rendimiento y potencia del punto de referencia Graph500 (para problemas de tamaño 28-31).[4]

Conclusiones

La explosión masiva de datos disponibles para el análisis y la comprensión está creando una «dimensión completamente nueva para HPC», con demandas en las arquitecturas HPC existentes que no pueden ser satisfechas por los sistemas básicos actuales. Las generaciones futuras de sistemas HPC deberán reconocer algunos de los requisitos arquitectónicos de los algoritmos de uso intensivo de datos. Por ejemplo, los subsistemas de memoria necesitarán aumentar el ancho de banda efectivo, se necesitará más paralelismo y las primitivas de sincronización deberán estar «más cerca» del subsistema de memoria.

Al implementar un enfoque híbrido equilibrado, la familia de sistemas de núcleo híbrido de Convey puede ejecutar problemas en las ciencias con uso intensivo de datos de manera mucho más eficaz. La arquitectura de núcleo híbrido está lista para niveles de procesamiento a exaescala en la ciencia intensiva en datos porque ofrece elementos de computación reconfigurables balanceados con un subsistema de memoria inspirado en supercomputadoras.

_______________________

[4] Se eliminó una entrada (n. ° 17) porque usaba un algoritmo BFS diferente.

Para más información, ver http://www.conveycomputer.com/sc11/

No te olvides compartir en una historia de tu Instagram para que tus colegas lo consulten

??? ? ? ???

Comparte