Scaling et surcoˆ uts

Dans le document The DART-Europe E-theses Portal (Page 123-126)

4.2 Parall´elisation des noyaux

4.3.3 Scaling et surcoˆ uts

strong scaling. Le temps de restitution moyen des trois cas-tests 2D et des deux cas-tests sur-faciques sont donn´es `a la figure 4.20 quand tous les noyaux sont combin´es. Rappelons juste que l’hyperthreading est syst´ematiquement utilis´e surKNL(4 threads par core) afin d’att´enuer la latence relativement ´elev´ee des acc`es-m´emoire. Pour les cas-tests2D, nous utilisons en priorit´e laMCDRAMen le sp´ecifiant au pr´ealable au moment de l’ex´ecution par le biais de l’outil Linuxnumactl. N´eanmoins cela n’a pas ´et´e possible pour les cas-tests surfaciques car l’empreinte m´emoire exc`ede les limites de 16 Go de laMCDRAM.

Les cinq cas-tests ont `a peu pr`es le mˆeme profil de performances, et on obtient un bon strong scaling sur les deux architectures. Conform´ement `a nos attentes, l’ex´ecution est nettement plus lente (deux fois en planaire et quatre fois en surfacique) sur le nœud manycore (KNL)que sur les noeuds multicore (HSW, SKL). En fait cela est normal car leurs cores sont cadenc´es presque deux fois moins vite d’une part, et que chaque core dispose d’une m´emoire beaucoup plus limit´ee d’autre part.

53Cela correspond `a peu pr`es au coˆut d’une division enti`ere ou d’un appel de fonction enCen cycles CPU, cf. http://ithare.com/infographics-operation-costs-in-cpu-clock-cycles

c2018.HOBYRAKOTOARIVELO

Figure 4.20: Temps de restitution quand tous les noyaux sont combin´es.

• planaire. En fait nous n’avons obtenu aucune am´elioration significative par le recours `a la MCDRAMavec ou sans vectorisation. En effet les noyaux du remailleur ne sont pas limit´es par la bande passante. Ici l’efficacit´e tombe `a 30% sur KNL sur 256 threads (64 cores) en raison de plus fortes contentions `a l’acc`es aux donn´ees en cache/m´emoire, accentu´ees par le recours `a l’hyperthreading. N´eanmoins ils scalent mieux que surHSW`a nombre de cores moins ´elev´e.

• surfacique. Comme pr´evu le temps de calcul est beaucoup plus important qu’en2Dcar les noyaux sont clairement plus compliqu´es et n´ecessitent plus de calcul. Par contre ils passent mieux `a l’´echelle du fait qu’ils sont pluscompute-intensive. Pourengine, on a une efficacit´e de 75% sur KNLet68 % surHSW-SKL`a nombre maximal de cores. Par contre elle est r´eduite d’un facteur trois pour solut (qui consiste en une simplification) car les cores n’ont pas assez de tˆaches `a traiter. Enfin, notons queengineest plus coˆuteux quesoluten raison des traitements sp´ecifiques des ridges d’une part, et qu’on maintient la mˆeme r´esolutionnmax sur les it´er´es d’autre part.

Notons enfin qu’on continue d’obtenir une acc´el´eration substantielle surHSWetSKL`a nombre maximal de cores quand on active l’hyperthreading. En fait les effets NUMAsont significativement att´enu´es, grˆace `a notre restructurationlocality-aware des acc`es-m´emoire.

surcouts par noyau. La r´epartition du temps pass´e sur chaque vague synchrone est donn´ee `a la figure 4.21. Ici les surcoˆuts induits par la parall´elisation sont mis en rouge. Dans notre cas, ils n’exc`edent pas15%du temps de restitution tous noyaux confondus. De plus, ils sont n´egligeables dans le cas de la contraction et du lissage. En outre, on peut remarquer que ces ratios restent constants en d´epit du nombre de threads, et passent `a l’´echelle dans les mˆemes proportions que les autres vagues.

En fait, pour

• leraffinement, les op´erations sont structur´ees de sorte qu’aucune extraction explicite de tˆaches ne soit requise. De plus les requˆetes de voisinage induites par la vague de filtrage ne requi`erent pas d’avoir des donn´ees d’incidence compl`etement consistantes. En fait les listes d’incidences peuvent contenir des r´ef´erences obsol`etes mais toute nouvelle maille doit par contre ˆetre r´ef´erenc´ee dans les listes d’incidence de ses sommets. Ainsi, la vague d’´epuration induite par la synchronisation en deux temps n’est effectu´ee qu’`a la toute fin de la proc´edure pour ce noyau.

• lasimplification, la vague de filtrage requiert de reconstruire le voisinage de chaque pointp, afin de trouver le bon voisin candidatq vers lequelpdoit se fusionner (mˆeme en s´equentiel). Ainsi

c2018.HOBYRAKOTOARIVELO

Figure 4.21: R´epartition du coˆut de chaque vague synchrone par noyau.

c2018.HOBYRAKOTOARIVELO

le graphe primal doit ˆetre reconstruit en d´ebut d’it´er´e. Elle consiste essentiellement `a des acc`es-m´emoire mais repr´esente pr`es de22%du temps d’ex´ecution du noyau. Notons que reconstruire le voisinage d’un point n’implique qu’un seulniveau d’indirection dans notre cas, contrairement

`

a une carte combinatoire (listingsB.2etB.1, page153) : cela permet d’avoir un meilleur scaling.

• larelaxationdedegr´es, le surcout principal provient de la vague de couplage des mailles avec un ratio moyen de 15 %. Ici sa convergence est lin´eaire en la profondeur de recherche δG lors de l’extraction des chemins alternants. Notons que cette ´etape est tr`es irr´eguli`ere; et est asymp-totiquement en O(logn), n´etant le nombre de mailles actives. En pratique cette profondeur vaut approximativement4 avec un ordonnancement statique, et en moyenne la convergence est atteinte au bout de12it´er´es.

• lelissage, le graphe primal est construite au tout d´ebut du noyau, et aucune vague de synchroni-sation n’est requise car la topologie reste inchang´ee. En fait l’unique surcoˆut est relatif `a l’´etape de coloration du graphe pour ce noyau. En pratique, un faible nombre d’it´er´es est requis pour converger (approximativement3-4).

Dans le document The DART-Europe E-theses Portal (Page 123-126)