Le placement - ENSTA ParisTech

publicité
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
Téléchargement