• Aucun résultat trouvé

Impact des m´ecanismes impl´ement´es sur les performances brutes

7.2 Micro-Benchmarks

7.2.1 Impact des m´ecanismes impl´ement´es sur les performances brutes

Afin d’´evaluer l’impact de PIOMANsur les performances brutes du r´eseau, nous pr´esentons tout d’abord des tests de latence et de d´ebit. Nous plac¸ons ici NEWMADELEINEet PIOMANdans une situation o`u ils ne peuvent que subir les communications sans les optimiser ni profiter des ´eventuels cœurs inutilis´es. Il s’agit ici d’´evaluer le surcoˆut de la gestion du multi-threading pour des applications mono-programm´ees. Pour cela, nous utilisons le programme NETPIPE[SMG96] qui effectue une s´erie d’aller-retour sur le r´eseau et qui mesure la dur´ee moyenne afin de calculer la latence et le d´ebit perc¸us par l’application lorsqu’elle communique.

7.2.1.1 Influence des m´ecanismes de protection

Nous ´evaluons tout d’abord l’impact qu’ont les m´ecanismes de protection contre les acc`es concurrents impl´ement´es dans NEWMADELEINE. Pour cela, nous comparons les r´esultats obtenus avec la version de NEWMADELEINE sans m´ecanisme de protection et la version supportant les acc`es concurrents. La d´etection des ´ev´enements est ici enti`erement g´er´ee par NEWMADELEINE et seuls les m´ecanismes de verrouillage sont ajout´es. Les modules logiciels MARCELet PIOMANsont donc charg´es en m´emoire, mˆeme s’ils ne sont pas utilis´es –aucun thread n’est lanc´e et la progression des communications est assur´ee par NEWMADELEINE. Les latences mesur´ees sur la grappe JOEpour les r´eseaux INFINIBAND

et MYRINETsont pr´esent´ees dans les Figures 7.3 et 7.4.

INFINIBAND. Alors que la latence obtenue avec la version de NEWMADELEINE ne supportant pas les acc`es concurrents est `a 2,05 µs, le m´ecanisme de verrouillage `a gros grain affiche une latence `a 2,19 µs. Ce surcoˆut de 150 ns correspond `a deux fois le temps n´ecessaire `a la prise et le relˆachement du verrou global. En effet, le verrou global est pris deux fois sur le chemin critique : lorsque l’application

7.2. MICRO-BENCHMARKS 91 0 1 2 3 4 5 6 7 8 1 2 4 8 16 32 64 128 256 512 1K 2K Latence (µs)

Taille des messages (octets) NewMadeleine

NewMadeleine (gros grain) NewMadeleine (grain fin)

FIGURE7.3 – Impact des m´ecanismes de protection sur la latence du r´eseau INFINIBAND

d´epose une requˆete `a la couche de collecte, et lorsque le paquet correspondant est soumis au r´eseau. Le coˆut correspondant `a la prise et le relˆachement d’un verrou (environ 70 ns) se retrouve donc deux fois. La latence obtenue avec le m´ecanisme de verrouillage `a grain fin est de 2,30 µs, ce qui repr´esente un surcoˆut l´eg`erement plus ´elev´e (250 ns). Cela est dˆu au nombre plus important de verrous `a prendre et relˆacher. En effet, les verrous sont pris trois fois sur le chemin critique : le verrou de la couche de collecte lorsque l’application d´epose un message et lorsque la strat´egie d’optimisation est appel´ee, et le verrou prot´egeant la liste des requˆetes d’un r´eseau lorsque le paquet est soumis au pilote.

MYRINET. Le test de latence sur le r´eseau MYRINETmontre des r´esultats similaires : la version ne supportant pas les acc`es concurrents affihce une latence de 2,62 µs alors que la latence obtenue avec le verrouillage `a gros grain est de 3 µs. Le surcoˆut est ici plus ´elev´e que pour le r´eseau INFINIBAND

`a cause du nombre plus ´elev´e de scrutations n´ecessaires pour d´etecter la terminaison d’une requˆete. En effet, MYRINETest l´eg`erement moins rapide que INFINIBANDet le nombre de scrutations (et donc de verrouillages) est plus ´elev´e pour MYRINET. Le m´ecanisme de verrouillage `a grain fin permet d’obtenir une latence `a 3,10 µs, ce qui repr´esente un surcoˆut suppl´ementaire de 100 ns par rapport au verrouillage `a gros grain.

Les m´ecanismes de verrouillage impl´ement´es dans NEWMADELEINEont donc un impact r´eduit sur les performances brutes du r´eseau. Le surcoˆut introduit par les m´ecanismes de protection reste constant et l’impact sur les d´ebits est donc n´egligeable.

92 CHAPITRE 7. ´EVALUATIONS 0 1 2 3 4 5 6 7 8 9 10 1 2 4 8 16 32 64 128 256 512 1K 2K Latence (µs)

Taille des messages (octets) NewMadeleine

NewMadeleine (gros grain) NewMadeleine (grain fin)

FIGURE7.4 – Impact des m´ecanismes de protection sur la latence du r´eseau MYRINET

7.2.1.2 D´el´egation de la d´etection des ´ev´enements

Nous ´evaluons ici l’impact de la d´el´egation de la d´etection des ´ev´enements. Pour cela, nous compa-rons les r´esultats obtenus avec une version de NEWMADELEINE supportant les acc`es concurrents (le m´ecanisme de verrouillage `a grains fins) et une autre version de NEWMADELEINEsimilaire, mais qui d´el`egue la d´etection des ´ev´enements r´eseau `a PIOMAN. Enfin nous comparons ces r´esultats `a ceux ob-tenus avec d’autres impl´ementations MPI. Dans tous les cas, les m´ecanismes de protection sont activ´es – i.e. MPI est initialis´e avec le modeMPI THREAD MULTIPLE – afin que les comparaisons aient un sens.

INFINIBAND. Comme le montre la figure 7.5, lorsque NEWMADELEINE se charge de la d´etection, la latence obtenue sur le r´eseau INFINIBAND est de 2,30 µs. Lorsque PIOMAN g`ere la progression des communications, la latence est de 2,47 µs. Ce surcoˆut est principalement dˆu aux m´ecanismes de verrouillage internes `a PIOMAN. Les performances obtenues avec PIOMANmontrent une diff´erence d’environ 700 ns par rapport aux performances d´elivr´ees par MVAPICH2 (1,63 µs) et par OPEN MPI (1,74 µs). Les d´ebits pr´esent´es dans la figure 7.6 sont ´egalement l´eg`erement diff´erents. En effet, OPEN

MPI et MVAPICH2 maintiennent un “cache d’enregistrement” qui permet de ne pas r´e-enregistrer une zone m´emoire en vue d’un transfert par DMA. Ce m´ecanisme n’est pas impl´ement´e dans NEWMADE

-LEINEet les d´ebits mesur´es – 1262 Mo/s ou 1268 Mo/s avec PIOMAN– sont donc l´eg`erement inf´erieurs `a ceux obtenus avec OPENMPI– 1294 Mo/s – et MVAPICH2– 1330 Mo/s.

MYRINET. La latence obtenue avec NEWMADELEINEest de 3,10 µs, comme le montre la figure 7.7. L’utilisation de PIOMANpour la d´etection des ´ev´enements permet d’obtenir une latence de 3,31 µs. Les performances sont proches de celles obtenues avec OPENMPI (3,01 µs de latence). La latence mesur´ee avec MPICH2 (2,64 µs) est, elle, environ 650 ns plus basse que celle obtenue avec PIOMAN. Les

7.2. MICRO-BENCHMARKS 93 0 1 2 3 4 5 6 7 8 9 1 2 4 8 16 32 64 128 256 512 1K 2K Latence (µs)

Taille des messages (octets) NewMadeleine (grain fin)

NewMadeleine + PIOMan (grain fin) OpenMPI MVAPICH2

FIGURE7.5 – Impact de PIOMANsur la latence du r´eseauINFINIBAND

0 200 400 600 800 1000 1200 1400 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M 2M 4M 8M Débit (Mo/s)

Taille des messages (octets)

NewMadeleine (grain fin) NewMadeleine + PIOMan (grain fin) OpenMPI MVAPICH2

94 CHAPITRE 7. ´EVALUATIONS 0 2 4 6 8 10 12 1 2 4 8 16 32 64 128 256 512 1K 2K Latence (µs)

Taille des messages (octets) NewMadeleine (grain fin)

NewMadeleine + PIOMan (grain fin) OpenMPI MPICH2:MX

FIGURE7.7 – Impact de PIOMANsur la latence du r´eseauMYRINET

0 200 400 600 800 1000 1200 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M 2M 4M 8M Débit (Mo/s)

Taille des messages (octets)

NewMadeleine (grain fin) NewMadeleine + PIOMan (grain fin) OpenMPI MPICH2:MX

7.2. MICRO-BENCHMARKS 95 d´ebits, pr´esent´es dans la figure 7.8, sont tous relativement semblable (entre 1164 et 1168 Mo/s). Cela est dˆu `a l’interface de communication MX qui n’expose pas les diff´erents m´ecanismes de transmission par le r´eseau tels que l’enregistrement m´emoire ou les transfert par DMA. Ainsi, seules de l´eg`ere variations diff´erencient les impl´ementations MPI test´ees.

7.2.1.3 Impact de PIOMANdans MPICH2

Nous ´evaluons ici l’impact des m´ecanismes de progression des communications impl´ement´es dans MPICH2. Pour cela, nous comparons les r´esultats obtenus avec MPICH2/NEWMADELEINE aux r´e-sultats d´elivr´es par la version utilisant PIOMANcomme moteur de progression.

Les r´esultats des tests de latence pour les r´eseaux MYRINET et INFINIBAND sont pr´esent´es dans les figures 7.9 et 7.10. Le surcoˆut introduit par l’utilisation de PIOMANest ´elev´e (environ 2.5 µs) et est caus´e par de nombreux m´ecanismes de protection. L’impl´ementation de m´ecanismes de protection moins p´enalisant est un travail qui reste `a faire afin de r´eduire `a quelques de nano-secondes le surcoˆut de l’utilisation de PIOMAN dans NEMESIS. Les surcoˆuts mesur´es sont constants et n’ont donc qu’une influence n´egligeable sur les d´ebits.

Une partie importante du travail effectu´e lors de l’int´egration de PIOMAN fut la d´etection des ´ev´e-nements d’entr´ees/sorties en m´emoire partag´ee. La figure 7.11 montre les r´esultats du test de latence en m´emoire partag´ee. Les processus MPI sont ici lanc´es sur une mˆeme machine et de telle sorte qu’ils s’ex´ecutent sur deux cœurs partageant un cache. Nous observons que l’utilisation de PIOMANpour la d´etection de message intra-nœuds entraˆıne un surcoˆut de moins de 50 ns. Les d´ebits mesur´es, pr´esent´es dans la figure 7.12, sont relativement similaires. Le d´ebit obtenu avec MVAPICH2 est tr`es r´eduit par rapport aux d´ebits de MPICH2 ou de OPENMPI. Cela peut s’expliquer par l’utilisation que fait MVA-PICH2 de la carte r´eseau INFINIBANDpour les communications locales, l`a o`u OPENMPI et MPICH2 utilisent un segment de m´emoire partag´ee.