Placement A1-1 2012/2013 Aspects théoriques et algorithmiques du calcul réparti Le placement Patrick CIARLET Enseignant-Chercheur UMA [email protected] Françoise LAMOUR [email protected] Aspects théoriques et algorithmiques du calcul réparti 1 Placement A1-1 2012/2013 Références (1/2) • A shortest tree algorithm for optimal assignments across space and time in a distributed processor system. S. H. Bokhari. IEEE Transactions on Software Engineering, 1981, Vol. SE-7, n° 6. • Mapping graphs onto a partially reconfigurable architecture. P. Chrétienne et F. Lamour. Proceedings of the 2 nd European Conference on Distributed Memory Computing, 1991, pages 73-79. • On the mapping problem. S. H. Bokhari. IEEE Transactions on Computers, 1981, Vol. C-30. • Processor scheduling for linearly connected parallel processors. C. E. McDowell et W.F. Appelbe. IEEE Transactions on Computers, 1986, Vol. C-35. Et plus si affinités… Aspects théoriques et algorithmiques du calcul réparti 2 Placement A1-1 2012/2013 Références (2/2) • Fiber-to-objet assignment heuristics. F. Sourd et P. Chrétienne. European Journal of Operational Research, 1999, Vol. 117, pages 1-14. • A measure of similarity between graph vertices: applications to synomym extraction and web searching. V. D. Blondel, A. Gajardo, M. Heymans, P. Senellart et P. Van Dooren. SIAM Review, 2004, Vol. 46, n° 4, pages 647-666. Aspects théoriques et algorithmiques du calcul réparti 3 Placement A1-1 2012/2013 Plan du cours • • • • • Contexte Réseau d’interconnexion Problématique Approche quantitative Approche qualitative – Permutation de la matrice d’adjacence Aspects théoriques et algorithmiques du calcul réparti 4 Placement A1-1 2012/2013 Contexte • Le problème de placement est le problème d’affectation des tâches d’un programme parallèle sur les nœuds/processeurs d’une machine parallèle à mémoire distribuée. • Une machine parallèle est constituée de : – nœuds/processeurs (ressources de calcul et de stockage) ; – réseau d’interconnexion. • Une machine à mémoire distribuée est : – une machine où chaque processeur possède une mémoire locale qui ne peut pas être directement accédée par les autres processeurs. Les processeurs échangent des données via le réseau d’interconnexion. • Le problème de placement ne se pose pas pour une machine monoprocesseur ou une machine/unité à mémoire partagée, telle que les multi-cœurs ou les processeurs de cartes graphiques (GPU). Aspects théoriques et algorithmiques du calcul réparti 5 Placement A1-1 2012/2013 Réseau d’interconnexion (1/7) • Le réseau d’interconnexion relie entre eux les nœuds/processeurs (ressources de calcul + mémoire) d’une machine parallèle. • Il faut p x (p -1) liens pour relier complètement entre eux les p nœuds/processeurs d’une machine. Réseau complet de 8 nœuds/processeurs Aspects théoriques et algorithmiques du calcul réparti 6 Placement A1-1 2012/2013 Réseau d’interconnexion (2/7) • La plupart des réseaux d’interconnexion sont incomplets, c’est-àdire qu’ils possèdent moins de p x (p -1) liens pour relier p processeurs. • Les messages qui échangés entre deux processeurs non directement reliés entre eux doivent transiter par des processeurs intermédiaires. Ces processeurs sont appelés des nœuds/processeurs de routage. • Le nombre de liens à franchir pour aller du processeur émetteur au processeur récepteur représente la distance entre ces 2 processeurs. • La distance maximale entre deux processeurs représente le diamètre du réseau. Aspects théoriques et algorithmiques du calcul réparti 7 Placement A1-1 2012/2013 Réseau d’interconnexion (3/7) • La ligne de processeurs : – Dans une ligne de processeurs de dimension p, chaque processeur est connecté à 2 voisins immédiats à l’exception des extrémités. Ligne de 4 processeurs • L’anneau : – Dans un anneau de dimension p, tout processeur i est connecté aux processeurs i +1 et i -1 modulo p. Anneau de 4 processeurs Aspects théoriques et algorithmiques du calcul réparti 8 Placement A1-1 2012/2013 Réseau d’interconnexion (4/7) • La grille : – Dans une grille de dimension d, chaque processeur (à l’exception de ceux à la périphérie) est connecté à 2d voisins immédiats. Grille 2d 4x4 Aspects théoriques et algorithmiques du calcul réparti 9 Placement A1-1 2012/2013 Réseau d’interconnexion (5/7) • La grille torique : – Dans une grille torique de dimension d chaque processeur est connecté à 2d voisins immédiats. Tore 2d 4x4 Aspects théoriques et algorithmiques du calcul réparti 10 Placement A1-1 2012/2013 Réseau d’interconnexion (6/7) • L’hypercube : – Dans un hypercube de dimension d chacun des 2d processeurs est connecté à d processeurs. 00 10 0 101 1 11 01 d=0 100 110 010 000 d=1 d=2 001 111 011 d=4 d=3 Aspects théoriques et algorithmiques du calcul réparti 11 Placement A1-1 2012/2013 Réseau d’interconnexion (7/7) • Le système distribué : – Il est souvent utilisé pour connecter les stations de travail et les ordinateurs personnels. – Tous les ordinateurs reliés entre eux partagent un unique canal de communication (avec un débit/bande passante maximal). – Le réseau d’interconnexion peut être « à faible latence » via Ethernet, sans fil (WiFi), ou inclure un switch... Mac Mac Mac PC Mac Aspects théoriques et algorithmiques du calcul réparti 12 Placement A1-1 2012/2013 Problématique (1/4) • Comment affecter les tâches d’un programme parallèle sur les différents processeurs d’une machine parallèle de sorte que le temps d’exécution soit le plus petit possible ? • Les paramètres à prendre en compte sont : – – – – – le nombre de tâches, le nombre de processeurs, le graphe de communications entre les tâches, le réseau d’interconnexion entre les processeurs, le modèle de communication. Aspects théoriques et algorithmiques du calcul réparti 13 Placement A1-1 2012/2013 Problématique (2/4) T2 T1 T3 P2 T3 P1 T4 T1 T4 T2 Placement arbitraire Graphe de tâches P2 P1 T1 T4 T2 T3 Placement optimal Aspects théoriques et algorithmiques du calcul réparti 14 Placement A1-1 2012/2013 Problématique (3/4) • Soit A l’ensemble des affectations des tâches du programme parallèle aux processeurs de la machine, le problème de placement consiste à trouver une affectation a ! A telle que le temps d’exécution du programme est minimum. • Le problème général est NP-complet. • Les méthodes de résolution sont heuristiques. Aspects théoriques et algorithmiques du calcul réparti 15 Placement A1-1 2012/2013 Problématique (4/4) • Le problème du placement demande le plus souvent de faire un compromis acceptable entre : – maximiser le parallélisme en plaçant les tâches différentes sur des processeurs différents, – minimiser les communications en plaçant les tâches qui communiquent fréquemment sur le même processeur. Aspects théoriques et algorithmiques du calcul réparti 16 Placement A1-1 2012/2013 Approche quantitative (1/2) L’approche quantitative consiste : • à définir une fonction de coût intégrant les paramètres qui décrivent : – les caractéristiques du graphe de tâches (taille de chaque tâche, longueur des messages à échanger entre les tâches, ...), – les caractéristiques de la machine parallèle (vitesse de calcul et capacité mémoire de chaque processeur, vitesse de communication inter processeur, structure du réseau d’interconnexion, ...) ; • à rechercher un placement qui minimise cette fonction. Aspects théoriques et algorithmiques du calcul réparti 17 Placement A1-1 2012/2013 Approche quantitative (2/2) • Une formulation, où l’on suppose que les communications sont toutes séquentielles et qu’on peut négliger les temps d’attente : – Soient GT=(VT,ET) le graphe de tâches avec : • cT(t1, t2) le nombre de mots à envoyer entre la tâche t1 et la tâche t2, • wT(t) le nombre d‘instructions exécutées par la tâche t, – GP=(VP,EP) le graphe de processeurs avec : • cp(p1, p2) la vitesse de transfert par mot du lien entre les processeurs p1 et p2. • wP(p) la vitesse de calcul du processeur p. – et a : VT " VP l’affectation telle que : # (t1, t2) ! ET [cT(t1, t2) * cp(a(t1), a(t2))] + max p ! VP [ wP(p) * # t,a(t)=p wT(t)] soit minimum. Aspects théoriques et algorithmiques du calcul réparti 18 Placement A1-1 2012/2013 Approche qualitative (1/2) • L’approche qualitative consiste à trouver un isomorphisme entre le graphe de tâches et le graphe de processeurs représentatif de la machine parallèle. • Rappels : – GT=(VT,ET) et GP=(VP,EP) sont isomorphes s’il existe une fonction bijective M : VT " VP telle que (t1, t2) ! ET $ (M(t1), M(t2)) ! EP. – Des graphes isomorphes ont nécessairement : • le même nombre de sommets, • le même nombre d’arêtes, • un nombre égal de sommets de n’importe quel degré. Aspects théoriques et algorithmiques du calcul réparti 19 Placement A1-1 2012/2013 Approche qualitative (2/2) • On recherche en pratique un placement qui respecte au mieux la topographie de la machine parallèle. • Le problème revient à trouver une fonction de placement M : VT " VP qui maximise le nombre de tâches communicantes qui sont affectées à des processeurs voisins. • Caractéristiques : – le nombre de processeurs n’est pas forcément égal au nombre de tâches, – 2 tâches communicantes ne sont pas forcément sur des processeurs communicants. Aspects théoriques et algorithmiques du calcul réparti 20 Placement A1-1 2012/2013 Permutation de la matrice d’adjacence (1/2) • Matrice d’adjacence : – A = (Aij)ij ! RNxN est la matrice d’adjacence d’un graphe G=(V,E) de N sommets si Aij= 1 lorsque (vi , vj ) ! E dans G et Aij= 0 sinon. v1 v2 v4 v3 0111 1010 1101 1010 • Isomorphisme : – Est-il possible par permutation des lignes et des colonnes de la matrice d’adjacence du graphe de tâches d’obtenir la matrice d’adjacence des processeurs ? p1 p2 p4 p3 Graphe de processeurs 0101 1011 0101 1110 C2 % C3 / L2 % L3 L1 % L4 / C4 % C1 Matrice d’adjacence Permutations Aspects théoriques et algorithmiques du calcul réparti 21 Placement A1-1 2012/2013 Permutation de la matrice d’adjacence (2/2) • Heuristique : – a) 2 lignes ou 2 colonnes de la matrice d’adjacence du graphe de tâches sont permutées, – b) la nouvelle matrice obtenue est comparée à la matrice d’adjacence du graphe de processeurs : • Si le placement est meilleur on réitère les étapes a) et b) avec comme point de départ la nouvelle matrice. • Si le placement n’est pas meilleur on reprend les étapes a) et b) avec la matrice précédente. – c) l’algorithme s’arrête lorsque le placement ne peut plus être amélioré. & idée : des permutations aléatoires pour tenter de débloquer les situations apparemment impossibles à améliorer. Aspects théoriques et algorithmiques du calcul réparti 22