30
Gestion de l'hétérogénéité et des longues distances dans une grille de calcul

Gestion de l'hétérogénéité et des longues distances dans une grille de calcul

Embed Size (px)

Citation preview

Page 1: Gestion de l'hétérogénéité et des longues distances dans une grille de calcul

Gestion de l'hétérogénéité et des

longues distances dans une grille de

calcul

Page 2: 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 2006

2

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

Page 3: 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 2006

3

Niveau Grappe

Page 4: 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 2006

4

Niveau Grappe de grappes

Page 5: 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 2006

5

Niveau Grille

Page 6: 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 2006

Grid’5000 : Hétérogénéité et longue distance

OrsayRennes

LyonBordeaux

Nancy

Page 7: 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 2006

7

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

Page 8: 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 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)

Page 9: 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 2006

9

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

Page 10: 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 2006

10

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 )

Page 11: 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 2006

MPICH : une architecture en couches

Page 12: 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 2006

12

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

Page 13: 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 2006

Comparaison réseaux rapides

Latence et bande passante bi-directionnelle• Ping pong entre deux Intel Xeon 2,4 Ghz

Source : [Liu-SC-2003]

Page 14: 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 2006

14

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 [www.open-mpi.org]

MPICH-VMI [Pant-Cluster-2004]

Page 15: 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 2006

15

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

Page 16: 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 2006

16

Structure de GridMPI

GridMPI s’adapte à la latence observéeSupport des implantations de MPICH en tant que VendorMPI

Source : [www.GridMpi.org]

Page 17: 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 2006

17

Comparaison des performances sur émulateur

Variation de la latence (Bde pass. = 1Gbs).

Source : [www.GridMpi.org]

Page 18: 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 2006

18

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

Page 19: 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 2006

19

Fonctionnement de MPICH-G2

DUROC : permet de démarrer et de distribuer l'applicationGRAM : permet de démarrer l'application localementSélection du meilleur mode de communication entre deux processus grâce à un système de couleurs

Page 20: 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 2006

20

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

Page 21: 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 2006

21

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

Page 22: 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 2006

22

Architecture MPICH-Madeleine

Source : [Mercier-2004]

Page 23: 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 2006

23

Comparaison MPICH-G2/MPICH-MADLatence

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]

Page 24: 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 2006

24

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

Sour

ce :

[M

erci

er-2

004]

Page 25: 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 2006

25

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

Page 26: 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 2006

26

Architecture de MetaMPICH

Utilisation de deux modules :• ch_tunnel pour les com. locales• ch_gateway pour les com. externes

Source : [Poeppe-PDPS-2003]

Page 27: 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 2006

27

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

Page 28: 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 2006

28

Comparaison des implémentations

Pac

x-M

PI

MP

ICH

-G2

Grid

MP

I

Met

aMP

ICH

MP

ICH

/MA

DIII

Hétérogénéité Via TCP Via TCP Via TCP Via passerelles Via paserelles

Longue distance Non Pas optimisé Oui Pas optimisé Pas optimisé

Dernier Papier 1998 2003 2005 2003 2004

Avantages

InconvénientsAssez lent

Fournit des services

Support efficace de

TCPSupport de

l'hétérogénéité

Support efficace de

l'hétérogénéité

Projet abandonné

Utilisation lourde de Globus

Très peu documenté

Com. TCP non optimale

Il est difficile de comparer les performances pures car les conditions de tests sont hétérogènes.

Page 29: 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 2006

29

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

Page 30: 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 2006

30

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