Design of scalable PGAS collectives for NUMA and manycore systems

  1. Álvarez Mallón, Damián
Dirigida por:
  1. Guillermo L. Taboada Director

Universidad de defensa: Universidade da Coruña

Fecha de defensa: 27 de octubre de 2014

Tribunal:
  1. Francisco Fernández Rivera Presidente/a
  2. Juan Touriño Secretario
  3. Jorge González-Domínguez Vocal
  4. Rosa M Badia Vocal
  5. J. C. Mouriño Vocal
Departamento:
  1. Ingeniería de Computadores

Tipo: Tesis

Teseo: 373168 DIALNET lock_openRUC editor

Resumen

El número de núcleos por procesador está creciendo, convirtiendo a los sistemas multinúcleo en omnipresentes. Esto implica lidiar con múltiples niveles de memoria en sistemas NUMA, accesibles a través de complejas jerarquías para procesar las crecientes cantidades de datos. La clave para un movimiento eficiente y escalable de datos es el uso de operaciones de comunicación colectivas que minimizen el impacto de los cuellos de botella. Usar comunicaciones unilaterales se vuelve más importante en estos sistemas, para evitar sincronizaciones entre pares de procesos en operaciones colectivas implementadas usando funciones punto a punto bilaterales. Esta tesis propone una serie de algoritmos que proporcionan buen rendimiento y escalabilidad en operaciones colectivas. Estos algoritmos usan árboles jerárquicos, solapamento de comunicaciones unilaterais, pipelining de mensajes y afinidad NUMA. Se ha desarrollado una implementación para UPC, un lenguaje PGAS cuyo rendimiento también ha sido evaluado en esta tesis. Para comprobar el rendimiento de estos algoritmos una nueva herramienta de microbenchmarking fue diseñada e implementada. La evaluación de los algoritmos, realizada en 6 sistemas representativos, con 5 arquitecturas de procesador y 5 redes de interconexión diferentes, ha mostrado en general un buen rendimiento y escalabilidad, mejor que los algoritmos líderes en MPI en muchos casos, lo que confirma el potencial de los algoritmos desarrollados para arquitecturas multi- y manycore.