Gestion de l'hétérogénéité et des longues distances dans une grille de calcul
Hétérogénéité et longue distance dans les grilles 17 Mars Plan Contexte De la grappe à la grille Applications MPI Problèmatique Etat de l'art Les implantations standards : MPICH / LAM-MPI Les implantations pour les grappes Les implantations pour la grille •Solutions pour la longue distance •Solutions pour l’hétérogénéité Nos directions de recherche
Hétérogénéité et longue distance dans les grilles 17 Mars Niveau Grappe
Hétérogénéité et longue distance dans les grilles 17 Mars Niveau Grappe de grappes
Hétérogénéité et longue distance dans les grilles 17 Mars Niveau Grille
Hétérogénéité et longue distance dans les grilles 17 Mars 2006 Grid’5000 : Hétérogénéité et longue distance Orsay Rennes Lyon Bordeaux Nancy
Hétérogénéité et longue distance dans les grilles 17 Mars Applications MPI “ MPI est la spécification d’une bibliothèque standard fournissant un support pour l'exécution d'applications parallèles ” Fonctionne par passage de messages Fournit les squelettes d'une bibliothèque de fonctions (pour C, C++, Fortran) La version 2 ajoute un ensemble de fonctions pour des communications particulières (MPI_Get, MPI_Put, …) Différentes implantations
Hétérogénéité et longue distance dans les grilles 17 Mars 2006 Problèmatique Applications visées : les applis MPI (HPC) Plate-forme type : Grid’5000 Des implantations efficaces sur des grappes homogènes Des solutions très partielles pour la grille La grille apporte de nouvelles contraintes : Hétérogénéité des réseaux rapides Longue distance pour l’interconnexion des grappes Permettre le lancement d’applications MPI à l’échelle de la grille de manière optimale Optimiser les communications inter- grappes (via le WAN ou non)
Hétérogénéité et longue distance dans les grilles 17 Mars Plan Contexte De la grappe à la grille Applications MPI Problèmatique Etat de l'art Les implantations standards : MPICH / LAM-MPI Les implantations pour les grappes Les implantations pour la grille •Solutions pour la longue distance •Solutions pour l’hétérogénéité Nos directions de recherche
Hétérogénéité et longue distance dans les grilles 17 Mars Implantations standards de MPI MPICH La plus utilisée des implantations Construction modulaire, architecture en couches Bibliothèque libre, écrite en C Une version MPICH2 supporte MPI2 LAM/MPI Construction modulaire avec : •Plusieurs modules de progression •Plusieurs réseaux supportés (TCP, Myrinet, Infiniband) Nouvelle version OpenMPI (Regroupement de FT- MPI, LA-MPI, LAM/MPI, et PACX-MPI )
Hétérogénéité et longue distance dans les grilles 17 Mars 2006 MPICH : une architecture en couches
Hétérogénéité et longue distance dans les grilles 17 Mars Solutions pour les grappes Sur Ethernet MPICH ch_p4 [MPICH] Sur Myrinet MPICH-GM [Myricom] MPICH-MX [Myricom] Sur Infiniband MPI Infiniband [Liu-2004-SC] Quadrics MPI Quadrics [Yu-2005-IPDPS] Non adaptées aux grappes hétérogènes et à la longue distance mais efficaces pour ces réseaux spécifiques
Hétérogénéité et longue distance dans les grilles 17 Mars 2006 Comparaison réseaux rapides Latence et bande passante bi-directionnelle •Ping pong entre deux Intel Xeon 2,4 Ghz Source : [Liu-SC-2003]
Hétérogénéité et longue distance dans les grilles 17 Mars Solution pour les grappes de grappes GridMPI (Longue distance) [Matsuda-Clusters-2005] MPICH/G2 : (Hétérogénité, Abstraction) [Karonis-JPDC-2003] MPICH/MAD (Hétérogénéité) [Mercier-2004] [Aumage-IPDPS-2002] MetaMPICH (Hétérogénité, Abstraction) [Poeppe-IPDPS-2003] PACX-MPI (Hétérogénéité) [Gabriel-PVM/MPI-1998] OpenMPI [ MPICH-VMI [Pant-Cluster-2004]
Hétérogénéité et longue distance dans les grilles 17 Mars GridMPI Implantation japonaise (qui prend en compte l'hétérogénéité ?) et qui se concentre sur l'amélioration des communications TCP. Diminution du temps de retransmission après un time-out pour plus d’efficacité Estimation de la BP disponible au début et à la fin des communications pour commencer à un débit plus élevé Emploi d'un mécanisme de “ pacing ” pendant le slow start pour éviter les rafales (PSPacer) Utilisation de deux seuils de transmission : Un pour les opérations collectives Un pour les opérations point à point
Hétérogénéité et longue distance dans les grilles 17 Mars Structure de GridMPI GridMPI s’adapte à la latence observée Support des implantations de MPICH en tant que VendorMPI Source : [
Hétérogénéité et longue distance dans les grilles 17 Mars Comparaison des performances sur émulateur Variation de la latence (Bde pass. = 1Gbs). Source : [
Hétérogénéité et longue distance dans les grilles 17 Mars MPICH/G2 Basée sur MPICH et Globus Globus est une bibliothèque qui fournit un ensemble de services (sécurité, gestion des données, collaboration...) Masquage de l'hétérogénéité grâce à Globus Utilisation d'un langage de description de la topologie de la grille : RSL (un fichier par site) utilisation similaire à oargrid •Nombre d'ordinateurs •Nombre de processeurs •Mémoire •Temps de disponibilité •Paramètres d'exécution
Hétérogénéité et longue distance dans les grilles 17 Mars Fonctionnement de MPICH-G2 DUROC : permet de démarrer et de distribuer l'application GRAM : permet de démarrer l'application localement Sélection du meilleur mode de communication entre deux processus grâce à un système de couleurs
Hétérogénéité et longue distance dans les grilles 17 Mars MPICH-Madeleine Implantation francaise (LIP et LaBRI) Architecture modulaire, basée sur : Madeleine : Bibliothèque de communication. S'occupe des transferts vers les différents réseaux et de la gestion des sessions Marcel : Bibliothèque de processus léger. Permet de mettre en place une gestion peu couteuse des threads et un ordonnancement efficace. Support des réseaux Myrinet, SCI et GbEth
Hétérogénéité et longue distance dans les grilles 17 Mars MPICH-Madeleine Totalement hétérogène, permet l'exploitation des réseaux rapides grâce à un système de passerelles Fichiers de description de la topologie : Description des grappes Modes de communication entre ces grappes Implantation sur la grille déjà réalisée
Hétérogénéité et longue distance dans les grilles 17 Mars Architecture MPICH-Madeleine Source : [Mercier-2004]
Hétérogénéité et longue distance dans les grilles 17 Mars Comparaison MPICH-G2/MPICH-MAD Latence Ping-Pong entre un Athlon à 1,4Ghz équipé en Myrinet et un Intel Xeon à 2,4 Ghz équipé à la fois de cartes Myrinet et SCI Source : [Mercier-2004]
Hétérogénéité et longue distance dans les grilles 17 Mars Comparaison MPICH-G2/MPICH-MAD Bande Passante Ping-Pong entre un Athlon à 1,4Ghz équipé en Myrinet et un Intel Xeon à 2,4 Ghz équipé à la fois de cartes Myrinet et SCI Meilleure utilisation des réseaux rapides par MPICH- Madeleine Source : [Mercier-2004]
Hétérogénéité et longue distance dans les grilles 17 Mars MetaMPICH Implantation allemande qui permet de masquer l'hétérogénéité mais aussi de mieux utiliser les capacités de la grille. Description de chaque grappe grâce à un langage spécifique : •Type du réseau de la grappe •Liste des noeuds •Précision de l'adresse du noeud si celui-ci doit servir de passerelle. L'utilisateur ne se préoccupe pas de l'endroit où sont exécutés les processus Processus répartis selon les capacités des grappes
Hétérogénéité et longue distance dans les grilles 17 Mars Architecture de MetaMPICH Utilisation de deux modules : •ch_tunnel pour les com. locales •ch_gateway pour les com. externes Source : [Poeppe-PDPS-2003]
Hétérogénéité et longue distance dans les grilles 17 Mars Pacx-MPI Une des premières implémentations (1998) Conversion vers un langage commun (XDR- data) avant transmission Projet en “ stand-by ”, mais sans doute repris en partie dans OpenMPI
Hétérogénéité et longue distance dans les grilles 17 Mars Comparaison des implémentations
Hétérogénéité et longue distance dans les grilles 17 Mars Plan Contexte De la grappe à la grille Applications MPI Problèmatique Etat de l'art Les implantations standards : MPICH / LAM-MPI Les implantations pour les grappes Les implantations pour la grille •Solutions pour la longue distance •Solutions pour l’hétérogénéité Nos directions de recherche
Hétérogénéité et longue distance dans les grilles 17 Mars Nos directions de recherche MPICH/Mad sur Grid’5000 une série d’expérimentations Au niveau TCP Amélioration des communications TCP en prenant en compte les optimisations de GridMPI Voir si d'autres implantations de TCP (XCP...) seraient plus efficaces que GridMPI Travailler sur un passage direct Myrinet / Ethernet au niveau DMA ou au niveau driver Utiliser deux modules distincts : un pour le LAN et un pour le WAN avec des paramètrages différents Autres limitations de MPICH/Madeleine : goulot d’étranglement des passerelles Implanter un module pour Infiniband Optimiser le placement en fonction du schéma de communication de l'application