Computación Heterogénea de Alto Desempeño

La Computación de Alto Desempeño (High Performance Computing - HPC) es una tecnología clave en el desarrollo científico y tecnológico. Esta tecnología ha permitido atacar los "Grand Challenge" desde principios de la década del 90. Ella no solo tiene impacto en los grandes problemas de la ciencia, además genera mejoras en los procesos de producción de la ciencia y la tecnología de manera muy marcada. Aunque el país no cuenta con supercomputadoras en la lista de Top500, la problemática de buena utilización de todos los recursos computacionales no es menor, porque esto redunda en un mejor aprovechamiento de la inversión y en una mejora en el ciclo de producción de la ciencia.

Nuestro objetivo es utilizar todos los componentes de un supercomputador heterogéneo para mejorar el desempeño general de las supercomputadoras, atacando el problema dentro de la capa software. Nuestras hipótesis de trabajo se basan en que se está desperdiciando entre un 30% y un 70% de rendimiento en las supercomputadoras híbridas por el mal uso de las tecnologías CPU-GPU que parecieran a-priori difíciles de combinar para la solución de un único problema.

El objetivo general es buscar mayor utilización de todos los recursos computacionales en algoritmos numéricos intensivos en distintos puntos del espectro de la intensidad aritmética. Aunque existen diversidad de técnicas para aplicar, nos concentraremos en dos, el uso de run-time systems para la planificación de tareas heterogéneas y el uso de tecnologías de comunicación directa inter-nodo. Tomaremos un algoritmo representativo y mejoraremos no solo su desempeño, sino también su eficiencia energética. Contribuiremos a la comunidad científica y tecnológica nacional con guías generales para lograr un HPC de máximo desempeño.

Contaremos con servidores heterogéneos para el desarrollo y con el cluster Mendieta de última generación para las mediciones finales. Esperamos lograr mejoras significativas en el desempeño.

Además como subproductos tendremos guías generales para la comunidad de HPC nacional sobre como hacer códigos heterogéneos. Lograr esto resulta primordial ya que los grupos de investigación se beneficiarán con códigos óptimos en desempeño y eficiencia energética, se podrán reducir los costos de compra y funcionamiento de los clusters y se trasladará a la comunidad las experiencias en "HPC heterogéneo".

Este proyecto se realiza en conjunto con el grupo de GPGPU Computing y está financiado por la Universidad Nacional de Córdoba. Comenzó en el 2014 y se extiende por dos años.

Participantes

Nicolás Wolovick (Director)
Carlos Berderián (Co-Director)
Facundo Fabre
Lionel Hubmann
Ezequiel Torti López