• Aucun résultat trouvé

A.2 Champ de tenseurs m´etriques

B.1.2 Cas des m´ethodes gloutonnes

B.1.2.2 Approches sp´eculatives

motivations. Ainsi malgr´e ses bonnes propri´et´es de convergence, une approche Monte-Carlo reste encore inadapt´ee `a notre contexte. En recherche d’une autre alternative, nous nous sommes tourn´es vers les approches sp´eculatives pour le calcul d’une partition de stables par le biais de coloring. Il s’agit d’algorithmes parall`eles structur´es en rounds (synchrone) et bas´es sur un sch´ema d’ex´ecution optimiste : une pseudo-solution ˜U est d’abord calcul´ee, et les erreurs sont ensuite r´esolues dans une ´etape `a part comme illustr´e sur la figureB.1. Ici, le caract`ere synchrone permet de mieux structurer la gestion des contentions d’acc`es en m´emoire partag´ee d’une part, et d’analyser la convergence de ces algorithmes d’autre part.

`

A l’instar des approches probabilistes, les approches sp´eculatives sont ´egalement bas´ees sur des heuristiques gloutonnes. Parmi les travaux plus r´ecents [204–206,211], un int´erˆet particulier est donn´e `a First-fit en raison de son efficacit´e en terme de ratio entre qualit´e de la solution U et complexit´e ou nombre de rounds. En vue d’inf´erer notre propre heuristique, nous nous sommes int´eress´es en particulier `a trois d’entre elles.

gebremedhin et al. La premi`ere version sp´eculative de First-fit a ´et´e initi´ee par Gebremedhin dans [205, 200], et est bas´ee sur une partition de G par blocs. L’id´ee est d’assigner une couleur en parall`ele sans se soucier des data races dans une phase dite de pseudo-coloration, puis de r´esoudre les conflits – c’est `a dire deux voisins ayant la mˆeme couleur – dans une phase de correction. Pour cela, le graphe est partitionn´e en k blocs Vi de tailles ´egales |Vi| ≈ dnpe qui seront ensuite assign´es aux k

c 2018. HOBY RA K OTO ARIVELO

144 B.1. Extraction de stable maximal

threads punais´es sur k cores. Pour chaque sommet, on choisit syst´ematiquement la plus petite couleur admissible par le biais de First-fit. La phase de correction est scind´ee en trois ´etapes synchrones5 :

• chaque stable Uj ∈ P est re-partitionn´e en k blocs, puis on proc`ede `a leur pseudo-coloration.

• les sommets conflictuels restants sont ensuite identifi´es et index´es dans une table R; • les sommets vi∈ R sont ensuite color´es en s´equentiel.

Ici la majorit´e des sommets de G est correctement color´e `a l’issue de la pseudo-coloration qui s’effectue de mani`ere compl`etement asynchrone6. `A l’issue de cette phase, le nombre de sommets conflictuels est

born´e par ∆¯2(p− 1) et est donc ind´ependante de n = |G|. Durant la correction, le nombre de sommets restants `a traiter en s´equentiel est born´e par n2p22et d´ecroˆıt significativement quand le ratio n

p est

grand.

c¸atalyurek et al. En d´epit du faible ratio de conflits, l’approche pr´ec´edente comporte une ´etape s´equentielle relative `a la phase de correction. En notant r le ratio du temps d’ex´ecution relative `a cette ´etape sur le temps de restitution, son acc´el´eration est born´ee par 1r quelque soit le nombre p de cores, d’apr`es la loi d’Amdahl. Dans ce cadre, une extension de l’algorithme a ´et´e d´evelopp´ee par C¸ atalyurek et al. dans [204], et d´edi´ee aux machines manycore et aux architectures massivement parall`eles. Ici l’id´ee est d’´eliminer l’´etape s´equentielle relative `a la correction. Ainsi l’algorithme ne comporte plus que deux phases synchrones relatives `a :

• la pseudo-coloration : chaque thread maintient un tableau local forbidden associant `a chaque sommet v les couleurs qui lui sont interdites car d´ej`a attribu´ees `a ses voisins.

• la d´etection de conflits : les threads r´eexaminent les couleurs d’un sous-ensemble de sommets marqu´es, et qui vont ensuite ˆetre recolor´es `a l’it´eration d’apr`es. En cas de conflit, le sommet voisin de plus petit ID est marqu´e comme ´etant `a recolorer et plac´e dans une liste de tˆaches R. Dans sa version g´en´erique, il s’agit d’une approche it´erative contrairement `a la pr´ec´edente. Elle ne n´ecessite aucun partitionnement de G mais implique deux barri`eres de synchronisation par it´er´e. Notons qu’une version dataflow a ´et´e con¸cue sp´ecialement pour le portage de l’algorithme sur une machine Cray XMT n´ecessitant une synchronisation `a granularit´e plus fine (pas de barri`ere mais des instructions d´edi´ees purge, readff, readfe, writeef, voir [220,221]), dans le but d’assigner un maximum de couleurs correctes et d´efinitives aux sommets d`es le premier it´er´e.

Aucune ´etude th´eorique n’est fournie quant `a la convergence et l’efficacit´e. N´eanmoins le nombre constat´e de conflits reste n´egligeable compar´e au ratio np. De plus, le nombre d’it´er´es ne croˆıt que de mani`ere logarithmique en p tandis que le nombre |R| de sommets `a traiter d´ecroit de mani`ere exponentielle `a chaque it´er´e.

rokos et al. Malgr´e une bonne vitesse de convergence et une bonne scalabilit´e sur des machines NUMA classiques (dual-socket Intel Nehalem et Sun Niagara avec 4 et 8 cores par socket) et massivement manycore (Cray XMT avec 128 nœuds reli´es par un DSM et 128 cores par nœud), l’approche pr´ec´edente implique une contrainte non n´egligeable : elle n´ecessite deux barri`eres par it´er´e. Ainsi les p´enalit´es li´ees au d´es´equilibre de charges entre les p cores croˆıt proportionnellement `a p et au nombre d’it´er´es. Dans l’optique d’en fournir une version plus asynchrone, une extension a ´et´e d´evelopp´ee par Rokos et al. dans [206]. Dans ce cadre, quand un sommet s’av`ere d´efectueux, il est imm´ediatement recolor´e au lieu de reporter le traitement `a l’it´er´e suivant, ce qui permet de lever la seconde barri`ere de synchronisation.

Ici encore aucune garantie th´eorique n’est donn´ee quant `a la convergence contrairement `a [205]. Le gain effectif par rapport `a l’approche pr´ec´edente est nuanc´e avec une acc´el´eration relative de 1.35 et un nombre d’it´er´es sensiblement identique sauf pour les instances de graphes tr`es irr´eguli`eres telles que RMAT-B[207]. En effet, on constate un ratio important de sommets correctement color´es d`es la premi`ere phase (pr`es de 70%) : ainsi le surcoˆut induit par le d´es´equilibre est due en grande partie `a la premi`ere barri`ere qui elle est in´evitable. De plus, la suppression de la seconde barri`ere induit un comportement

5Les ´etapes sont s´epar´es par des barri`eres de synchronisation. 6Elle ne requiert ni verrous, ni points de synchronisation.

c 2018. HOBY RA K OTO ARIVELO

inattendu sur les architectures SIMD : l’algorithme peut tomber dans une boucle infinie et ne jamais se terminer. C’est typiquement ce qui se passe lorsque deux threads ont syst´ematiquement la mˆeme vision de la plus petite couleur admissible car ils prennent les d´ecisions au sein d’un mˆeme cycle CPU.

Table B.2: Synth`ese d’approches gloutonnes parall`eles pour le calcul de stables.

approche avantages inconv´enients

Luby 4 bonne convergence en O(log n) 7 reg´en´eration coˆuteuse de graines.

4 faible probabilit´e que U? incorrecte 7 calcul coˆuteux du sous-graphe induit.

Gebremedhin

4 pseudo-coloration asynchrone 7 r´esolution s´equentielle de conflit.

4 nombre de conflits ind´ependant de n 7 ordonnancement fig´e.

4 routine non it´erative. 7 phase de correction multi-´etapes.

C¸atalyurek

4 r´esolution parall`ele de conflits. 7 routine it´erative.

4 nombre de conflits ncn´egligeable en np. 7 pas de borne th´eorique sur nc

4 granularit´e fine et convergence rapide 7 deux barri`eres par it´er´e : d´es´equilibre.

4 version dataflow massivement parall`ele 7 version dataflow non portable

Rokos

4 une seule barri`ere par it´er´e 7 pas de borne th´eorique sur nc et tmax.

4 faible nombre d’it´er´es tmax en pratique. 7 terminaison non garantie si SIMD.

4 efficace sur les graphes irr´eguliers 7 asynchrone : irr´egularit´e accrue

Documents relatifs