viernes, 14 de diciembre de 2018

Llevando los grafos de bases de datos a las supercomputadoras

Moviendo las pruebas de grafos analíticos en las supercomputadoras hacia adelante


Jeffrey Burt | Next Platform





Si es la conferencia de supercomputación SC18, entonces debe haber listas. Muchos de ellos.

La muestra dos veces al año es más famosa por la lista Top500 de las supercomputadoras más rápidas del mundo que usan el banco de pruebas paralelo Fortpack de Linpack, una lista que ayuda a la industria a medir el progreso en el desempeño, la creciente influencia de las nuevas tecnologías como los aceleradores de GPU de Nvidia y AMD y el auge de las nuevas arquitecturas, como lo marcó este año con la introducción del primer supercomputador en la lista de procesadores basados ​​en Arm. La supercomputadora "Astra", construida por Hewlett Packard Enterprise e implementada en los Laboratorios Nacionales Sandia, se ejecuta en 125.328 núcleos Cavium ThunderX2 y ahora se encuentra en el número 205 de la ranura.

La lista también ayuda a alimentar la actual competencia mundial por la supremacía de las supercomputadoras, ya que Estados Unidos este año finalmente retomará el primer puesto del Sunway TaihuLight de China en julio con el sistema Summit basado en los motores informáticos IBM Power9 y Nvidia Volta, y luego en Sierra, una similar arquitectura de máquina, ocupando el segundo lugar en el show SC18 de esta semana en Dallas, llevó a TaihuLight al número tres. Sin embargo, China ahora reclama 227 sistemas, o aproximadamente el 45 por ciento del número total, en la lista de los Top500, con los Estados Unidos cayendo a un mínimo histórico de 109, o 22 por ciento.

El Green500 clasifica los supercomputadores en función de la eficiencia energética. El Shoubu System B, un grupo japonés construido por Pezy Computing, conserva el puesto número uno este año.

También en la lista de listas está el Graph500, que clasifica los sistemas según la forma en que ejecutan las cargas de trabajo intensivas en datos de rápido crecimiento utilizando algoritmos de análisis gráfico. La cantidad de tales aplicaciones de supercomputadoras está creciendo a medida que la cantidad de datos que se generan continúa acumulándose, y algunos en la industria creen que los puntos de referencia tradicionalmente utilizados para clasificar los sistemas de HPC para trabajos como las simulaciones de física en 3D no eran adecuados para cargas de trabajo intensivas en datos.

"No creo que sea un salto convencer a nadie hoy de que esto es importante porque, francamente, el mercado de análisis de datos ha crecido demasiado en HPC por un orden de magnitud", dijo Anton Korzh, arquitecto de sistemas de Micron Technology y miembro de Graph500. Comité ejecutivo, dijo durante el evento en el show de esta semana para lanzar la versión 17 de la lista. El primero salió en noviembre de 2010.

El Graph500 aborda dos núcleos de aplicación, la búsqueda concurrente marcada por la búsqueda y optimización de la amplitud (BFS), o la ruta más corta de una sola fuente (SSSP). Los planes están en marcha para un tercer núcleo para un conjunto independiente orientado hacia el borde o máximo, dijo Korzh. La lista aborda cinco áreas comerciales relacionadas con el gráfico de ciberseguridad, informática médica, enriquecimiento de datos, redes sociales y redes simbólicas.

El número de presentaciones ha aumentado de ocho en el primer año a 48 para la lista actual, que incluye dos nuevas entradas en el top ten y una vez más tenía la computadora K gigante en Japón y fue construida por Fujitsu en el primer lugar con 38,621.4 GTEPS , o aristas atravesadas por giga por segundo, la métrica utilizada por el Graph500. La computadora de K, de siete años, tiene 82.944 nodos y 663.552 núcleos Sparc64-XIIIfx. El Sunway TaihuLight ocupó el segundo lugar, seguido por Sequoia y Mira, ambos sistemas IBM BlueGene / Q que se ejecutan en los laboratorios nacionales de EE. UU., y SuperMUC-NG, un clúster de Lenovo ubicado en Alemania.



Pero cuando el comité de Graph500 celebró el lanzamiento de la lista más reciente, Roger Pearce, un científico informático del Centro de Computación Científica Aplicada (CASC) en el Laboratorio Nacional Lawrence Livermore, es el hogar del sistema BlueGene / Q “Sequoia” hecho por IBM también como el nuevo y brillante sistema Sierra, dijo que los cambios eran necesarios para que el Graph500 siga siendo relevante. Pearce habló durante el evento sobre el enfoque del laboratorio para usar NVRAM (memoria de acceso aleatorio no volátil) en Sierra cuando se trata de análisis de rendimiento y escala.

Sin embargo, al final de su presentación, Pearce instó a que se realicen cambios para que la lista sea un indicador importante en la industria. Necesita evolucionar o ya no será relevante. Una cosa que tiene que cambiar es el uso continuo de las etiquetas de vértice 0, N.

"Las etiquetas de vértices de 0 a N simplemente no son realistas", dijo. “Si queremos tratar de estar en un modo realista, necesitamos lidiar con etiquetas hiper-dispersas, hashes de 64 bits, tal vez incluso más que eso, específicamente con cardinalidad desconocida. Realmente no sabemos cuántos vértices hay, porque con conjuntos de vértices muy grandes, es realmente costoso volver a correlacionarlos con N. Este es un verdadero desafío. No es algo que incluso esté rastreado por el Graph500. Para todos los comentarios, necesitamos un Graph500 de transmisión, esto es como un paso de bebé para hacer eso. Si no puede hacer esto, ciertamente no puede hacer análisis de gráficos de transmisión. En mi opinión, la curación comenzará cuando nos alejemos de los datos estáticos CSR / CSC de la edad de piedra ".

Pearce tenía una visión similar de BSD.

“Una década de búsqueda de amplitud es suficiente. Es demasiado simple captar la intensidad de memoria / comunicación y el paralelismo de muchas analíticas importantes y muchas de las optimizaciones actuales no se transfieren a muchas analíticas importantes como la centralidad de Betweeness. No sé sobre usted, pero a menudo me preguntan: '¿Por qué hay miles de artículos en la búsqueda de resultados?' Y yo digo: 'Es una respuesta simple: el Graph500'. Tenemos que averiguar qué estamos tratando de capturar ".

No quiere decir que los últimos ocho años de trabajo hayan sido en vano. Ha habido avances significativos en los algoritmos de gráficos de memoria distribuida debido a los esfuerzos del Graph500, dijo. “Si recuerdas los primeros días, hubo un enorme escepticismo de que el análisis de gráficos de memoria distribuida funcionaría. Solían decir, 'BlueGenes nunca haría bien en el Graph500', y ahora lo han dominado durante cinco o seis años ".

Su lista de propuestas para el Graph500 para 2020 se está moviendo de 0, N graficando y "divide los bordes ingresados ​​en k contenedores, como los pasos de tiempo - 64, 16, no sé qué k debería ser. Agregue de manera incremental cada bandeja de borde en el gráfico y vuelva a calcular algunos analíticos, tal vez cuente duplicados para que las personas agreguen índices a sus listas de cobertura y cosas como esas, que son poderosas para los analíticos. Finalmente, la salida sería como, k resultados para cada borde o vértice dado su analítica ".

La analítica debería ser cualquier cosa menos BFS, con posibilidades como alternativas como la centralidad de Betweeness y la descomposición completa de K-core. Por último, dijo, dado lo difícil que es validar estos algoritmos de nivel superior, la validación debe usar pequeños gráficos de pruebas unitarias con una verdad básica precalculada.

Después de que Pearce habló, Peter Kogge, profesor de ciencias de la computación e ingeniería en Notre Dame y también miembro del comité ejecutivo de Graph500, secundó las sugerencias y agregó algunas de las suyas, incluido el uso de múltiples clases de vértices. Korzh dijo que Pearce hizo puntos justos que deberían ser considerados.

No hay comentarios:

Publicar un comentario