MPI Non-Blocking Collective Overlap on Manycore Processor

Hugo Taboada · theses.fr (ABES) · 2018

Les supercalculateurs utilisés dans le HPC sont constitués de plusieurs machines inter-connectées. Généralement, elles sont programmées à l'aide de MPI qui spécifie une interface de programmation échanger des messages entre les machines. Les opérations MPI non-bloquantes ont été proposées pour recouvrir les communications par du calcul afin d'en amortir le coût. Initialement, ces opérations étaient uniquement disponibles pour les opérations entre 2 processus MPI : les communications point-à-point. L'extension des communications non-bloquantes aux opérations impliquant plus de 2 processus MPI, les opérations collectives, est apparue dans la version 3.0 de la norme MPI en 2012. Cela a ouvert la possibilité de recouvrir les communications collectives non-bloquantes par du calcul. Cependant, ces opérations consomment plus de temps CPU que les opérations point-à-point. Nous proposons d'aborder ce problème sous plusieurs angles. D'une part, nous nous concentrons sur le placement des threads de progression générés par les collectives MPI non-bloquantes. Pour cela, nous proposons deux algorithmes de placement des threads de progression pour toutes les collectives MPI non-bloquantes. Le premier est de regrouper les threads de progression sur des cœurs libres. Le second est de placer les threads de progression sur les hyper-threads. Pour être plus efficace, nous nous concentrons ensuite sur l'optimisation de deux types d'algorithme utilisés pour les opérations collectives : les algorithmes en arbre et les algorithmes en chaîne. D'autre part, nous avons aussi étudié l'ordonnancement des threads de progression afin d'éviter l'exécution de threads inutiles à la progression de l'algorithme. Pour cela, nous proposons d'abord d'utiliser un mécanisme permettant de suspendre l'ordonnancement de ces threads, puis de forcer l'ordonnancement optimal des threads de progression de façon statique à l'aide de sémaphores. Enfin, une politique d'ordonnancement avec des priorités a été mise en place comme preuve de concept.

Read the paper · More papers on PaperTik