Un enfoque de implementación escalable holística del Método de Boltzmann en Redes para Clústeres Heterogéneos de CPU/GPU
Autores: Riesinger, Christoph; Bakhtiari, Arash; Schreiber, Martin; Neumann, Philipp; Bungartz, Hans-Joachim
Idioma: Inglés
Editor: MDPI
Año: 2017
Acceso abierto
Artículo científico
2017
Un enfoque de implementación escalable holística del Método de Boltzmann en Redes para Clústeres Heterogéneos de CPU/GPU
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería de Sistemas
Palabras clave
Clústeres
Supercomputadoras
CPUs
GPUs
Programación
Heterogéneo
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 22
Citaciones: Sin citaciones
Los cúmulos heterogéneos son una clase ampliamente utilizada de supercomputadoras ensambladas a partir de diferentes tipos de dispositivos informáticos, como CPUs y GPUs, que proporcionan un enorme potencial computacional. Programarlos de manera escalable para explotar el rendimiento máximo introduce numerosos desafíos, como optimizaciones para diferentes dispositivos informáticos, manejo de múltiples niveles de paralelismo, aplicación de diferentes modelos de programación, distribución de trabajo y ocultamiento de la comunicación con la computación. Utilizamos el método de Boltzmann en red para el flujo de fluidos como representante de una aplicación de computación científica y desarrollamos una implementación integral para cúmulos heterogéneos de gran escala de CPU/GPU. Revisamos y combinamos un conjunto de mejores prácticas y técnicas que van desde optimizaciones para los dispositivos informáticos particulares hasta la orquestación de decenas de miles de núcleos de CPU y miles de GPUs. Finalmente, llegamos a una implementación que utiliza todos los recursos computacionales disponibles para los operadores del método de Boltzmann en red. Nuestro enfoque muestra un excelente comportamiento de escalabilidad, lo que lo hace a prueba de futuro para cúmulos heterogéneos de las arquitecturas próximas a la escala de exaFLOPS. Se logran eficiencias paralelas de más de, lo que lleva a GLUPS utilizando 24,576 núcleos de CPU y 2048 GPUs del cúmulo heterogéneo de CPU/GPU Piz Daint y computando más de celdas en red.
Descripción
Los cúmulos heterogéneos son una clase ampliamente utilizada de supercomputadoras ensambladas a partir de diferentes tipos de dispositivos informáticos, como CPUs y GPUs, que proporcionan un enorme potencial computacional. Programarlos de manera escalable para explotar el rendimiento máximo introduce numerosos desafíos, como optimizaciones para diferentes dispositivos informáticos, manejo de múltiples niveles de paralelismo, aplicación de diferentes modelos de programación, distribución de trabajo y ocultamiento de la comunicación con la computación. Utilizamos el método de Boltzmann en red para el flujo de fluidos como representante de una aplicación de computación científica y desarrollamos una implementación integral para cúmulos heterogéneos de gran escala de CPU/GPU. Revisamos y combinamos un conjunto de mejores prácticas y técnicas que van desde optimizaciones para los dispositivos informáticos particulares hasta la orquestación de decenas de miles de núcleos de CPU y miles de GPUs. Finalmente, llegamos a una implementación que utiliza todos los recursos computacionales disponibles para los operadores del método de Boltzmann en red. Nuestro enfoque muestra un excelente comportamiento de escalabilidad, lo que lo hace a prueba de futuro para cúmulos heterogéneos de las arquitecturas próximas a la escala de exaFLOPS. Se logran eficiencias paralelas de más de, lo que lleva a GLUPS utilizando 24,576 núcleos de CPU y 2048 GPUs del cúmulo heterogéneo de CPU/GPU Piz Daint y computando más de celdas en red.