Evaluating techniques for parallelization tuning in mpi, ompss and mpi/ompss

Tesis doctoral de Vladimir Subotic

La programación paralela consiste en dividir un problema de computación entre múltiples unidades de procesamiento y definir como interactúan (comunicación y sincronización) para garantizar un resultado correcto. El rendimiento de un programa paralelo normalmente está muy lejos de ser óptimo: el desequilibrio de la carga computacional y la excesiva interacción entre las unidades de procesamiento a menudo causa ciclos perdidos, reduciendo la eficiencia de la computación paralela. en esta tesis proponemos técnicas orientadas a explotar mejor el paralelismo en aplicaciones paralelas, poniendo énfasis en técnicas que incrementan el asincronismo. En teoría, estas técnicas prometen múltiples beneficios. Primero, tendrían que mitigar el retraso de la comunicación y la sincronización, y por lo tanto incrementar el rendimiento global. Además, la calibración de la paralelización tendría que exponer un paralelismo adicional, incrementando la escalabilidad de la ejecución. Finalmente, un incremente en el asincronismo proveería una tolerancia mayor a redes de comunicación lentas y ruido externo. en la primera parte de la tesis, estudiamos el potencial para la calibración del paralelismo a través de mpi. En concreto, exploramos técnicas automáticas para solapar la comunicación con la computación. Proponemos una técnica de mensajería especulativa que incrementa el solapamiento y no requiere cambios en la aplicación mpi original. Nuestra técnica identifica automáticamente la actividad mpi de la aplicación y la reinterpreta usando solicitudes mpi no bloqueantes situadas óptimamente. Demostramos que esta técnica maximiza el solapamiento y, en consecuencia, acelera la ejecución y permite una mayor tolerancia a las reducciones de ancho de banda. Aún así, en el caso de cargas de trabajo científico realistas, mostramos que el potencial de solapamiento está significativamente limitado por el patrón según el cual cada proceso mpi opera localmente en el paso de mensajes. en la segunda parte de esta tesis, exploramos el potencial para calibrar el paralelismo híbrido mpi/ompss. Intentamos obtener una comprensión mejor del paralelismo de aplicaciones híbridas mpi/ompss para evaluar de qué manera se ejecutarían en futuras máquinas. Exploramos como las aplicaciones mpi/ompss pueden escalar en una máquina paralela con centenares de núcleos por nodo. Además, investigamos cómo este paralelismo de cada nodo se reflejaría en las restricciones de la red de comunicación. En especia, nos concentramos en identificar secciones críticas de código en mpi/ompss. Hemos concebido una técnica que rápidamente evalúa, para una aplicación mpi/ompss dada y la máquina objetivo seleccionada, qué sección de código tendría que ser optimizada para obtener la mayor ganancia de rendimiento. también estudiamos técnicas para explorar rápidamente el paralelismo potencial de ompss inherente en las aplicaciones. Proporcionamos mecanismos para evaluar fácilmente el paralelismo potencial de cualquier descomposición en tareas. Además, describimos una aproximación iterativa para buscar una descomposición en tareas que mostrará el suficiente paralelismo en la máquina objetivo dada. Para finalizar, exploramos el potencial para automatizar la aproximación iterativa. en el trabajo expuesto en esta tesis hemos diseñado herramientas que pueden ser útiles para otros investigadores de este campo. La más avanzada es tareador, una herramienta para ayudar a migrar aplicaciones al modelo de programación mpi/ompss. Tareador proporciona una interfaz simple para proponer una descomposición del código en tareas ompss. tareador también calcula dinámicamente las dependencias de datos entre las tareas anotadas, y automáticamente estima el potencial de paralelización ompss. Por último, tareador da indicaciones adicionales sobre como completar el proceso de migración a ompss. Tareador ya se ha mostrado útil al ser incluido en las clases de programación de la upc.

 

Datos académicos de la tesis doctoral «Evaluating techniques for parallelization tuning in mpi, ompss and mpi/ompss«

  • Título de la tesis:  Evaluating techniques for parallelization tuning in mpi, ompss and mpi/ompss
  • Autor:  Vladimir Subotic
  • Universidad:  Politécnica de catalunya
  • Fecha de lectura de la tesis:  26/07/2013

 

Dirección y tribunal

  • Director de la tesis
    • Jesús José Labarta Mancho
  • Tribunal
    • Presidente del tribunal: bernd Mohr
    • german Rodriguez herrera (vocal)
    • (vocal)
    • (vocal)

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio