Evaluación de AzequiaMPI

Versión para impresiónVersión en PDF
Investigadores: 
  • Juan Carlos Díaz Martín del grupo GIM (Grupo de Ingeniería de Medios) del DISIT (Departamento de Ingeniería de Sistemas Informáticos y Telemáticos) y del DACC (Departamento de Arquitectura de Computadores y Comunicaciones) de la Universidad de Extremadura.
Objetivos: 
  • MPI es el estándar de hecho en la programación de supercomputadores. Las implementaciones actuales del estándar no consiguen escalar adecuadamente en arquitecturas basadas en clusters multicore o NUMA. Las aplicaciones deben ser construidas de forma que exploten el paralelismo en dos niveles: memoria distribuida mediante MPI, y memoria compartida mediante hilos (Open MP o Pthreads), en lo que se denomina sistema híbrido.
  • AzequiaMPI es la primera implementación completa del estándar MPI-1 basada en hilos y explota nativamente este tipo de sistemas. El objetivo fundamental del proyecto es evaluar la implementación actual en cuanto a rendimiento, escalabilidad y soporte para aplicaciones científicas. Para ello se compararán los resultados con otras implementaciones bien conocidas como MPICH2, Intel MPI o HP-MPI, y se mejorará, en lo posible, su comportamiento en grandes supercomputadores de memoria compartida.
Metodología: 

AzequiaMPI puede considerarse como una herramienta orientada a la construcción de aplicaciones distribuidas o paralelas en base a paso de mensajes, cuya evaluación y mejora será realizada en este proyecto. La evaluación consistirá en la ejecución de varias aplicaciones de medida de rendimiento (benchmarks); en el estudio de los resultados ofrecidos por ésta y otras implementaciones de paso de mensajes o PGAs; y en la aplicación de mejoras a la arquitectura objetivo y a otras más genéricas en base a la escalabilidad y los algoritmos internos de la biblioteca como, por ejemplo, las operaciones colectivas.

Objetivos alcanzados: 
  • Se ha desarrollado una nueva implementación de AzequiaMPI basada en una estructura de datos lock-free para explotar con más eficiencia las arquitecturas de memoria compartida el estándar MPI. Se está en proceso de evaluación de la implementación y contraste con el resto de implementaciones del estándar.
  • Se ha iniciado el estudio de disminución de consumo energético de las diferentas implementaciones del estándar MPI. Esperamos que las implementaciones basadas en bloqueo como AzequiaMPI mejoren las implementaciones actuales.
  • Se ha conseguido compilar y ejecutar una nueva implementación del estándar MPI-1.3 desarrollada en la Universidad de Extremadura denominada AzequiaMPI. Tiene dos modos de ejecución, una bloqueante (AzequiaMPI-BLK) y otra no bloqueante (AzequiaMPI-LFQ).
  • Se ha podido ejecutar benchmarks bien conocidos como HP-Linpack bajo la versión no bloqueante. El interés de ésta es que el procesador puede dedicarse a ejecutar otra aplicación MPI cuando la aplicación en curso está a la espera de recibir un mensaje. Otra posibilidad radica en detener el procesador para ahorrar energía.
Publicaciones y congresos: