A- 0/0 Aspects théoriques et algorithmiques du calcul réparti Placement - Compléments Patrick CIARLET Enseignant-Chercheur UMA patrick.ciarlet@ensta-paristech.fr Françoise LAMOUR franc.lamour@gmail.com Aspects théoriques et algorithmiques du calcul réparti A- 0/0 Approche qualitative (/) L approche qualitative consiste à trouver un isomorphisme entre le graphe de tâches et le graphe de la machine parallèle. Rappels : G T =(V T,E T ) et G P =(V P,E P ) sont isomorphes s il existe une fonction bijective M : V T! V P telle que (t, t ) " E T # (M(t ), M(t )) " E P. 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
A- 0/0 Approche qualitative (/) 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 : V T! V P qui maximise le nombre de tâches communicantes qui sont affectées à des nœuds voisins. Caractéristiques : le nombre de nœuds n est pas forcément égal au nombre de tâches, tâches communicantes ne sont pas automatiquement sur des nœuds communicants. Aspects théoriques et algorithmiques du calcul réparti A- 0/0 Placement sur un réseau re-configurable (/) Le problème : Affecter les tâches aux nœuds du réseau d interconnexion re-configurable de sorte qu il y ait exactement une tâche par nœud et que les tâches communicantes soient sur des nœuds directement reliés entre eux. Réseau d interconnexion re-configurable : liens par nœuds, structure fixe en anneau ( liens), structure re-configurable permettant de connecter n importe quel nœud à n importe quel autre nœud via un sélecteur programmable. Sélecteur programmable Aspects théoriques et algorithmiques du calcul réparti
A- 0/0 Placement sur un réseau re-configurable (/) Les graphes de tâches solutions sont tels que : Le nombre de tâches est égal au nombre de nœuds. Toute tâche communique au plus avec autres tâches. Chaque tâche a au plus deux voisines sur l anneau et deux voisines hors de l anneau (les nœuds i et (i -) ou (i +) modulo N sont voisins sur l anneau). Le problème est équivalent à celui de la recherche d un graphe partiel H = (V,F) de G tel que : (a) $ v "V, d G (v) - % d H (v) %, (b) Tout cycle de H est Hamiltonien. Aspects théoriques et algorithmiques du calcul réparti A- 0/0 Placement sur un réseau re-configurable (/) Les solutions : Graphe de degré % Arbre de degré % Graphe série parallèle de degré % Aspects théoriques et algorithmiques du calcul réparti
A- 0/0 Placement sur un réseau re-configurable (/) Un couplage de G = (V, E) est un sous-ensemble M de E tel que deux arêtes quelconques de M ne sont pas adjacentes. Un sommet u est saturé par un couplage M s il existe une arête de M incidente à u. Dans le cas contraire, u est insaturé. Un couplage est maximal s il n existe pas deux sommets adjacents de G insaturés, il est maximum si sa cardinalité est maximale. Aspects théoriques et algorithmiques du calcul réparti A- 0/0 Placement sur un réseau re-configurable (/) Un graphe est biparti s il existe une partition de l ensemble de ses sommets en deux sous-ensembles V et V telle que deux sommets quelconques du même sous-ensemble ne sont pas adjacents. Un graphe biparti possède un couplage saturant tous les sommets de degré maximum. Aspects théoriques et algorithmiques du calcul réparti 8
A- 0/0 Placement sur un réseau re-configurable (/) Propriétés de G = (V, E) de degré % : M un couplage maximal de G. S l ensemble des sommets saturés par M et U le sous-ensemble des sommets insaturés de degré. B = (U & S, F) où F est le sous-ensemble des arêtes de G dont une extrémité est dans S et l autre dans U : B est biparti, les sommets de U sont de degré dans B, les sommets de S sont de degré maximum dans B. M' un couplage de B saturant U. Il existe une solution : H = (V, M & M ). Aspects théoriques et algorithmiques du calcul réparti 9 A- 0/0 Placement sur un réseau re-configurable (/) 0 8 9 * 0 9 8 * * Couplage de G Couplage de B 8 9 0 Aspects théoriques et algorithmiques du calcul réparti 0
A- 0/0 Placement sur une ligne de nœuds (/) Le problème : deux tâches de même niveau sont affectées à des nœuds différents. le niveau d un sommet v dans un graphe est égal à la longueur du plus long chemin issu de v. deux tâches voisines sont affectées soit à des nœuds voisins soit au même nœud. Aspects théoriques et algorithmiques du calcul réparti A- 0/0 Placement sur une ligne de nœuds (/) Cas des arbres binaires : a b c d e f g P P P P a P P P P a b c b c d e f g pas solution d e f g solution Aspects théoriques et algorithmiques du calcul réparti
A- 0/0 Placement sur une ligne de nœuds (/) Le problème : une tâche par nœud, la distance maximale entre deux tâches voisines est minimale. Une variante : une tâche par nœud, le nombre de connexions à ajouter dans le réseau pour relier des tâches dépendantes est minimum. Aspects théoriques et algorithmiques du calcul réparti A- 0/0 Placement sur une ligne de nœuds (/) La solution : Un chemin couvrant optimal : un ensemble de chemins disjoints qui couvrent tous les sommets du graphe et dont le nombre d arêtes est maximum. Chemin couvrant optimal Liens à ajouter Aspects théoriques et algorithmiques du calcul réparti