From: RCE Date: Sat, 12 Dec 2015 10:29:29 +0000 (+0100) Subject: RCE : Nouvelle version de la these X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/these_charles_emile.git/commitdiff_plain/0af348b9f9fa2f0bc44be5f4a129e869fbb7e5d4 RCE : Nouvelle version de la these --- diff --git a/1D-2D-3D Domain decomposition.pdf b/1D-2D-3D Domain decomposition.pdf index b044797..7f8e267 100644 Binary files a/1D-2D-3D Domain decomposition.pdf and b/1D-2D-3D Domain decomposition.pdf differ diff --git a/3D data partitionning btw 2 clusters.pdf b/3D data partitionning btw 2 clusters.pdf index e41073f..74a3fc8 100644 Binary files a/3D data partitionning btw 2 clusters.pdf and b/3D data partitionning btw 2 clusters.pdf differ diff --git a/Architecture des CPU multi-coeurs.pdf b/Architecture des CPU multi-coeurs.pdf index b4a1c71..e68b69b 100644 Binary files a/Architecture des CPU multi-coeurs.pdf and b/Architecture des CPU multi-coeurs.pdf differ diff --git a/Asynchronous iterations model.pdf b/Asynchronous iterations model.pdf index 0a39684..126c9f6 100644 Binary files a/Asynchronous iterations model.pdf and b/Asynchronous iterations model.pdf differ diff --git a/COMA architecture.pdf b/COMA architecture.pdf index 82be475..825f2a5 100644 Binary files a/COMA architecture.pdf and b/COMA architecture.pdf differ diff --git a/Evolution de la puissance de calcul mondiale.pdf b/Evolution de la puissance de calcul mondiale.pdf index bcc07df..91a9d0c 100644 Binary files a/Evolution de la puissance de calcul mondiale.pdf and b/Evolution de la puissance de calcul mondiale.pdf differ diff --git a/MIMD Distributed Memory.pdf b/MIMD Distributed Memory.pdf index be53196..60ee87d 100644 Binary files a/MIMD Distributed Memory.pdf and b/MIMD Distributed Memory.pdf differ diff --git a/MIMD Hybride.pdf b/MIMD Hybride.pdf index 6e722c5..e717ce4 100644 Binary files a/MIMD Hybride.pdf and b/MIMD Hybride.pdf differ diff --git a/MIMD Shared memory - SMP.pdf b/MIMD Shared memory - SMP.pdf index 839bef4..f38af36 100644 Binary files a/MIMD Shared memory - SMP.pdf and b/MIMD Shared memory - SMP.pdf differ diff --git a/NUMA architecture.pdf b/NUMA architecture.pdf index 68d7e6d..1ed7b52 100644 Binary files a/NUMA architecture.pdf and b/NUMA architecture.pdf differ diff --git a/Synchronous iterations model.pdf b/Synchronous iterations model.pdf index 304c482..e2cff98 100644 Binary files a/Synchronous iterations model.pdf and b/Synchronous iterations model.pdf differ diff --git a/These_RCE.aux b/These_RCE.aux index 97b0fdb..63a4a5b 100644 --- a/These_RCE.aux +++ b/These_RCE.aux @@ -24,17 +24,15 @@ \@writefile{toc}{\select@language{french}} \@writefile{lof}{\select@language{french}} \@writefile{lot}{\select@language{french}} -\@writefile{toc}{\contentsline {part}{I\hspace {1em}Contexte scientifique et revue de l'\IeC {\'e}tat de l'art}{3}{part.1}} +\@writefile{toc}{\contentsline {part}{I\hspace {1em}PARTIE I: Contexte scientifique et revue de l'\IeC {\'e}tat de l'art}{3}{part.1}} \@writefile{toc}{\contentsline {chapter}{\numberline {1}Cadre de travail et contexte scientifique}{5}{chapter.1}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {1.1}Classe des algorithmes it\IeC {\'e}ratifs parall\IeC {\`e}les \IeC {\`a} large \IeC {\'e}chelle dans une grille de calcul}{5}{section.1.1}} \newlabel{eq:1}{{1.1}{5}{Classe des algorithmes itératifs parallèles à large échelle dans une grille de calcul}{equation.1.1.1}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.1.1}Partitionnement du probl\IeC {\`e}me}{6}{subsection.1.1.1}} -\@writefile{lof}{\contentsline {figure}{\numberline {1.1}{\ignorespaces Partitionnement : D\IeC {\'e}coupage d'une matrice tridimensionnelle entre deux clusters form\IeC {\'e}s de 18 processeurs chacun}}{6}{figure.1.1}} -\newlabel{fig:decoupage}{{1.1}{6}{Partitionnement : Découpage d'une matrice tridimensionnelle entre deux clusters formés de 18 processeurs chacun}{figure.1.1}{}} -\@writefile{lof}{\contentsline {figure}{\numberline {1.2}{\ignorespaces Partitionnement : D\IeC {\'e}composition en domaines 1D, 2D et 3D}}{7}{figure.1.2}} -\newlabel{fig:Decompo}{{1.2}{7}{Partitionnement : Décomposition en domaines 1D, 2D et 3D}{figure.1.2}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {1.1}{\ignorespaces D\IeC {\'e}coupage d'une matrice tridimensionnelle entre deux clusters form\IeC {\'e}s de 18 processeurs chacun}}{6}{figure.1.1}} +\@writefile{lof}{\contentsline {figure}{\numberline {1.2}{\ignorespaces D\IeC {\'e}composition en domaines 1D, 2D et 3D}}{6}{figure.1.2}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.1.2}Modes d'ex\IeC {\'e}cution synchrone et asynchrone}{7}{subsection.1.1.2}} \@writefile{lof}{\contentsline {figure}{\numberline {1.3}{\ignorespaces Mod\IeC {\`e}le de communication synchrone}}{8}{figure.1.3}} \newlabel{fig:sync}{{1.3}{8}{Modèle de communication synchrone}{figure.1.3}{}} @@ -44,86 +42,102 @@ \@writefile{toc}{\contentsline {subsection}{\numberline {1.2.1}Algorithme de Jacobi}{9}{subsection.1.2.1}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.2.2}M\IeC {\'e}thode de r\IeC {\'e}solution GMRES}{9}{subsection.1.2.2}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.2.3}Solveur multisplitting}{9}{subsection.1.2.3}} -\@writefile{toc}{\contentsline {section}{\numberline {1.3}SIMGRID/SMPI : Simulateur d'ex\IeC {\'e}cution d'algorithmes parall\IeC {\`e}les MPI dans une grille de calcul}{10}{section.1.3}} -\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.1}MPI - Message Passing Interface}{10}{subsection.1.3.1}} -\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.2}Simulateur SIMGRID}{10}{subsection.1.3.2}} -\@writefile{toc}{\contentsline {section}{\numberline {1.4}Motivations}{10}{section.1.4}} -\@writefile{toc}{\contentsline {section}{\numberline {1.5}Conclusion partielle}{10}{section.1.5}} -\@writefile{toc}{\contentsline {chapter}{\numberline {2}Etat de l'art et travaux de recherche associ\IeC {\'e}s}{11}{chapter.2}} +\@writefile{toc}{\contentsline {section}{\numberline {1.3}Simulateurs d'ex\IeC {\'e}cution d'algorithmes parall\IeC {\`e}les MPI dans une grille de calcul}{9}{section.1.3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.1}Calcul sur grille}{9}{subsection.1.3.1}} +\@writefile{lof}{\contentsline {figure}{\numberline {1.5}{\ignorespaces Architecture d'une grille de calcul}}{10}{figure.1.5}} +\newlabel{fig:gridA}{{1.5}{10}{Architecture d'une grille de calcul}{figure.1.5}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {1.6}{\ignorespaces Grid'5000 : R\IeC {\'e}partition g\IeC {\'e}ographique}}{11}{figure.1.6}} +\newlabel{fig:grid5000RG}{{1.6}{11}{Grid'5000 : Répartition géographique}{figure.1.6}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.2}G\IeC {\'e}n\IeC {\'e}ralit\IeC {\'e}s sur la simulation}{11}{subsection.1.3.2}} +\newlabel{eqsim}{{1.8}{12}{Généralités sur la simulation}{equation.1.3.8}{}} +\@writefile{lot}{\contentsline {table}{\numberline {1.1}{\ignorespaces Quelques outils de simulation pour une grille de calcul}}{13}{table.1.1}} +\newlabel{table1}{{1.1}{13}{Quelques outils de simulation pour une grille de calcul}{table.1.1}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.3}MPI - Message Passing Interface}{13}{subsection.1.3.3}} +\@writefile{lof}{\contentsline {figure}{\numberline {1.7}{\ignorespaces Groupes et communicateur (a) - MPI - Op\IeC {\'e}rations collectives (b)}}{14}{figure.1.7}} +\newlabel{fig:MPI}{{1.7}{14}{Groupes et communicateur (a) - MPI - Opérations collectives (b)}{figure.1.7}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.4}Simulateur SIMGRID - SMPI}{15}{subsection.1.3.4}} +\@writefile{toc}{\contentsline {section}{\numberline {1.4}Motivations}{15}{section.1.4}} +\@writefile{toc}{\contentsline {section}{\numberline {1.5}Conclusion partielle}{15}{section.1.5}} +\@writefile{toc}{\contentsline {chapter}{\numberline {2}Etat de l'art et travaux de recherche associ\IeC {\'e}s}{17}{chapter.2}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {2.1}Concepts et d\IeC {\'e}finitions}{11}{section.2.1}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.1}Performance de l'application parall\IeC {\`e}le et scalabilit\IeC {\'e}}{11}{subsection.2.1.1}} -\newlabel{eq:5}{{2.1}{11}{Performance de l'application parallèle et scalabilité}{equation.2.1.1}{}} -\newlabel{eq:6}{{2.2}{12}{Performance de l'application parallèle et scalabilité}{equation.2.1.2}{}} -\newlabel{eq:7}{{2.3}{12}{Performance de l'application parallèle et scalabilité}{equation.2.1.3}{}} -\newlabel{eq:8}{{2.4}{12}{Performance de l'application parallèle et scalabilité}{equation.2.1.4}{}} -\newlabel{eq:9}{{2.5}{13}{Performance de l'application parallèle et scalabilité}{equation.2.1.5}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.2}Taux d'erreur lors de la pr\IeC {\'e}diction}{13}{subsection.2.1.2}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.3}Weak contre strong scaling}{13}{subsection.2.1.3}} -\@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces Weak vs Strong scaling: Temps d'ex\IeC {\'e}cution et Speedup}}{14}{figure.2.1}} -\newlabel{fig:scaling}{{2.1}{14}{Weak vs Strong scaling: Temps d'exécution et Speedup}{figure.2.1}{}} -\@writefile{toc}{\contentsline {section}{\numberline {2.2}Probl\IeC {\'e}matique sur la pr\IeC {\'e}diction \IeC {\`a} large \IeC {\'e}chelle de la performance des applications}{14}{section.2.2}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1}Facteurs li\IeC {\'e}s \IeC {\`a} l'\IeC {\'e}cosyst\IeC {\`e}me}{15}{subsection.2.2.1}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.1.1}Facteur architecture des processeurs}{16}{subsubsection.2.2.1.1}} -\@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces Architecture des CPU multicoeurs}}{17}{figure.2.2}} -\newlabel{fig:cpumulti}{{2.2}{17}{Architecture des CPU multicoeurs}{figure.2.2}{}} -\@writefile{lof}{\contentsline {figure}{\numberline {2.3}{\ignorespaces Mod\IeC {\`e}le MIMD Distribu\IeC {\'e}}}{18}{figure.2.3}} -\newlabel{fig:MIMDDM}{{2.3}{18}{Modèle MIMD Distribué}{figure.2.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.1.2}Facteur : M\IeC {\'e}moire et stockage}{18}{subsubsection.2.2.1.2}} -\@writefile{lof}{\contentsline {figure}{\numberline {2.4}{\ignorespaces Mod\IeC {\`e}le MIMD partag\IeC {\'e}}}{19}{figure.2.4}} -\newlabel{fig:MIMDSM}{{2.4}{19}{Modèle MIMD partagé}{figure.2.4}{}} -\@writefile{lof}{\contentsline {figure}{\numberline {2.5}{\ignorespaces Mod\IeC {\`e}le MIMD hybride}}{20}{figure.2.5}} -\newlabel{fig:MIMDHY}{{2.5}{20}{Modèle MIMD hybride}{figure.2.5}{}} -\@writefile{lof}{\contentsline {figure}{\numberline {2.6}{\ignorespaces Evolution de la puissance de calcul mondiale}}{21}{figure.2.6}} -\newlabel{fig:power}{{2.6}{21}{Evolution de la puissance de calcul mondiale}{figure.2.6}{}} -\@writefile{lof}{\contentsline {figure}{\numberline {2.7}{\ignorespaces M\IeC {\'e}moire MIMD: Architecture UMA}}{22}{figure.2.7}} -\newlabel{fig:UMA}{{2.7}{22}{Mémoire MIMD: Architecture UMA}{figure.2.7}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.1.3}Facteur : R\IeC {\'e}seaux de communication}{22}{subsubsection.2.2.1.3}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.2}Facteurs li\IeC {\'e}s au code de l'application}{22}{subsection.2.2.2}} -\@writefile{lof}{\contentsline {figure}{\numberline {2.8}{\ignorespaces M\IeC {\'e}moire MIMD: Architecture NUMA}}{23}{figure.2.8}} -\newlabel{fig:NUMA}{{2.8}{23}{Mémoire MIMD: Architecture NUMA}{figure.2.8}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.2.1}Facteur : Taille du probl\IeC {\`e}me}{23}{subsubsection.2.2.2.1}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.2.2}Performance de la parall\IeC {\'e}lisation}{23}{subsubsection.2.2.2.2}} -\newlabel{eq:10}{{2.6}{23}{Performance de la parallélisation}{equation.2.2.6}{}} -\@writefile{lof}{\contentsline {figure}{\numberline {2.9}{\ignorespaces M\IeC {\'e}moire MIMD: Architecture COMA}}{24}{figure.2.9}} -\newlabel{fig:COMA}{{2.9}{24}{Mémoire MIMD: Architecture COMA}{figure.2.9}{}} -\newlabel{eq:11}{{2.7}{24}{Performance de la parallélisation}{equation.2.2.7}{}} -\newlabel{eq:12}{{2.8}{24}{Performance de la parallélisation}{equation.2.2.8}{}} -\newlabel{eq:12}{{2.9}{25}{Performance de la parallélisation}{equation.2.2.9}{}} -\@writefile{toc}{\contentsline {section}{\numberline {2.3}Techniques de profiling et instrumentation des applications parall\IeC {\`e}les}{26}{section.2.3}} -\@writefile{toc}{\contentsline {section}{\numberline {2.4}M\IeC {\'e}thodes de pr\IeC {\'e}diction de la performance de l'application parall\IeC {\`e}le}{26}{section.2.4}} -\@writefile{toc}{\contentsline {section}{\numberline {2.5}Conclusion partielle}{26}{section.2.5}} -\@writefile{toc}{\contentsline {part}{II\hspace {1em}PARTIE II - Travaux de contributions, r\IeC {\'e}sultats et perspectives}{27}{part.2}} -\@writefile{toc}{\contentsline {chapter}{\numberline {3}Comparaison par simulation \IeC {\`a} large \IeC {\'e}chelle de la performance de deux algorithmes it\IeC {\'e}ratifs parall\IeC {\`e}les en mode asynchrone}{29}{chapter.3}} +\@writefile{toc}{\contentsline {section}{\numberline {2.1}Concepts et d\IeC {\'e}finitions}{17}{section.2.1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.1}Performance de l'application parall\IeC {\`e}le et scalabilit\IeC {\'e}}{17}{subsection.2.1.1}} +\newlabel{eq:5}{{2.1}{17}{Performance de l'application parallèle et scalabilité}{equation.2.1.1}{}} +\newlabel{eq:6}{{2.2}{18}{Performance de l'application parallèle et scalabilité}{equation.2.1.2}{}} +\newlabel{eq:7}{{2.3}{18}{Performance de l'application parallèle et scalabilité}{equation.2.1.3}{}} +\newlabel{eq:8}{{2.4}{18}{Performance de l'application parallèle et scalabilité}{equation.2.1.4}{}} +\newlabel{eq:9}{{2.5}{19}{Performance de l'application parallèle et scalabilité}{equation.2.1.5}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.2}Taux d'erreur lors de la pr\IeC {\'e}diction}{19}{subsection.2.1.2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.3}Weak contre strong scaling}{19}{subsection.2.1.3}} +\@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces Weak vs Strong scaling: Temps d'ex\IeC {\'e}cution et Speedup}}{20}{figure.2.1}} +\newlabel{fig:scaling}{{2.1}{20}{Weak vs Strong scaling: Temps d'exécution et Speedup}{figure.2.1}{}} +\@writefile{toc}{\contentsline {section}{\numberline {2.2}Probl\IeC {\'e}matique sur la pr\IeC {\'e}diction \IeC {\`a} large \IeC {\'e}chelle de la performance des applications}{20}{section.2.2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1}Facteurs li\IeC {\'e}s \IeC {\`a} l'\IeC {\'e}cosyst\IeC {\`e}me}{21}{subsection.2.2.1}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.1.1}Facteur architecture des processeurs}{22}{subsubsection.2.2.1.1}} +\@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces Architecture des CPU multicoeurs}}{23}{figure.2.2}} +\newlabel{fig:cpumulti}{{2.2}{23}{Architecture des CPU multicoeurs}{figure.2.2}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {2.3}{\ignorespaces Mod\IeC {\`e}le MIMD Distribu\IeC {\'e}}}{24}{figure.2.3}} +\newlabel{fig:MIMDDM}{{2.3}{24}{Modèle MIMD Distribué}{figure.2.3}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.1.2}Facteur : M\IeC {\'e}moire et stockage}{24}{subsubsection.2.2.1.2}} +\@writefile{lof}{\contentsline {figure}{\numberline {2.4}{\ignorespaces Mod\IeC {\`e}le MIMD partag\IeC {\'e}}}{25}{figure.2.4}} +\newlabel{fig:MIMDSM}{{2.4}{25}{Modèle MIMD partagé}{figure.2.4}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {2.5}{\ignorespaces Mod\IeC {\`e}le MIMD hybride}}{26}{figure.2.5}} +\newlabel{fig:MIMDHY}{{2.5}{26}{Modèle MIMD hybride}{figure.2.5}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {2.6}{\ignorespaces Evolution de la puissance de calcul mondiale}}{27}{figure.2.6}} +\newlabel{fig:power}{{2.6}{27}{Evolution de la puissance de calcul mondiale}{figure.2.6}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {2.7}{\ignorespaces M\IeC {\'e}moire MIMD: Architecture UMA}}{28}{figure.2.7}} +\newlabel{fig:UMA}{{2.7}{28}{Mémoire MIMD: Architecture UMA}{figure.2.7}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.1.3}Facteur : R\IeC {\'e}seaux de communication}{28}{subsubsection.2.2.1.3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.2}Facteurs li\IeC {\'e}s au code de l'application}{28}{subsection.2.2.2}} +\@writefile{lof}{\contentsline {figure}{\numberline {2.8}{\ignorespaces M\IeC {\'e}moire MIMD: Architecture NUMA}}{29}{figure.2.8}} +\newlabel{fig:NUMA}{{2.8}{29}{Mémoire MIMD: Architecture NUMA}{figure.2.8}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.2.1}Facteur : Taille du probl\IeC {\`e}me}{29}{subsubsection.2.2.2.1}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.2.2}Performance de la parall\IeC {\'e}lisation}{29}{subsubsection.2.2.2.2}} +\newlabel{eq:10}{{2.6}{29}{Performance de la parallélisation}{equation.2.2.6}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {2.9}{\ignorespaces M\IeC {\'e}moire MIMD: Architecture COMA}}{30}{figure.2.9}} +\newlabel{fig:COMA}{{2.9}{30}{Mémoire MIMD: Architecture COMA}{figure.2.9}{}} +\newlabel{eq:11}{{2.7}{30}{Performance de la parallélisation}{equation.2.2.7}{}} +\newlabel{eq:12}{{2.8}{30}{Performance de la parallélisation}{equation.2.2.8}{}} +\newlabel{eq:12}{{2.9}{31}{Performance de la parallélisation}{equation.2.2.9}{}} +\@writefile{toc}{\contentsline {section}{\numberline {2.3}Techniques d'analyse de performance des applications parall\IeC {\`e}les}{32}{section.2.3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.1}G\IeC {\'e}n\IeC {\'e}ralit\IeC {\'e}s et objectifs}{32}{subsection.2.3.1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.2}Approches et m\IeC {\'e}thodologie}{32}{subsection.2.3.2}} +\@writefile{lof}{\contentsline {figure}{\numberline {2.10}{\ignorespaces Classification des techniques d'analyse de la performance}}{33}{figure.2.10}} +\newlabel{fig:anaperf}{{2.10}{33}{Classification des techniques d'analyse de la performance}{figure.2.10}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.3}Quelques outils d'analyse de performance}{34}{subsection.2.3.3}} +\@writefile{toc}{\contentsline {section}{\numberline {2.4}M\IeC {\'e}thodes de pr\IeC {\'e}diction de la performance des applications parall\IeC {\`e}les}{35}{section.2.4}} +\@writefile{toc}{\contentsline {section}{\numberline {2.5}Conclusion partielle}{35}{section.2.5}} +\@writefile{toc}{\contentsline {part}{II\hspace {1em}PARTIE II - Travaux de contributions, r\IeC {\'e}sultats et perspectives}{37}{part.2}} +\@writefile{toc}{\contentsline {chapter}{\numberline {3}Comparaison par simulation \IeC {\`a} large \IeC {\'e}chelle de la performance de deux algorithmes it\IeC {\'e}ratifs parall\IeC {\`e}les en mode asynchrone}{39}{chapter.3}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {3.1}Protocoles et exp\IeC {\'e}rimentations}{29}{section.3.1}} -\@writefile{toc}{\contentsline {section}{\numberline {3.2}R\IeC {\'e}sultats}{29}{section.3.2}} -\@writefile{toc}{\contentsline {section}{\numberline {3.3}Conclusion partielle}{29}{section.3.3}} -\@writefile{toc}{\contentsline {chapter}{\numberline {4}Simulation avec SIMGRID de l\textquoteright ex\IeC {\'e}cution des solveurs lin\IeC {\'e}aires en mode synchrone et asynchrone sur un environnement multi-coeurs simul\IeC {\'e}s}{31}{chapter.4}} +\@writefile{toc}{\contentsline {section}{\numberline {3.1}Protocoles et exp\IeC {\'e}rimentations}{39}{section.3.1}} +\@writefile{toc}{\contentsline {section}{\numberline {3.2}R\IeC {\'e}sultats}{39}{section.3.2}} +\@writefile{toc}{\contentsline {section}{\numberline {3.3}Conclusion partielle}{39}{section.3.3}} +\@writefile{toc}{\contentsline {chapter}{\numberline {4}Simulation avec SIMGRID de l\textquoteright ex\IeC {\'e}cution des solveurs lin\IeC {\'e}aires en mode synchrone et asynchrone sur un environnement multi-coeurs simul\IeC {\'e}s}{41}{chapter.4}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {4.1}Protocoles et exp\IeC {\'e}rimentations}{31}{section.4.1}} -\@writefile{toc}{\contentsline {section}{\numberline {4.2}R\IeC {\'e}sultats}{31}{section.4.2}} -\@writefile{toc}{\contentsline {section}{\numberline {4.3}Conclusion partielle}{31}{section.4.3}} -\@writefile{toc}{\contentsline {chapter}{\numberline {5}Mod\IeC {\`e}le de pr\IeC {\'e}diction de la performance \IeC {\`a} large \IeC {\'e}chelle d'un algorithme it\IeC {\'e}ratif parall\IeC {\`e}le}{33}{chapter.5}} +\@writefile{toc}{\contentsline {section}{\numberline {4.1}Protocoles et exp\IeC {\'e}rimentations}{41}{section.4.1}} +\@writefile{toc}{\contentsline {section}{\numberline {4.2}R\IeC {\'e}sultats}{41}{section.4.2}} +\@writefile{toc}{\contentsline {section}{\numberline {4.3}Conclusion partielle}{41}{section.4.3}} +\@writefile{toc}{\contentsline {chapter}{\numberline {5}Mod\IeC {\`e}le de pr\IeC {\'e}diction de la performance \IeC {\`a} large \IeC {\'e}chelle d'un algorithme it\IeC {\'e}ratif parall\IeC {\`e}le}{43}{chapter.5}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {5.1}Approche et m\IeC {\'e}thodologie}{33}{section.5.1}} -\@writefile{toc}{\contentsline {section}{\numberline {5.2}Exp\IeC {\'e}rimentations et r\IeC {\'e}sultats}{33}{section.5.2}} -\@writefile{toc}{\contentsline {section}{\numberline {5.3}Conclusion partielle}{33}{section.5.3}} -\@writefile{toc}{\contentsline {chapter}{\numberline {6}Conclusion g\IeC {\'e}n\IeC {\'e}rale et perspectives}{35}{chapter.6}} +\@writefile{toc}{\contentsline {section}{\numberline {5.1}Approche et m\IeC {\'e}thodologie}{43}{section.5.1}} +\@writefile{toc}{\contentsline {section}{\numberline {5.2}Exp\IeC {\'e}rimentations et r\IeC {\'e}sultats}{43}{section.5.2}} +\@writefile{toc}{\contentsline {section}{\numberline {5.3}Conclusion partielle}{43}{section.5.3}} +\@writefile{toc}{\contentsline {chapter}{\numberline {6}Conclusion g\IeC {\'e}n\IeC {\'e}rale et perspectives}{45}{chapter.6}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {6.1}Conclusion g\IeC {\'e}n\IeC {\'e}rale}{35}{section.6.1}} -\@writefile{toc}{\contentsline {section}{\numberline {6.2}Travaux futurs et perspectives}{35}{section.6.2}} +\@writefile{toc}{\contentsline {section}{\numberline {6.1}Conclusion g\IeC {\'e}n\IeC {\'e}rale}{45}{section.6.1}} +\@writefile{toc}{\contentsline {section}{\numberline {6.2}Travaux futurs et perspectives}{45}{section.6.2}} \bibstyle{phdthesisapa} \bibdata{biblio.bib} -\@writefile{toc}{\contentsline {part}{III\hspace {1em}Annexes}{47}{part.3}} -\@writefile{toc}{\contentsline {chapter}{\numberline {A}Premier chapitre des annexes}{49}{appendix.A}} +\@writefile{toc}{\contentsline {part}{III\hspace {1em}Annexes}{57}{part.3}} +\@writefile{toc}{\contentsline {chapter}{\numberline {A}Premier chapitre des annexes}{59}{appendix.A}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {chapter}{\numberline {B}Second chapitre des annexes}{51}{appendix.B}} +\@writefile{toc}{\contentsline {chapter}{\numberline {B}Second chapitre des annexes}{61}{appendix.B}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} diff --git a/These_RCE.lof b/These_RCE.lof index 119827e..9cea16f 100644 --- a/These_RCE.lof +++ b/These_RCE.lof @@ -1,19 +1,23 @@ \select@language {french} \addvspace {10\p@ } -\contentsline {figure}{\numberline {1.1}{\ignorespaces Partitionnement : D\IeC {\'e}coupage d'une matrice tridimensionnelle entre deux clusters form\IeC {\'e}s de 18 processeurs chacun}}{6}{figure.1.1} -\contentsline {figure}{\numberline {1.2}{\ignorespaces Partitionnement : D\IeC {\'e}composition en domaines 1D, 2D et 3D}}{7}{figure.1.2} +\contentsline {figure}{\numberline {1.1}{\ignorespaces D\IeC {\'e}coupage d'une matrice tridimensionnelle entre deux clusters form\IeC {\'e}s de 18 processeurs chacun}}{6}{figure.1.1} +\contentsline {figure}{\numberline {1.2}{\ignorespaces D\IeC {\'e}composition en domaines 1D, 2D et 3D}}{6}{figure.1.2} \contentsline {figure}{\numberline {1.3}{\ignorespaces Mod\IeC {\`e}le de communication synchrone}}{8}{figure.1.3} \contentsline {figure}{\numberline {1.4}{\ignorespaces Mod\IeC {\`e}le de communication asynchrone}}{9}{figure.1.4} -\addvspace {10\p@ } -\contentsline {figure}{\numberline {2.1}{\ignorespaces Weak vs Strong scaling: Temps d'ex\IeC {\'e}cution et Speedup}}{14}{figure.2.1} -\contentsline {figure}{\numberline {2.2}{\ignorespaces Architecture des CPU multicoeurs}}{17}{figure.2.2} -\contentsline {figure}{\numberline {2.3}{\ignorespaces Mod\IeC {\`e}le MIMD Distribu\IeC {\'e}}}{18}{figure.2.3} -\contentsline {figure}{\numberline {2.4}{\ignorespaces Mod\IeC {\`e}le MIMD partag\IeC {\'e}}}{19}{figure.2.4} -\contentsline {figure}{\numberline {2.5}{\ignorespaces Mod\IeC {\`e}le MIMD hybride}}{20}{figure.2.5} -\contentsline {figure}{\numberline {2.6}{\ignorespaces Evolution de la puissance de calcul mondiale}}{21}{figure.2.6} -\contentsline {figure}{\numberline {2.7}{\ignorespaces M\IeC {\'e}moire MIMD: Architecture UMA}}{22}{figure.2.7} -\contentsline {figure}{\numberline {2.8}{\ignorespaces M\IeC {\'e}moire MIMD: Architecture NUMA}}{23}{figure.2.8} -\contentsline {figure}{\numberline {2.9}{\ignorespaces M\IeC {\'e}moire MIMD: Architecture COMA}}{24}{figure.2.9} +\contentsline {figure}{\numberline {1.5}{\ignorespaces Architecture d'une grille de calcul}}{10}{figure.1.5} +\contentsline {figure}{\numberline {1.6}{\ignorespaces Grid'5000 : R\IeC {\'e}partition g\IeC {\'e}ographique}}{11}{figure.1.6} +\contentsline {figure}{\numberline {1.7}{\ignorespaces Groupes et communicateur (a) - MPI - Op\IeC {\'e}rations collectives (b)}}{14}{figure.1.7} +\addvspace {10\p@ } +\contentsline {figure}{\numberline {2.1}{\ignorespaces Weak vs Strong scaling: Temps d'ex\IeC {\'e}cution et Speedup}}{20}{figure.2.1} +\contentsline {figure}{\numberline {2.2}{\ignorespaces Architecture des CPU multicoeurs}}{23}{figure.2.2} +\contentsline {figure}{\numberline {2.3}{\ignorespaces Mod\IeC {\`e}le MIMD Distribu\IeC {\'e}}}{24}{figure.2.3} +\contentsline {figure}{\numberline {2.4}{\ignorespaces Mod\IeC {\`e}le MIMD partag\IeC {\'e}}}{25}{figure.2.4} +\contentsline {figure}{\numberline {2.5}{\ignorespaces Mod\IeC {\`e}le MIMD hybride}}{26}{figure.2.5} +\contentsline {figure}{\numberline {2.6}{\ignorespaces Evolution de la puissance de calcul mondiale}}{27}{figure.2.6} +\contentsline {figure}{\numberline {2.7}{\ignorespaces M\IeC {\'e}moire MIMD: Architecture UMA}}{28}{figure.2.7} +\contentsline {figure}{\numberline {2.8}{\ignorespaces M\IeC {\'e}moire MIMD: Architecture NUMA}}{29}{figure.2.8} +\contentsline {figure}{\numberline {2.9}{\ignorespaces M\IeC {\'e}moire MIMD: Architecture COMA}}{30}{figure.2.9} +\contentsline {figure}{\numberline {2.10}{\ignorespaces Classification des techniques d'analyse de la performance}}{33}{figure.2.10} \addvspace {10\p@ } \addvspace {10\p@ } \addvspace {10\p@ } diff --git a/These_RCE.log b/These_RCE.log index f483b31..9eed2cc 100644 --- a/These_RCE.log +++ b/These_RCE.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.16 (MiKTeX 2.9) (preloaded format=pdflatex 2015.11.9) 19 NOV 2015 08:47 +This is pdfTeX, Version 3.14159265-2.6-1.40.16 (MiKTeX 2.9) (preloaded format=pdflatex 2015.11.9) 12 DEC 2015 10:00 entering extended mode **These_RCE.tex (These_RCE.tex @@ -988,6 +988,9 @@ Now handling font encoding PD1 ... defining Unicode char U+2122 (decimal 8482) defining Unicode char U+2423 (decimal 9251) )) +("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\multirow\multirow.sty" +\bigstrutjot=\dimen175 +) *** define extension value defensedate **** \c@upmmytheorem=\count159 (These_RCE.aux @@ -995,44 +998,44 @@ Now handling font encoding PD1 ... LaTeX Warning: Label `eq:12' multiply defined. ) -LaTeX Font Info: Checking defaults for OML/txmi/m/it on input line 189. -LaTeX Font Info: Try loading font information for OML+txmi on input line 189 +LaTeX Font Info: Checking defaults for OML/txmi/m/it on input line 191. +LaTeX Font Info: Try loading font information for OML+txmi on input line 191 . ("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\txfonts\omltxmi.fd" File: omltxmi.fd 2000/12/15 v3.1 ) -LaTeX Font Info: ... okay on input line 189. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 189. -LaTeX Font Info: ... okay on input line 189. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 189. -LaTeX Font Info: ... okay on input line 189. -LaTeX Font Info: Checking defaults for OMS/txsy/m/n on input line 189. -LaTeX Font Info: Try loading font information for OMS+txsy on input line 189 +LaTeX Font Info: ... okay on input line 191. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 191. +LaTeX Font Info: ... okay on input line 191. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 191. +LaTeX Font Info: ... okay on input line 191. +LaTeX Font Info: Checking defaults for OMS/txsy/m/n on input line 191. +LaTeX Font Info: Try loading font information for OMS+txsy on input line 191 . ("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\txfonts\omstxsy.fd" File: omstxsy.fd 2000/12/15 v3.1 ) -LaTeX Font Info: ... okay on input line 189. -LaTeX Font Info: Checking defaults for OMX/txex/m/n on input line 189. -LaTeX Font Info: Try loading font information for OMX+txex on input line 189 +LaTeX Font Info: ... okay on input line 191. +LaTeX Font Info: Checking defaults for OMX/txex/m/n on input line 191. +LaTeX Font Info: Try loading font information for OMX+txex on input line 191 . ("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\txfonts\omxtxex.fd" File: omxtxex.fd 2000/12/15 v3.1 ) -LaTeX Font Info: ... okay on input line 189. -LaTeX Font Info: Checking defaults for U/txexa/m/n on input line 189. -LaTeX Font Info: Try loading font information for U+txexa on input line 189. +LaTeX Font Info: ... okay on input line 191. +LaTeX Font Info: Checking defaults for U/txexa/m/n on input line 191. +LaTeX Font Info: Try loading font information for U+txexa on input line 191. ("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\txfonts\utxexa.fd" File: utxexa.fd 2000/12/15 v3.1 ) -LaTeX Font Info: ... okay on input line 189. -LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 189. -LaTeX Font Info: ... okay on input line 189. -LaTeX Font Info: Try loading font information for OT1+phv on input line 189. +LaTeX Font Info: ... okay on input line 191. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 191. +LaTeX Font Info: ... okay on input line 191. +LaTeX Font Info: Try loading font information for OT1+phv on input line 191. ("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\psnfss\ot1phv.fd" @@ -1041,25 +1044,25 @@ File: ot1phv.fd 2001/06/04 scalable font definitions for OT1/phv. ("C:\Program Files (x86)\MiKTeX 2.9\tex\context\base\supp-pdf.mkii" [Loading MPS to PDF converter (version 2006.09.02).] \scratchcounter=\count160 -\scratchdimen=\dimen175 +\scratchdimen=\dimen176 \scratchbox=\box75 \nofMPsegments=\count161 \nofMParguments=\count162 \everyMPshowfont=\toks42 \MPscratchCnt=\count163 -\MPscratchDim=\dimen176 +\MPscratchDim=\dimen177 \MPnumerator=\count164 \makeMPintoPDFobject=\count165 \everyMPtoPDFconversion=\toks43 ) -LaTeX Info: Redefining \degres on input line 189. -LaTeX Info: Redefining \dots on input line 189. -LaTeX Info: Redefining \up on input line 189. +LaTeX Info: Redefining \degres on input line 191. +LaTeX Info: Redefining \dots on input line 191. +LaTeX Info: Redefining \up on input line 191. Package frenchb.ldf Warning: OT1 encoding should not be used for French. (frenchb.ldf) Add \usepackage[T1]{fontenc} to the preamble -(frenchb.ldf) of your document, on input line 189. +(frenchb.ldf) of your document, on input line 191. *** Overriding the 'enumerate' environment. Pass option 'standardlists' for avo @@ -1067,7 +1070,7 @@ iding this override. *** Overriding the 'description' environment. Pass option 'standardlists' for a voiding this override. \AtBeginShipoutBox=\box76 -Package hyperref Info: Link coloring OFF on input line 189. +Package hyperref Info: Link coloring OFF on input line 191. ("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\hyperref\nameref.sty" Package: nameref 2012/10/27 v2.43 Cross-referencing by name of section @@ -1078,19 +1081,19 @@ Package: gettitlestring 2010/12/03 v1.4 Cleanup title references (HO) \c@section@level=\count166 LaTeX Info: Redefining \Ref on input line 513. ) -LaTeX Info: Redefining \ref on input line 189. -LaTeX Info: Redefining \pageref on input line 189. -LaTeX Info: Redefining \nameref on input line 189. +LaTeX Info: Redefining \ref on input line 191. +LaTeX Info: Redefining \pageref on input line 191. +LaTeX Info: Redefining \nameref on input line 191. (These_RCE.out) (These_RCE.out) \@outlinefile=\write3 -LaTeX Info: Redefining \Ref on input line 189. +LaTeX Info: Redefining \Ref on input line 191. ************ USE CUSTOM FRONT COVER - + File: spimufcphdthesis-frontpage.pdf Graphic file (type pdf) -Package pdftex.def Info: spimufcphdthesis-frontpage.pdf used on input line 189. +Package pdftex.def Info: spimufcphdthesis-frontpage.pdf used on input line 191. (pdftex.def) Requested size: 600.00493pt x 855.03816pt. [1 @@ -1100,39 +1103,39 @@ Package pdftex.def Info: spimufcphdthesis-frontpage.pdf used on input line 189. phdthesis-frontpage.pdf>] [2 ] - + File: spimufcphdthesis-p3-head.pdf Graphic file (type pdf) -Package pdftex.def Info: spimufcphdthesis-p3-head.pdf used on input line 189. +Package pdftex.def Info: spimufcphdthesis-p3-head.pdf used on input line 191. (pdftex.def) Requested size: 600.0pt x 285.92554pt. LaTeX Font Info: Font shape `OT1/phv/bx/n' in size <10.95> not available -(Font) Font shape `OT1/phv/b/n' tried instead on input line 189. -LaTeX Font Info: Try loading font information for OT1+txr on input line 189. +(Font) Font shape `OT1/phv/b/n' tried instead on input line 191. +LaTeX Font Info: Try loading font information for OT1+txr on input line 191. ("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\txfonts\ot1txr.fd" File: ot1txr.fd 2000/12/15 v3.1 ) -LaTeX Font Info: Try loading font information for U+txmia on input line 189. +LaTeX Font Info: Try loading font information for U+txmia on input line 191. ("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\txfonts\utxmia.fd" File: utxmia.fd 2000/12/15 v3.1 ) -LaTeX Font Info: Try loading font information for U+txsya on input line 189. +LaTeX Font Info: Try loading font information for U+txsya on input line 191. ("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\txfonts\utxsya.fd" File: utxsya.fd 2000/12/15 v3.1 ) -LaTeX Font Info: Try loading font information for U+txsyb on input line 189. +LaTeX Font Info: Try loading font information for U+txsyb on input line 191. ("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\txfonts\utxsyb.fd" File: utxsyb.fd 2000/12/15 v3.1 ) -LaTeX Font Info: Try loading font information for U+txsyc on input line 189. +LaTeX Font Info: Try loading font information for U+txsyc on input line 191. ("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\txfonts\utxsyc.fd" @@ -1148,9 +1151,12 @@ LaTeX Font Info: Font shape `OT1/phv/bx/n' in size <12> not available Underfull \vbox (badness 1259) has occurred while \output is active [] [7] -[8]) +Underfull \vbox (badness 10000) has occurred while \output is active [] + + [8]) \tf@toc=\write4 - [9] [10 + +[9] [10 ] [1 @@ -1158,46 +1164,54 @@ Underfull \vbox (badness 1259) has occurred while \output is active [] ] [4] Chapitre 1. + +LaTeX Warning: Reference `fig:decoupage' on page 5 undefined on input line 277. + + [5 -] <"3D data partitionning btw 2 clusters".pdf, id=542, 614.295pt x 794.97pt> +] +<"3D data partitionning btw 2 clusters".pdf, id=421, 521.95pt x 347.2975pt> File: "3D data partitionning btw 2 clusters".pdf Graphic file (type pdf) Package pdftex.def Info: "3D data partitionning btw 2 clusters".pdf used on inp -ut line 278. -(pdftex.def) Requested size: 227.62303pt x 227.62413pt. +ut line 284. +(pdftex.def) Requested size: 156.49014pt x 104.12645pt. -<"1D-2D-3D Domain decomposition".pdf, id=543, 614.295pt x 794.97pt> +<"1D-2D-3D Domain decomposition".pdf, id=422, 229.85875pt x 520.94624pt> File: "1D-2D-3D Domain decomposition".pdf Graphic file (type pdf) Package pdftex.def Info: "1D-2D-3D Domain decomposition".pdf used on input line - 280. -(pdftex.def) Requested size: 227.62303pt x 227.62413pt. + 289. +(pdftex.def) Requested size: 156.49014pt x 354.6839pt. +Underfull \vbox (badness 10000) has occurred while \output is active [] -LaTeX Warning: `h' float specifier changed to `ht'. + [6 <./3D data partitionning btw 2 clusters.pdf> <./1D-2D-3D Domain decompositi +on.pdf>] + +LaTeX Warning: Reference `fig:Decompo' on page 7 undefined on input line 356. -[6 <./3D data partitionning btw 2 clusters.pdf>] -<"Synchronous iterations model".pdf, id=561, 614.295pt x 794.97pt> +<"Synchronous iterations model".pdf, id=432, 597.51233pt x 845.0471pt> File: "Synchronous iterations model".pdf Graphic file (type pdf) Package pdftex.def Info: "Synchronous iterations model".pdf used on input line -359. -(pdftex.def) Requested size: 227.62303pt x 227.62413pt. +376. +(pdftex.def) Requested size: 227.62231pt x 227.6242pt. LaTeX Warning: `h' float specifier changed to `ht'. -<"Asynchronous iterations model".pdf, id=562, 614.295pt x 794.97pt> +<"Asynchronous iterations model".pdf, id=433, 546.04pt x 131.49126pt> File: "Asynchronous iterations model".pdf Graphic file (type pdf) Package pdftex.def Info: "Asynchronous iterations model".pdf used on input line - 361. -(pdftex.def) Requested size: 227.62303pt x 227.62413pt. + 378. +(pdftex.def) Requested size: 227.61887pt x 227.63321pt. LaTeX Warning: `h' float specifier changed to `ht'. @@ -1208,10 +1222,12 @@ Overfull \hbox (142.95473pt too wide) has occurred while \output is active ARGE []ECHELLE DANS UNE GRILLE DE CALCUL \OT1/phv/m/n/10.95 7 [] -[7 <./1D-2D-3D Domain decomposition.pdf>] [8 <./Synchronous iterations model.pd -f>] -Underfull \hbox (badness 4556) in paragraph at lines 446--446 -[][]\OT1/phv/m/sc/14.4 SIMGRID/SMPI : Si-mu-la-teur d'ex[]ecution d'al-go- +[7] +Underfull \vbox (badness 10000) has occurred while \output is active [] + + [8 <./Synchronous iterations model.pdf>] +Underfull \hbox (badness 10000) in paragraph at lines 465--466 + [] @@ -1221,16 +1237,117 @@ Overfull \hbox (312.32625pt too wide) has occurred while \output is active 10.95 9 [] -[9 <./Asynchronous iterations model.pdf>] [10] -Chapitre 2. -[11 +[9 <./Asynchronous iterations model.pdf>] +<"Grid architecture".png, id=472, 449.42906pt x 176.15813pt> +File: "Grid architecture".png Graphic file (type png) + + +Package pdftex.def Info: "Grid architecture".png used on input line 467. +(pdftex.def) Requested size: 227.62164pt x 227.62123pt. + +Underfull \hbox (badness 10000) in paragraph at lines 469--472 + + [] + +[10 <./Grid architecture.png>] +<"Grid5000 sites".png, id=482, 292.09125pt x 231.86626pt> +File: "Grid5000 sites".png Graphic file (type png) + + +Package pdftex.def Info: "Grid5000 sites".png used on input line 475. +(pdftex.def) Requested size: 227.62967pt x 227.62715pt. + +Underfull \hbox (badness 10000) in paragraph at lines 483--485 + + [] + + +Overfull \hbox (107.96115pt too wide) has occurred while \output is active +\OT1/phv/m/sl/10.95 1.3. SIMULATEURS D'EX[]ECUTION D'ALGORITHMES PARALL[]ELES +MPI DANS UNE GRILLE DE CALCUL \OT1/phv/m/n/10.95 11 + [] + +[11 <./Grid5000 sites.png>] +LaTeX Font Info: Try loading font information for OT1+txtt on input line 493 +. + +("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\txfonts\ot1txtt.fd" +File: ot1txtt.fd 2000/12/15 v3.1 +) + +LaTeX Warning: Command \textless invalid in math mode on input line 493. -] [12] <"Weak vs Strong scaling".pdf, id=617, 614.295pt x 794.97pt> +LaTeX Font Info: Try loading font information for OML+phv on input line 493. + +("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\psnfss\omlphv.fd" +File: omlphv.fd +) +LaTeX Font Info: Font shape `OML/phv/m/n' in size <10.95> not available +(Font) Font shape `OML/cmm/m/it' tried instead on input line 493. + + +LaTeX Warning: Command \textless invalid in math mode on input line 493. + + +LaTeX Warning: Command \textless invalid in math mode on input line 493. + + +LaTeX Warning: Command \textless invalid in math mode on input line 493. + + +LaTeX Warning: Command \textless invalid in math mode on input line 493. + + +LaTeX Warning: Command \textless invalid in math mode on input line 493. + + +LaTeX Warning: Command \textless invalid in math mode on input line 493. + + +LaTeX Warning: Command \textless invalid in math mode on input line 493. + + +Underfull \hbox (badness 10000) in paragraph at lines 496--499 + + [] + +[12] +LaTeX Font Info: Font shape `OT1/phv/bx/n' in size <8> not available +(Font) Font shape `OT1/phv/b/n' tried instead on input line 515. + +Overfull \hbox (41.8198pt too wide) in paragraph at lines 512--540 + [][] + [] + + +Overfull \hbox (107.96115pt too wide) has occurred while \output is active +\OT1/phv/m/sl/10.95 1.3. SIMULATEURS D'EX[]ECUTION D'ALGORITHMES PARALL[]ELES +MPI DANS UNE GRILLE DE CALCUL \OT1/phv/m/n/10.95 13 + [] + +[13] +Underfull \hbox (badness 10000) in paragraph at lines 563--564 + + [] + +<"MPI".pdf, id=502, 614.295pt x 794.97pt> +File: "MPI".pdf Graphic file (type pdf) + +Package pdftex.def Info: "MPI".pdf used on input line 565. +(pdftex.def) Requested size: 227.62303pt x 227.62413pt. + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + [14 <./MPI.pdf>] [15] [16 + +] +Chapitre 2. +[17] [18] <"Weak vs Strong scaling".pdf, id=541, 617.30624pt x 188.705pt> File: "Weak vs Strong scaling".pdf Graphic file (type pdf) -Package pdftex.def Info: "Weak vs Strong scaling".pdf used on input line 628. -(pdftex.def) Requested size: 227.62303pt x 227.62413pt. +Package pdftex.def Info: "Weak vs Strong scaling".pdf used on input line 750. +(pdftex.def) Requested size: 227.61792pt x 227.62253pt. LaTeX Warning: `h' float specifier changed to `ht'. @@ -1238,112 +1355,114 @@ LaTeX Warning: `h' float specifier changed to `ht'. Underfull \vbox (badness 6859) has occurred while \output is active [] - [13] + [19] Underfull \vbox (badness 1655) has occurred while \output is active [] - [14 <./Weak vs Strong scaling.pdf>] + [20 <./Weak vs Strong scaling.pdf>] Overfull \hbox (138.89304pt too wide) has occurred while \output is active \OT1/phv/m/sl/10.95 2.2. PROBL[]EMATIQUE SUR LA PR[]EDICTION []A LARGE []ECHEL -LE DE LA PERFORMANCE DES APPLICATIONS \OT1/phv/m/n/10.95 15 +LE DE LA PERFORMANCE DES APPLICATIONS \OT1/phv/m/n/10.95 21 [] -[15] +[21] -LaTeX Warning: Reference `fig:4' on page 16 undefined on input line 810. +LaTeX Warning: Reference `fig:4' on page 22 undefined on input line 932. -[16] <"Architecture des CPU multi-coeurs".pdf, id=645, 614.295pt x 794.97pt> +[22] +<"Architecture des CPU multi-coeurs".pdf, id=565, 275.0275pt x 173.64874pt> File: "Architecture des CPU multi-coeurs".pdf Graphic file (type pdf) Package pdftex.def Info: "Architecture des CPU multi-coeurs".pdf used on input -line 813. -(pdftex.def) Requested size: 227.62303pt x 227.62413pt. +line 935. +(pdftex.def) Requested size: 227.63069pt x 227.6299pt. -<"MIMD Distributed Memory".pdf, id=646, 614.295pt x 794.97pt> +<"MIMD Distributed Memory".pdf, id=566, 928.46875pt x 474.77374pt> File: "MIMD Distributed Memory".pdf Graphic file (type pdf) -Package pdftex.def Info: "MIMD Distributed Memory".pdf used on input line 826. -(pdftex.def) Requested size: 227.62303pt x 227.62413pt. +Package pdftex.def Info: "MIMD Distributed Memory".pdf used on input line 948. +(pdftex.def) Requested size: 227.61142pt x 227.62076pt. LaTeX Warning: `h' float specifier changed to `ht'. -<"MIMD Shared memory - SMP".pdf, id=647, 614.295pt x 794.97pt> +<"MIMD Shared memory - SMP".pdf, id=567, 624.3325pt x 483.8075pt> File: "MIMD Shared memory - SMP".pdf Graphic file (type pdf) -Package pdftex.def Info: "MIMD Shared memory - SMP".pdf used on input line 828. +Package pdftex.def Info: "MIMD Shared memory - SMP".pdf used on input line 950. -(pdftex.def) Requested size: 227.62303pt x 227.62413pt. +(pdftex.def) Requested size: 227.6175pt x 227.6258pt. LaTeX Warning: `h' float specifier changed to `ht'. -<"MIMD Hybride".pdf, id=648, 614.295pt x 794.97pt> +<"MIMD Hybride".pdf, id=568, 564.1075pt x 358.33875pt> File: "MIMD Hybride".pdf Graphic file (type pdf) - -Package pdftex.def Info: "MIMD Hybride".pdf used on input line 830. -(pdftex.def) Requested size: 227.62303pt x 227.62413pt. + + +Package pdftex.def Info: "MIMD Hybride".pdf used on input line 952. +(pdftex.def) Requested size: 227.61873pt x 227.62459pt. LaTeX Warning: `h' float specifier changed to `ht'. -Underfull \vbox (badness 4303) has occurred while \output is active [] +Underfull \vbox (badness 4291) has occurred while \output is active [] Overfull \hbox (138.89304pt too wide) has occurred while \output is active \OT1/phv/m/sl/10.95 2.2. PROBL[]EMATIQUE SUR LA PR[]EDICTION []A LARGE []ECHEL -LE DE LA PERFORMANCE DES APPLICATIONS \OT1/phv/m/n/10.95 17 +LE DE LA PERFORMANCE DES APPLICATIONS \OT1/phv/m/n/10.95 23 [] -[17 <./Architecture des CPU multi-coeurs.pdf>] -<"Evolution de la puissance de calcul mondiale".pdf, id=665, 614.295pt x 794.97 +[23 <./Architecture des CPU multi-coeurs.pdf>] +<"Evolution de la puissance de calcul mondiale".pdf, id=581, 702.625pt x 489.83 pt> File: "Evolution de la puissance de calcul mondiale".pdf Graphic file (type pdf ) Package pdftex.def Info: "Evolution de la puissance de calcul mondiale".pdf use -d on input line 864. -(pdftex.def) Requested size: 227.62303pt x 227.62413pt. +d on input line 986. +(pdftex.def) Requested size: 227.62137pt x 227.61911pt. LaTeX Warning: `h' float specifier changed to `ht'. -[18 <./MIMD Distributed Memory.pdf>] -<"UMA architecture".pdf, id=679, 614.295pt x 794.97pt> +[24 <./MIMD Distributed Memory.pdf>] +<"UMA architecture".pdf, id=591, 400.49625pt x 172.645pt> File: "UMA architecture".pdf Graphic file (type pdf) -Package pdftex.def Info: "UMA architecture".pdf used on input line 931. -(pdftex.def) Requested size: 227.62303pt x 227.62413pt. +Package pdftex.def Info: "UMA architecture".pdf used on input line 1053. +(pdftex.def) Requested size: 227.62523pt x 227.626pt. Overfull \hbox (138.89304pt too wide) has occurred while \output is active \OT1/phv/m/sl/10.95 2.2. PROBL[]EMATIQUE SUR LA PR[]EDICTION []A LARGE []ECHEL -LE DE LA PERFORMANCE DES APPLICATIONS \OT1/phv/m/n/10.95 19 +LE DE LA PERFORMANCE DES APPLICATIONS \OT1/phv/m/n/10.95 25 [] -[19 <./MIMD Shared memory - SMP.pdf>] +[25 <./MIMD Shared memory - SMP.pdf>] LaTeX Warning: `h' float specifier changed to `ht'. -<"NUMA architecture".pdf, id=692, 614.295pt x 794.97pt> +<"NUMA architecture".pdf, id=600, 429.605pt x 223.83624pt> File: "NUMA architecture".pdf Graphic file (type pdf) -Package pdftex.def Info: "NUMA architecture".pdf used on input line 933. -(pdftex.def) Requested size: 227.62303pt x 227.62413pt. +Package pdftex.def Info: "NUMA architecture".pdf used on input line 1055. +(pdftex.def) Requested size: 227.62401pt x 227.62685pt. LaTeX Warning: `h' float specifier changed to `ht'. -<"COMA architecture".pdf, id=693, 614.295pt x 794.97pt> +<"COMA architecture".pdf, id=601, 333.245pt x 278.03876pt> File: "COMA architecture".pdf Graphic file (type pdf) -Package pdftex.def Info: "COMA architecture".pdf used on input line 935. -(pdftex.def) Requested size: 227.62303pt x 227.62413pt. +Package pdftex.def Info: "COMA architecture".pdf used on input line 1057. +(pdftex.def) Requested size: 227.62566pt x 227.62415pt. LaTeX Warning: `h' float specifier changed to `ht'. @@ -1351,306 +1470,232 @@ LaTeX Warning: `h' float specifier changed to `ht'. Underfull \vbox (badness 10000) has occurred while \output is active [] - [20 <./MIMD Hybride.pdf>] + [26 <./MIMD Hybride.pdf>] Underfull \vbox (badness 10000) has occurred while \output is active [] Overfull \hbox (138.89304pt too wide) has occurred while \output is active \OT1/phv/m/sl/10.95 2.2. PROBL[]EMATIQUE SUR LA PR[]EDICTION []A LARGE []ECHEL -LE DE LA PERFORMANCE DES APPLICATIONS \OT1/phv/m/n/10.95 21 +LE DE LA PERFORMANCE DES APPLICATIONS \OT1/phv/m/n/10.95 27 [] -[21 <./Evolution de la puissance de calcul mondiale.pdf>] [22 <./UMA architectu +[27 <./Evolution de la puissance de calcul mondiale.pdf>] [28 <./UMA architectu re.pdf>] Overfull \hbox (138.89304pt too wide) has occurred while \output is active \OT1/phv/m/sl/10.95 2.2. PROBL[]EMATIQUE SUR LA PR[]EDICTION []A LARGE []ECHEL -LE DE LA PERFORMANCE DES APPLICATIONS \OT1/phv/m/n/10.95 23 +LE DE LA PERFORMANCE DES APPLICATIONS \OT1/phv/m/n/10.95 29 [] -[23 <./NUMA architecture.pdf>] [24 <./COMA architecture.pdf>] +[29 <./NUMA architecture.pdf>] [30 <./COMA architecture.pdf>] Underfull \vbox (badness 10000) has occurred while \output is active [] Overfull \hbox (138.89304pt too wide) has occurred while \output is active \OT1/phv/m/sl/10.95 2.2. PROBL[]EMATIQUE SUR LA PR[]EDICTION []A LARGE []ECHEL -LE DE LA PERFORMANCE DES APPLICATIONS \OT1/phv/m/n/10.95 25 +LE DE LA PERFORMANCE DES APPLICATIONS \OT1/phv/m/n/10.95 31 [] -[25] [26] [27 +[31] <"Performance Analysis techniques".pdf, id=638, 505.89pt x 287.0725pt> +File: "Performance Analysis techniques".pdf Graphic file (type pdf) + + +Package pdftex.def Info: "Performance Analysis techniques".pdf used on input li +ne 1321. +(pdftex.def) Requested size: 227.62523pt x 227.62581pt. -] [28] + +LaTeX Warning: `h' float specifier changed to `ht'. + +[32] +Underfull \vbox (badness 6268) has occurred while \output is active [] + + +Overfull \hbox (22.54312pt too wide) has occurred while \output is active +\OT1/phv/m/sl/10.95 2.3. TECHNIQUES D'ANALYSE DE PERFORMANCE DES APPLICATIONS +PARALL[]ELES \OT1/phv/m/n/10.95 33 + [] + +[33 <./Performance Analysis techniques.pdf>] +Underfull \vbox (badness 10000) has occurred while \output is active [] + + [34] +Overfull \hbox (54.373pt too wide) has occurred while \output is active +\OT1/phv/m/sl/10.95 2.4. M[]ETHODES DE PR[]EDICTION DE LA PERFORMANCE DES APPL +ICATIONS PARALL[]ELES \OT1/phv/m/n/10.95 35 + [] + +[35] [36 + +] [37] [38] Chapitre 3. -[29 +[39 -] [30 +] [40 ] Chapitre 4. -[31] [32 +[41] [42 ] Chapitre 5. -[33] [34 +[43] [44 ] Chapitre 6. -[35] [36 +[45] [46 ] No file These_RCE.bbl. -[37 +[47 -] [38] +] [48] LaTeX Font Info: Font shape `OT1/phv/m/it' in size <10.95> not available -(Font) Font shape `OT1/phv/m/sl' tried instead on input line 1271. +(Font) Font shape `OT1/phv/m/sl' tried instead on input line 1434. -Underfull \hbox (badness 10000) in paragraph at lines 1285--1287 +Underfull \hbox (badness 10000) in paragraph at lines 1448--1450 []\OT1/phv/m/n/10.95 [12] M. Du-bois and X. Vi-gou-roux. Un-leash your HPC per- for-mance with [] -Underfull \hbox (badness 10000) in paragraph at lines 1285--1287 +Underfull \hbox (badness 10000) in paragraph at lines 1448--1450 \OT1/phv/m/n/10.95 Bull. \OT1/phv/m/sl/10.95 Maxi-mi-zing com-pu-ting per-for-m ance while re-du-cing po-wer consump-tion\OT1/phv/m/n/10.95 . [] -Underfull \hbox (badness 1286) in paragraph at lines 1290--1291 +Underfull \hbox (badness 1286) in paragraph at lines 1453--1454 []\OT1/phv/m/n/10.95 [15] C. Har-ris et al. HPC Tech-no-logy Up-date. \OT1/phv/ m/sl/10.95 Paw-set Su-per-com-pu-ting Cen-ter - [] -Underfull \hbox (badness 10000) in paragraph at lines 1292--1294 +Underfull \hbox (badness 10000) in paragraph at lines 1455--1457 []\OT1/phv/m/n/10.95 [16] A. J. van der Steen, J. J. Don-garra. Over-view of Re cent Su-per- [] -Underfull \hbox (badness 10000) in paragraph at lines 1292--1294 +Underfull \hbox (badness 10000) in paragraph at lines 1455--1457 \OT1/phv/m/n/10.95 com-pu-ters. \OT1/phv/m/sl/10.95 Aca-de-mic Com-pu-ting Cent re Utrecht, the Ne-ther-lands, De-part- [] -Underfull \hbox (badness 10000) in paragraph at lines 1292--1294 +Underfull \hbox (badness 10000) in paragraph at lines 1455--1457 \OT1/phv/m/sl/10.95 ment of Com-pu-ter Science, Uni-ver-sity of Ten-nes-see, Kn ox-ville, Ma-the-ma-ti- [] -Underfull \hbox (badness 2460) in paragraph at lines 1292--1294 +Underfull \hbox (badness 2460) in paragraph at lines 1455--1457 \OT1/phv/m/sl/10.95 cal Sciences Sec-tion, Oak Ridge, Na-tio-nal La-bo-ra-tory, Oak Ridge\OT1/phv/m/n/10.95 . http ://ci-te- [] -Underfull \hbox (badness 3078) in paragraph at lines 1301--1303 +Underfull \hbox (badness 3078) in paragraph at lines 1464--1466 []\OT1/phv/m/n/10.95 [19] M. Ewan. Ex-plo-ring Clus-te-red Pa-ral-lel File Sys- tems and Ob-ject Sto-rage. [] -Underfull \hbox (badness 2680) in paragraph at lines 1306--1308 +Underfull \hbox (badness 2680) in paragraph at lines 1469--1471 []\OT1/phv/m/n/10.95 [21] G. Bal-lard et Al. Com-mu-ni-ca-tion Op-ti-mal Pa-ral -lel Mul-ti-pli-ca-tion of Sparse [] -Underfull \hbox (badness 1960) in paragraph at lines 1306--1308 +Underfull \hbox (badness 1960) in paragraph at lines 1469--1471 \OT1/phv/m/n/10.95 Ran-dom Ma-trices". \OT1/phv/m/sl/10.95 UC Ber-ke-ley, IN-RI A Pa-ris Roc-quen-court, Tel-Aviv Uni-ver-sity\OT1/phv/m/n/10.95 . [] -[39] [40 -] (These_RCE.lof) +Underfull \vbox (badness 10000) has occurred while \output is active [] + + [49] +[50] (These_RCE.lof) \tf@lof=\write5 - [41] [42 + [51 + +] [52 ] (These_RCE.lot) \tf@lot=\write6 showing upmdefinition -[43] [44 +[53] [54 -] (These_RCE.loe) [45] [46 +] (These_RCE.loe) [55] [56 -] [47] [48] +] [57] [58] Annexe A. -[49 +[59 -] [50 +] [60 ] Annexe B. -[51] [52 +[61] [62 -] -LaTeX Font Info: Try loading font information for OT1+txtt on input line 133 -6. - ("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\txfonts\ot1txtt.fd" -File: ot1txtt.fd 2000/12/15 v3.1 -) -[53] +] [63] pdfTeX warning: pdflatex (file ./spimufcphdthesis-backpage.pdf): PDF inclusion: found PDF version <1.6>, but at most version <1.5> allowed - + File: spimufcphdthesis-backpage.pdf Graphic file (type pdf) -Package pdftex.def Info: spimufcphdthesis-backpage.pdf used on input line 1336. +Package pdftex.def Info: spimufcphdthesis-backpage.pdf used on input line 1521. (pdftex.def) Requested size: 600.04684pt x 900.02122pt. \tf@loe=\write7 -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 1336. - [54 +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 1521. + [64 <./spimufcphdthesis-backpage.pdf>] -Package atveryend Info: Empty hook `AfterLastShipout' on input line 1336. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 1521. (These_RCE.aux) -Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 1336. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 1336. - +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 1521. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 1521. +Package rerunfilecheck Info: File `These_RCE.out' has not changed. +(rerunfilecheck) Checksum: C8B94E96FC102A52D2451E376B4745DC;5235. -Package rerunfilecheck Warning: File `These_RCE.out' has changed. -(rerunfilecheck) Rerun to get outlines right -(rerunfilecheck) or use package `bookmark'. - -Package rerunfilecheck Info: Checksums for `These_RCE.out': -(rerunfilecheck) Before: 4B41A7BFB3A0F44F9E46F47A358ADBDE;6720 -(rerunfilecheck) After: F8CCA296349859724DB50125546F6435;4782. LaTeX Warning: There were undefined references. LaTeX Warning: There were multiply-defined labels. -Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 1336. +Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 1521. ) Here is how much of TeX's memory you used: - 11477 strings out of 493673 - 171830 string characters out of 3141524 - 290380 words of memory out of 3000000 - 14289 multiletter control sequences out of 15000+200000 - 64473 words of font info for 114 fonts, out of 3000000 for 9000 + 11500 strings out of 493673 + 172609 string characters out of 3141524 + 290746 words of memory out of 3000000 + 14310 multiletter control sequences out of 15000+200000 + 67017 words of font info for 119 fonts, out of 3000000 for 9000 1025 hyphenation exceptions out of 8191 - 65i,15n,41p,962b,642s stack positions out of 5000i,500n,10000p,200000b,50000s -pdfTeX warning (dest): name{upmdefinition.1} has been referenced but does not - exist, replaced by a fixed one - -pdfTeX warning (dest): name{table.7.2} has been referenced but does not exist, -replaced by a fixed one - -pdfTeX warning (dest): name{table.7.1} has been referenced but does not exist, -replaced by a fixed one - -pdfTeX warning (dest): name{part.5} has been referenced but does not exist, rep -laced by a fixed one - -pdfTeX warning (dest): name{section.10.2} has been referenced but does not exis -t, replaced by a fixed one - -pdfTeX warning (dest): name{section.10.1} has been referenced but does not exis -t, replaced by a fixed one - -pdfTeX warning (dest): name{chapter.10} has been referenced but does not exist, - replaced by a fixed one - -pdfTeX warning (dest): name{part.4} has been referenced but does not exist, rep -laced by a fixed one - -pdfTeX warning (dest): name{section.9.4} has been referenced but does not exist -, replaced by a fixed one - -pdfTeX warning (dest): name{section.9.3} has been referenced but does not exist -, replaced by a fixed one - -pdfTeX warning (dest): name{section.9.2} has been referenced but does not exist -, replaced by a fixed one - -pdfTeX warning (dest): name{section.9.1} has been referenced but does not exist -, replaced by a fixed one - -pdfTeX warning (dest): name{chapter.9} has been referenced but does not exist, -replaced by a fixed one - -pdfTeX warning (dest): name{section.8.3} has been referenced but does not exist -, replaced by a fixed one - -pdfTeX warning (dest): name{section.8.2} has been referenced but does not exist -, replaced by a fixed one - -pdfTeX warning (dest): name{section.8.1} has been referenced but does not exist -, replaced by a fixed one - -pdfTeX warning (dest): name{chapter.8} has been referenced but does not exist, -replaced by a fixed one - -pdfTeX warning (dest): name{section.7.10} has been referenced but does not exis -t, replaced by a fixed one - -pdfTeX warning (dest): name{section.7.9} has been referenced but does not exist -, replaced by a fixed one - -pdfTeX warning (dest): name{section.7.8} has been referenced but does not exist -, replaced by a fixed one - -pdfTeX warning (dest): name{section.7.7} has been referenced but does not exist -, replaced by a fixed one - -pdfTeX warning (dest): name{section.7.6} has been referenced but does not exist -, replaced by a fixed one - -pdfTeX warning (dest): name{section.7.5} has been referenced but does not exist -, replaced by a fixed one - -pdfTeX warning (dest): name{section.7.4} has been referenced but does not exist -, replaced by a fixed one - -pdfTeX warning (dest): name{subsection.7.3.2} has been referenced but does not -exist, replaced by a fixed one - -pdfTeX warning (dest): name{subsection.7.3.1} has been referenced but does not -exist, replaced by a fixed one - -pdfTeX warning (dest): name{section.7.3} has been referenced but does not exist -, replaced by a fixed one - -pdfTeX warning (dest): name{section.7.2} has been referenced but does not exist -, replaced by a fixed one - -pdfTeX warning (dest): name{section.7.1} has been referenced but does not exist -, replaced by a fixed one - -pdfTeX warning (dest): name{chapter.7} has been referenced but does not exist, -replaced by a fixed one - -pdfTeX warning (dest): name{section.6.4} has been referenced but does not exist -, replaced by a fixed one - -pdfTeX warning (dest): name{section.6.3} has been referenced but does not exist -, replaced by a fixed one - -{C:/Program Files (x86)/MiKTeX 2.9/fonts/enc/dvips/fontname/8r.enc} -Output written on These_RCE.pdf (64 pages, 4053402 bytes). + 65i,17n,41p,1782b,642s stack positions out of 5000i,500n,10000p,200000b,50000s +{C:/Program Files (x86)/MiKTeX 2.9/fonts/enc/dvips/fontname/8r.enc} + +Output written on These_RCE.pdf (74 pages, 5050903 bytes). PDF statistics: - 980 PDF objects out of 1000 (max. 8388607) - 182 named destinations out of 1000 (max. 500000) - 705 words of extra memory for PDF output out of 10000 (max. 10000000) + 888 PDF objects out of 1000 (max. 8388607) + 171 named destinations out of 1000 (max. 500000) + 533 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/These_RCE.lot b/These_RCE.lot index 508e66b..0382dc0 100644 --- a/These_RCE.lot +++ b/These_RCE.lot @@ -1,5 +1,6 @@ \select@language {french} \addvspace {10\p@ } +\contentsline {table}{\numberline {1.1}{\ignorespaces Quelques outils de simulation pour une grille de calcul}}{13}{table.1.1} \addvspace {10\p@ } \addvspace {10\p@ } \addvspace {10\p@ } diff --git a/These_RCE.out b/These_RCE.out index 5e6bf50..db9ddd7 100644 --- a/These_RCE.out +++ b/These_RCE.out @@ -1,4 +1,4 @@ -\BOOKMARK [-1][]{part.1}{I Contexte scientifique et revue de l'\351tat de l'art}{}% 1 +\BOOKMARK [-1][]{part.1}{I PARTIE I: Contexte scientifique et revue de l'\351tat de l'art}{}% 1 \BOOKMARK [0][]{chapter.1}{1 Cadre de travail et contexte scientifique}{part.1}% 2 \BOOKMARK [1][]{section.1.1}{1.1 Classe des algorithmes it\351ratifs parall\350les \340 large \351chelle dans une grille de calcul}{chapter.1}% 3 \BOOKMARK [2][]{subsection.1.1.1}{1.1.1 Partitionnement du probl\350me}{section.1.1}% 4 @@ -7,43 +7,48 @@ \BOOKMARK [2][]{subsection.1.2.1}{1.2.1 Algorithme de Jacobi}{section.1.2}% 7 \BOOKMARK [2][]{subsection.1.2.2}{1.2.2 M\351thode de r\351solution GMRES}{section.1.2}% 8 \BOOKMARK [2][]{subsection.1.2.3}{1.2.3 Solveur multisplitting}{section.1.2}% 9 -\BOOKMARK [1][]{section.1.3}{1.3 SIMGRID/SMPI : Simulateur d'ex\351cution d'algorithmes parall\350les MPI dans une grille de calcul}{chapter.1}% 10 -\BOOKMARK [2][]{subsection.1.3.1}{1.3.1 MPI - Message Passing Interface}{section.1.3}% 11 -\BOOKMARK [2][]{subsection.1.3.2}{1.3.2 Simulateur SIMGRID}{section.1.3}% 12 -\BOOKMARK [1][]{section.1.4}{1.4 Motivations}{chapter.1}% 13 -\BOOKMARK [1][]{section.1.5}{1.5 Conclusion partielle}{chapter.1}% 14 -\BOOKMARK [0][]{chapter.2}{2 Etat de l'art et travaux de recherche associ\351s}{part.1}% 15 -\BOOKMARK [1][]{section.2.1}{2.1 Concepts et d\351finitions}{chapter.2}% 16 -\BOOKMARK [2][]{subsection.2.1.1}{2.1.1 Performance de l'application parall\350le et scalabilit\351}{section.2.1}% 17 -\BOOKMARK [2][]{subsection.2.1.2}{2.1.2 Taux d'erreur lors de la pr\351diction}{section.2.1}% 18 -\BOOKMARK [2][]{subsection.2.1.3}{2.1.3 Weak contre strong scaling}{section.2.1}% 19 -\BOOKMARK [1][]{section.2.2}{2.2 Probl\351matique sur la pr\351diction \340 large \351chelle de la performance des applications}{chapter.2}% 20 -\BOOKMARK [2][]{subsection.2.2.1}{2.2.1 Facteurs li\351s \340 l'\351cosyst\350me}{section.2.2}% 21 -\BOOKMARK [3][]{subsubsection.2.2.1.1}{2.2.1.1 Facteur architecture des processeurs}{subsection.2.2.1}% 22 -\BOOKMARK [3][]{subsubsection.2.2.1.2}{2.2.1.2 Facteur : M\351moire et stockage}{subsection.2.2.1}% 23 -\BOOKMARK [3][]{subsubsection.2.2.1.3}{2.2.1.3 Facteur : R\351seaux de communication}{subsection.2.2.1}% 24 -\BOOKMARK [2][]{subsection.2.2.2}{2.2.2 Facteurs li\351s au code de l'application}{section.2.2}% 25 -\BOOKMARK [3][]{subsubsection.2.2.2.1}{2.2.2.1 Facteur : Taille du probl\350me}{subsection.2.2.2}% 26 -\BOOKMARK [3][]{subsubsection.2.2.2.2}{2.2.2.2 Performance de la parall\351lisation}{subsection.2.2.2}% 27 -\BOOKMARK [1][]{section.2.3}{2.3 Techniques de profiling et instrumentation des applications parall\350les}{chapter.2}% 28 -\BOOKMARK [1][]{section.2.4}{2.4 M\351thodes de pr\351diction de la performance de l'application parall\350le}{chapter.2}% 29 -\BOOKMARK [1][]{section.2.5}{2.5 Conclusion partielle}{chapter.2}% 30 -\BOOKMARK [-1][]{part.2}{II PARTIE II - Travaux de contributions, r\351sultats et perspectives}{}% 31 -\BOOKMARK [0][]{chapter.3}{3 Comparaison par simulation \340 large \351chelle de la performance de deux algorithmes it\351ratifs parall\350les en mode asynchrone}{part.2}% 32 -\BOOKMARK [1][]{section.3.1}{3.1 Protocoles et exp\351rimentations}{chapter.3}% 33 -\BOOKMARK [1][]{section.3.2}{3.2 R\351sultats}{chapter.3}% 34 -\BOOKMARK [1][]{section.3.3}{3.3 Conclusion partielle}{chapter.3}% 35 -\BOOKMARK [0][]{chapter.4}{4 Simulation avec SIMGRID de l\220ex\351cution des solveurs lin\351aires en mode synchrone et asynchrone sur un environnement multi-coeurs simul\351s}{part.2}% 36 -\BOOKMARK [1][]{section.4.1}{4.1 Protocoles et exp\351rimentations}{chapter.4}% 37 -\BOOKMARK [1][]{section.4.2}{4.2 R\351sultats}{chapter.4}% 38 -\BOOKMARK [1][]{section.4.3}{4.3 Conclusion partielle}{chapter.4}% 39 -\BOOKMARK [0][]{chapter.5}{5 Mod\350le de pr\351diction de la performance \340 large \351chelle d'un algorithme it\351ratif parall\350le}{part.2}% 40 -\BOOKMARK [1][]{section.5.1}{5.1 Approche et m\351thodologie}{chapter.5}% 41 -\BOOKMARK [1][]{section.5.2}{5.2 Exp\351rimentations et r\351sultats}{chapter.5}% 42 -\BOOKMARK [1][]{section.5.3}{5.3 Conclusion partielle}{chapter.5}% 43 -\BOOKMARK [0][]{chapter.6}{6 Conclusion g\351n\351rale et perspectives}{part.2}% 44 -\BOOKMARK [1][]{section.6.1}{6.1 Conclusion g\351n\351rale}{chapter.6}% 45 -\BOOKMARK [1][]{section.6.2}{6.2 Travaux futurs et perspectives}{chapter.6}% 46 -\BOOKMARK [-1][]{part.3}{III Annexes}{}% 47 -\BOOKMARK [0][]{appendix.A}{A Premier chapitre des annexes}{part.3}% 48 -\BOOKMARK [0][]{appendix.B}{B Second chapitre des annexes}{part.3}% 49 +\BOOKMARK [1][]{section.1.3}{1.3 Simulateurs d'ex\351cution d'algorithmes parall\350les MPI dans une grille de calcul}{chapter.1}% 10 +\BOOKMARK [2][]{subsection.1.3.1}{1.3.1 Calcul sur grille}{section.1.3}% 11 +\BOOKMARK [2][]{subsection.1.3.2}{1.3.2 G\351n\351ralit\351s sur la simulation}{section.1.3}% 12 +\BOOKMARK [2][]{subsection.1.3.3}{1.3.3 MPI - Message Passing Interface}{section.1.3}% 13 +\BOOKMARK [2][]{subsection.1.3.4}{1.3.4 Simulateur SIMGRID - SMPI}{section.1.3}% 14 +\BOOKMARK [1][]{section.1.4}{1.4 Motivations}{chapter.1}% 15 +\BOOKMARK [1][]{section.1.5}{1.5 Conclusion partielle}{chapter.1}% 16 +\BOOKMARK [0][]{chapter.2}{2 Etat de l'art et travaux de recherche associ\351s}{part.1}% 17 +\BOOKMARK [1][]{section.2.1}{2.1 Concepts et d\351finitions}{chapter.2}% 18 +\BOOKMARK [2][]{subsection.2.1.1}{2.1.1 Performance de l'application parall\350le et scalabilit\351}{section.2.1}% 19 +\BOOKMARK [2][]{subsection.2.1.2}{2.1.2 Taux d'erreur lors de la pr\351diction}{section.2.1}% 20 +\BOOKMARK [2][]{subsection.2.1.3}{2.1.3 Weak contre strong scaling}{section.2.1}% 21 +\BOOKMARK [1][]{section.2.2}{2.2 Probl\351matique sur la pr\351diction \340 large \351chelle de la performance des applications}{chapter.2}% 22 +\BOOKMARK [2][]{subsection.2.2.1}{2.2.1 Facteurs li\351s \340 l'\351cosyst\350me}{section.2.2}% 23 +\BOOKMARK [3][]{subsubsection.2.2.1.1}{2.2.1.1 Facteur architecture des processeurs}{subsection.2.2.1}% 24 +\BOOKMARK [3][]{subsubsection.2.2.1.2}{2.2.1.2 Facteur : M\351moire et stockage}{subsection.2.2.1}% 25 +\BOOKMARK [3][]{subsubsection.2.2.1.3}{2.2.1.3 Facteur : R\351seaux de communication}{subsection.2.2.1}% 26 +\BOOKMARK [2][]{subsection.2.2.2}{2.2.2 Facteurs li\351s au code de l'application}{section.2.2}% 27 +\BOOKMARK [3][]{subsubsection.2.2.2.1}{2.2.2.1 Facteur : Taille du probl\350me}{subsection.2.2.2}% 28 +\BOOKMARK [3][]{subsubsection.2.2.2.2}{2.2.2.2 Performance de la parall\351lisation}{subsection.2.2.2}% 29 +\BOOKMARK [1][]{section.2.3}{2.3 Techniques d'analyse de performance des applications parall\350les}{chapter.2}% 30 +\BOOKMARK [2][]{subsection.2.3.1}{2.3.1 G\351n\351ralit\351s et objectifs}{section.2.3}% 31 +\BOOKMARK [2][]{subsection.2.3.2}{2.3.2 Approches et m\351thodologie}{section.2.3}% 32 +\BOOKMARK [2][]{subsection.2.3.3}{2.3.3 Quelques outils d'analyse de performance}{section.2.3}% 33 +\BOOKMARK [1][]{section.2.4}{2.4 M\351thodes de pr\351diction de la performance des applications parall\350les}{chapter.2}% 34 +\BOOKMARK [1][]{section.2.5}{2.5 Conclusion partielle}{chapter.2}% 35 +\BOOKMARK [-1][]{part.2}{II PARTIE II - Travaux de contributions, r\351sultats et perspectives}{}% 36 +\BOOKMARK [0][]{chapter.3}{3 Comparaison par simulation \340 large \351chelle de la performance de deux algorithmes it\351ratifs parall\350les en mode asynchrone}{part.2}% 37 +\BOOKMARK [1][]{section.3.1}{3.1 Protocoles et exp\351rimentations}{chapter.3}% 38 +\BOOKMARK [1][]{section.3.2}{3.2 R\351sultats}{chapter.3}% 39 +\BOOKMARK [1][]{section.3.3}{3.3 Conclusion partielle}{chapter.3}% 40 +\BOOKMARK [0][]{chapter.4}{4 Simulation avec SIMGRID de l\220ex\351cution des solveurs lin\351aires en mode synchrone et asynchrone sur un environnement multi-coeurs simul\351s}{part.2}% 41 +\BOOKMARK [1][]{section.4.1}{4.1 Protocoles et exp\351rimentations}{chapter.4}% 42 +\BOOKMARK [1][]{section.4.2}{4.2 R\351sultats}{chapter.4}% 43 +\BOOKMARK [1][]{section.4.3}{4.3 Conclusion partielle}{chapter.4}% 44 +\BOOKMARK [0][]{chapter.5}{5 Mod\350le de pr\351diction de la performance \340 large \351chelle d'un algorithme it\351ratif parall\350le}{part.2}% 45 +\BOOKMARK [1][]{section.5.1}{5.1 Approche et m\351thodologie}{chapter.5}% 46 +\BOOKMARK [1][]{section.5.2}{5.2 Exp\351rimentations et r\351sultats}{chapter.5}% 47 +\BOOKMARK [1][]{section.5.3}{5.3 Conclusion partielle}{chapter.5}% 48 +\BOOKMARK [0][]{chapter.6}{6 Conclusion g\351n\351rale et perspectives}{part.2}% 49 +\BOOKMARK [1][]{section.6.1}{6.1 Conclusion g\351n\351rale}{chapter.6}% 50 +\BOOKMARK [1][]{section.6.2}{6.2 Travaux futurs et perspectives}{chapter.6}% 51 +\BOOKMARK [-1][]{part.3}{III Annexes}{}% 52 +\BOOKMARK [0][]{appendix.A}{A Premier chapitre des annexes}{part.3}% 53 +\BOOKMARK [0][]{appendix.B}{B Second chapitre des annexes}{part.3}% 54 diff --git a/These_RCE.pdf b/These_RCE.pdf index 060aa73..9f4868c 100644 Binary files a/These_RCE.pdf and b/These_RCE.pdf differ diff --git a/These_RCE.synctex.gz b/These_RCE.synctex.gz index bd78277..22b789a 100644 Binary files a/These_RCE.synctex.gz and b/These_RCE.synctex.gz differ diff --git a/These_RCE.tex b/These_RCE.tex index b03acd2..2e58d63 100644 --- a/These_RCE.tex +++ b/These_RCE.tex @@ -66,6 +66,8 @@ \newcommand{\MI}{\mathit{MaxIter}} %\usepackage{subcaption} \usepackage{graphicx} + +\usepackage{multirow} %%-------------------- %% Set the title, subtitle, defense date, and @@ -275,9 +277,24 @@ le calcul en des tâches indépendantes assignées aux processeurs. La figure \figref{decoupage} présente un exemple de découpage en domaines de la matrice initiale entre deux clusters constitués chacun de 18 processeurs, soit un total de 36 processeurs. -\mfigure[h]{width=8cm, height=8cm}{"3D data partitionning btw 2 clusters"} {Partitionnement : Découpage d'une matrice tridimensionnelle entre deux clusters formés de 18 processeurs chacun} {decoupage} +\begin{figure}[!ht] +%\centering +\begin{minipage}[t]{5.5cm} +\centering +\includegraphics [ width =5.5cm]{"3D data partitionning btw 2 clusters"} +\caption {Découpage d'une matrice tridimensionnelle entre deux clusters formés de 18 processeurs chacun} +\end{minipage} +\begin{minipage}[t]{5.5cm} +\centering +\includegraphics [ width =5.5cm]{"1D-2D-3D Domain decomposition"} +\caption {Décomposition en domaines 1D, 2D et 3D} +\end{minipage} +%\caption{Partitionnement du problème} +\end{figure} + +%\mfigure[!]{width=8cm, height=8cm}{"3D data partitionning btw 2 clusters"} {Partitionnement : Découpage %d'une matrice tridimensionnelle entre deux clusters formés de 18 processeurs chacun} {decoupage} -\mfigure[h]{width=8cm, height=8cm}{"1D-2D-3D Domain decomposition"} {Partitionnement : Décomposition en domaines 1D, 2D et 3D} {Decompo} +%\mfigure[h]{width=8cm, height=8cm}{"1D-2D-3D Domain decomposition"} {Partitionnement : Décomposition en %domaines 1D, 2D et 3D} {Decompo} %\begin{figure}[h] %\begin{subfigure}{0.5\textwidth} @@ -442,12 +459,117 @@ Version simple Version améliorée -\section{SIMGRID/SMPI : Simulateur d'exécution d'algorithmes -parallèles MPI dans une grille de calcul} +\section{Simulateurs d'exécution d'algorithmes parallèles MPI dans une grille de calcul} + +\subsection{Calcul sur grille} +Une grille de calcul est caractérisée par "un type de système parallèle et distribué qui permet le partage, la sélection et l'aggrégation de ressources distribuées géographiquement selon leurs capacités" [25] afin de résoudre un problème complexe donné. Ainsi, une grille est composée d'un ensemble de grappes de machines interconnectées entre elles à travers un réseau de communication qui peut s'étendre sur des zones géographiques éloignées (Figure \figref{gridA}). Les capacités de calcul, les mémoires, les applications et les systèmes de stockage sont partagées par les applications parallèles et distribuées. Le calcul sur une grille est caractérisé par un environnement "hétérogène, dynamique et scalable". \\ + +\mfigure[h]{width=8cm, height=8cm}{"Grid architecture"} {Architecture d'une grille de calcul} {gridA} + +L'hétérogénéité montre la variété des éléments composant la grille de calcul. On peut être en présence de différentes architectures de processeurs dans les machines d'une grappe ou entre les grappes. Les fréquences d'horloge de ces processeurs peuvent être aussi différentes. De même, l'architecture ou la méthode d'accès des mémoires (DRAM, stockage) utilisées dans la grille de calcul peut être aussi être aussi de types différents. Enfin, la topologie ainsi que la performance des réseaux de communications interconnectant les éléments de la grille peuvent être aussi avoir des débits complètement hétérogènes. \\ +Le caractéristique dynamique de la grille résulte de la relative facilité de changer de configuration. On peut ainsi tailler dynamiquement l'allocation des ressources de la grille aux utilisateurs selon les besoins de leur demande respective. Cet aspect a été élargi à "l'élasticité" de l'environnement dans le cadre du "cloud computing". \\ +Enfin, la scalabilité de la grille de calcul découle de sa conception modulaire permettant d'ajouter d'autres composants selon les besoins. Pour augmenter par exemple la capacité de calcul de la grille, il suffit d'ajouter de nouveaux clusters pour une plus grande puissance globale de la grille. \\ + +Le milieu de la recherche dispose d'une grille de calcul dédié : le Grid'5000 [26, 27] est une grille répartie géographiquement dans différentes villes de France (Figure \figref{grid5000RG} ) mettant à disposition un "banc d'essai polyvalent à grande échelle" pour les expérimentations de la recherche en informatique particulièrement le calcul parallèle sur grille, sur le cloud, le calcul à haute performance mais aussi sur le Big Data. Grid'5000 permet aux utilisateurs l'accès à des ressources importantes de calcul dans un environnement complètement configurable et controllable. Il peut aussi fournir une trace détaillée ainsi que d'autres informations de mesure sur le comportement de l'application lors de l'exécution pour une étude ultérieure. +\mfigure[h]{width=8cm, height=8cm}{"Grid5000 sites"} {Grid'5000 : Répartition géographique} {grid5000RG} + + +Grid'5000 est construit autour de plus de 1000 noeuds physiques de différents constructeurs composés de plus de 2000 processeurs (Intel Xeon et AMD Opteron) avec un total de plus de 10.000 coeurs. Plus de 650 différentes cartes d'interface réseau Ethernet, Infiniband et Myrinet sont interconnectés avec plus de 40 accélérateurs de type NVIDIA GPU et Intel Xeon Phi. +Dès sa conception, Grid'5000 a pris en compte la diversité des intêrets et des besoins des différents utilisateurs. En effet, dépendant de leur centre d'intêret peuvent se focaliser sur les protocoles réseau ou les systèmes d'exploitation particuliers ou d'autres problématiques sur la tolérance aux pannes,ces derniers peuvent configurer leur propre environnement de lancement de leurs applications. La reproductbilité des résultats a été soigneusement étudiée pour permettre une analyse utlérieure de la performance. De plus, Grid'5000 assure la scalabilité, la qualité de service (QoS) mais aussi et surtout la sécurité de l'environnement par le verouillage de la connexion vers Internet par exemple. + +\subsection{Généralités sur la simulation} + +La simulation est largement utilisée dans divers domaines de la recherche scientifique. Elle consiste au processus de la mise en oeuvre et "de la conduite d'expérimentations sur un modèle (une représentation simplifiée du réel) dans le but de comprendre le comportement du système modélisé sous des conditions sélectionnées ou de l'évaluation de diverses stratégies pour le fonctionnement du système sous la limite imposée par les critères de développement et d'exploitation" [29]. Particulièrement, la simulation de l'exécution d'une application parallèle distribuée étudie son comportement (résutats en sortie, temps de performance, scalabilité, ...) sur un environnement virtuel imitant au mieux le fonctionnement d'une plateforme physique réel ou d'un système en cours d'élaboration (banc d'essai) ou encore d'une hypothétique machine non encore réalisée. Ainsi, la simulation informatique se focalise sur le comportement dynamique du modèle à travers le temps. Plusieurs raisons motivent une telle simulation: à titre d'exemple, de réduire les coûts de la conception d'un système et d'éviter les erreurs, de produire dans un temps raisonnable des résultats en sortie d'un modèle ayant un temps d'exécution élevé, de répondre à des scénarions d'exécution avec des questions "what-if" (tests et évaluations), ou encore de créer des outils de simulation pour des formations ou des jeux. \\ +Dans le cadre d'une grille de calcul, les simulateurs ou les outils de simulation permettent à l'inverse des plateformes réelles l'évaluation de la performance des expérimentations "répétables et controllables" [25] sur des configurations flexibles et scalables. En effet, les environnements réels montrent leurs limites sur leur rigidité de passage à l'echelle mais aussi sur la flexibilité de disposer un environnement de calcul particulier répondant aux besoins précis de l'application à un moment donné. Selon la classification dans [30], la simulation d'applications sur une grille de calcul rejoint la classe de simulation "virtuelle" par l'utilisation d'équipements de simulation par des personnes réelles. De façon générale, le simulateur utilise une échelle de temps "discret", c'est-à-dire le temps est découpé en intervalles qui peuvent être réguliers ou non. Dans le cas d'un système à temps discret régulier, le simulateur maintient et met à jour éventuellement un ensemble de "variables d'état" qui reflètent l'état du système physique à un instant t donné. Un "évenement" est associé à chaque instant donné à une "transition d'état". Pour des comparaisons futures, on distingue le "temps physique" comme étant le temps considéré au niveau du système physique, du "temps de simulation" et "le temps de l'horloge murale" désigne le temps de simulation du modèle. Toutefois, le "temps de simulation" est une notion abstraite utilisée par le simulateur pour évaluer le temps de simulation. Il est défini [30] comme étant "un ensemble de valeurs totalement ordonné E où chaque valeur représente un temps du système physique à modéliser et qui vérifie les conditions suivantes:" \\ + +Soient E l'ensemble des temps discrets de simulation et P l'ensemble des temps du système physique. + +\begin{equation} +\label{eqsim} +\begin{split} +\texttt{Si } ( T_1 \in E, T_2 \in E ) \texttt{ et }( P_1 \in P, P_2 \in P ) \texttt{ et } (T_1 \textless T_2) \\ +\Rightarrow ( (P1 \textless P2) \texttt{ et } \exists K \in \mathbb{N}, T_2 - T_1 = K \times ( P_2 - P_1 ) +\end{split} +\end{equation} + +La définition précédente montre le lien linéaire étroit entre les intervalles de temps de simulation et celles des temps physiques. Ce qui permet d'estimer entre autres le temps d'exécution probable d'une application à partir du temps de simulation observé. Outre ce temps global de l'outil de simulation et les variables d'état, une liste des évenements à exécuter complète la composition du simulateur au temps discret. \\ +Le changement des variables d'état peut s'effectuer soit à une fréquence régulière du temps de simulation (exécution rythmée par le temps) soit au début et à la fin d'un évenement donné (exécution rythmée par les évenements). +Dans le cas d'une simulation d'une application parallèle et distribuée où plusieurs processeurs ou coeurs interconnectés concourent à résoudre ensemble le problème posé, plusieurs autres aspects liés à l'environnement doivent être considérés : \\ +\begin{itemize} +\item [$\bullet$] L'initialisation du système; +\item [$\bullet$] Les échanges de données entre les processus; +\item [$\bullet$] La synchronisation des processus; +\item [$\bullet$] La détection de deadlock et la reprise; +\item [$\bullet$] L'arrêt et la fermeture du système. +\end{itemize} +Le tableau \ref{table1} donne quelques exemples de simulateurs pour des applications parallèles et distribuées sur une grille de calcul [28, 25]. + +\begin{table}[htbp] +\centering +%\tiny +\fontsize{8}{9}\selectfont +\begin{tabular}{|c|c|c|c|p{1cm}p{1cm}p{1cm}p{1cm}|} +\hline \\ +%{ } & { } & { } & { } & \\ +\textbf{OUTIL} & \textbf{DESCRIPTION} & \textbf{DEVELOPPEUR} & \textbf{APPLICATIONS CIBLE} \\ \hline +\multirow{ 3}{*}{SimJava} & SimJava fournit un processus de simulation & Université de & Simulation d'évenements \\ +{ } & avec une animation à travers d'entités communiquant entre elles & Edinburgh (UK) & discrets \\ +{ } & http://www.dcs.ed.ac.uk/home/hase/simjava/ & { } & { } \\ \hline + +\multirow{ 4}{*}{Bricks} & Bricks est un outil d'évaluation de performance & Tokyo Institute of & Simulation \\ +{ } & analysant divers schémas d'ordonnancement & Technology (Japan) & de grille \\ +{ } & dans un environnement de grille de calcul & { } & { } \\ +{ } & http://matsu-www.is.titech.ac.jp/~takefusa/bricks/ & { } & { } \\ \hline + +\multirow{ 4}{*}{Microgrid} & Microcrid permet la simulation d'une montée & University of & Simulation \\ +{ } & en charge des applications sur grille de calcul & California at & de grille \\ +{ } & en utilisant des ressources clusterisées & San Diego (USA) & { } \\ +{ } & http://www-csag.ucsd.edu/projects/grid/microgrid.html & { } & { } \\ \hline + +\multirow{ 3}{*}{Simgrid} & Simgrid simule les applications & University of & Simulation \\ +{ } & distribuées dans un environnement distribué hétérogène & California at & de grille \\ +{ } & http://grail.sdsc.edu/projects/simgrid/ & San Diego (USA) & { } \\ \hline + +\multirow{ 4}{*}{Gridsim} & Gridsim permet la modélisation et la simulation & Monash & Simulation \\ +{ } & d'entités impliquées dans le calcul parallèle et distribué & University & de grille \\ +{ } & par la création et le pilotage de différentes ressources & Australie & { } \\ +{ } & http://www.buyya.com/gridsim/ & { } & { } \\ \hline + +\end{tabular} +\caption{Quelques outils de simulation pour une grille de calcul} +\label{table1} +\end{table} + +Simgrid est l'outil choisi dans le cadre de ces travaux pour étudier le comportement et évaluer la performance d'applications parallèles distribuées à grande échelle. Une section de ce chapitre sera dédiée à la description plus détaillée de cette plateforme. + \subsection{MPI - Message Passing Interface} +MPI ou "Message Passing Interface" est les spécifications d'une librairie d'interface pour le transfert de message entre les processus d'une application parallèle. A sa version MPI-3 (2015), elle est largement utilisée dans la recherche dans le domaine du calcul à haute performance avec des compilateurs C/C++ et Fortran généralement. La facilité de l'utilisation et la portabilité à travers différents systèmes hétérogènes ont guidé le développement de ces spécifications MPI standards. Ces derniers peuvent être matérialisés sur différentes plateformes cibles telles qu'une grille de calcul, des machines multiprocesseurs et multicores à mémoires partagées ou distribuées, un réseau de stations de travail interconnectés ou encore des environnements hybrides obtenus par la combinaison de ces architectures. Principalement, les standards MPI sont implémentés sur différents systèmes d'exploitation soit avec MPICH [32] ou OpenMPI [33] tous les deux des logiciels libres à haute performance et portable développés par des consortiums de chercheurs et des partenaires et collaborateurs industriels. +Plusieurs domaines sont couverts par les spécifications de MPI dont les plus importants sont cités ci-dessous [31,32,33]. +\begin{itemize} + +\item[$\bullet$] Groupes, contexte et communicateur: Définit l'initialisation de l'environnement d'exécution du programme parallèle MPI. Un groupe de processeurs est formé et un unique contexte de communication est créé et les deux sont intégrés ensemble dans un communicateur. + +\item[$\bullet$] La gestion de l'environnement MPI: Permet à l'utilisateur d'interagir avec l'environnement MPI créé lors du lancement du programme parallèle. Elle assure par abstraction la portabilité de l'application entre des plateformes matérielles et logicielles différentes. + +\item[$\bullet$] La gestion des processus: Définit la création des processus participant à l'exécution de l'application mais aussi détermine la topologie et la gestiobn des groupes de processus en accord par exemple avec des architectures complexes comme les grilles de calcul. + +\item[$\bullet$] Les types de données : Permettent de créer des structures de données complexes en mémoire à partir des types de données de base comme l'entier, le float, etc... + +\item[$\bullet$] Les communications: Rassemblent les spécifications des protocoles d'échanges de messages entre les processus. On distingue les communications point à point, les communications collectives mais aussi les entrées / sorties parallèles. + +\end{itemize} + +Le programme MPI s'exécute sur chaque processeur une fois que l'environnement logique est créé par la routine MPI\_Init. Ce dernier est constitué d'un groupe de processus, d'un contexte et d'un communicateur (par défaut MPI\_COMM\_WORLD), voir la figure \figref{MPI}-a. Chaque processus est identifié par son rang dans le groupe associé au communicateur (MPI\_Comm\_rank). Le nombre total de processus en jeu est donné par MPI\_Comm\_size. A la fin du code, MPI\_Finalize termine l'exécution en environnement MPI. De façon générale, une erreur arrête tous les processus en jeu. Toutefois, le programmeur peut gérer et personnaliser les erreurs au niveau de chaque processus ou globalement. Une routine MPI qui se termine avec succès retourne le code MPI\_SUCCESS. \\ -\subsection{Simulateur SIMGRID} +\mfigure[h]{width=8cm, height=8cm}{"MPI"} {Groupes et communicateur (a) - MPI - Opérations collectives (b)} {MPI} + +Au niveau de la communication, le transfert de message peut se faire d'un processus vers un autre (point à point). Pour cela, les routines MPI\_SEND et MPI\_RECV et leus variantes permettent respectivement d'envoyer et de recevoir un message. L'adresse du tampon contenant le message à traiter sont passées à ces fonctions avec le type de données ainsi que le nombre d'objets. La destination dans le cas d'un envoi est spécifiée par le rang du processus d'arrivée du message dans le communicateur considéré. Une variable de statut de l'opération permet de connaitre si l'opération a réussi ou a échoué. Cet échange peut se faire de manière synchrone ou asynchrone(resp. bloquant ou non bloquant). \\ +Contrairement à une communication point à point, une communication dite collective transfère un message à partir d'un processeur vers un ensemble de processeurs. L'exemple le plus courant est le "broadcast" ou diffusion où un processeur envoie le même message à destination d'un ensemble de processeurs. La figure \figref{MPI}-b montre les échanges entre les processus après l'appel à cette opération mais aussi d'autres types de communications collectives. Un processus avec MPI\_Scatter distribue une structure de données à d'autres processus participants tandis que MPI\_Gather rassemble des données de plusieurs processus participant en une seule structure. Enfin, les opérations de réduction appliquent une opération (somme, produit, maximum, minimum, etc ...)à un ensemble de processus et retourne le résultat vers le processus appellant. +La synchronisation des processus peut être obtenue avec la routine MPI\_Barrier qui, une fois lancée par un processus, bloque ce dernier jusqu'à ce que tous les processus de son groupe atteigne cette barrière comme un point de rendez-vous. + +\subsection{Simulateur SIMGRID - SMPI} +SimGrid est utilisé pour la simulation et l'étude du comportement d'applications parallèles dans un contexte d'un environnement complexe, hétérogène, distribué et dynamique. Il est conçu sur une simulation basée sur les évenements ("event driven") à un niveau d'abstraction et de fonctionnalités répondant aux applications et aux infrastructures [26]. \section{Motivations} @@ -618,7 +740,7 @@ La différence entre ces deux modes repose sur la variation de la taille du problème lors de la montée en charge (scaling). Pour le « weak » scaling, on essaie d'observer le comportement du programme en gardant le même nombre d'éléments à traiter -par processeur ou core. Dans ce cas, les ressources +par processeur ou coeur. Dans ce cas, les ressources de calcul additionnelles va augmenter proportionnellement à la taille du problème en entrée. Ainsi, la problématique ici est de résoudre un problème de plus grande taille. Par ailleurs, le « strong » scaling essaie de résoudre un problème donné plus vite. Ainsi, dans ce cas, @@ -854,7 +976,7 @@ A titre d'exemple de machines parallèles, le site Top500.org Ainsi, la figure \figref {power} montre l'évolution de la puissance de calcul mondiale dont le top actuel développe un pic de performance théorique proche de 50 PetaFlops (33 Linpack PetaFlops (renvoi)) avec -3.120.000 cores ( 16 noeuds avec des processeurs de 2x12 cores par +3.120.000 coeurs ( 16 noeuds avec des processeurs de 2x12 coeurs par noeud) et plus de 1.240.000 Gb de mémoire (64 Gb par noeud) avec des accélérateurs 3 $\times$ Intel Xeon Phi par noeud. Il s'agit de la machine Tianhe-2 (MilkyWay-2) de la National Super Computer @@ -1180,11 +1302,52 @@ de calcul reste bloqué (stalled). %\section*{Solutions apportées} -\section{Techniques de profiling et instrumentation des applications parallèles} +\section{Techniques d'analyse de performance des applications parallèles} +\subsection{Généralités et objectifs} +L'analyse de la performance des applications parallèles est largement utilisée et même recommandée lors de l'écriture et la mise au point du programme. En effet, pour déterminer et estimer le coût de l'execution du code, il est d'usage de procéder à l'analyse de la performance dans le but d'optimiser le programme parallèle afin de trouver la meilleure performance en termes de coûts (réduction du temps d'exécution, efficacité de l'utilisation des ressources, ...). \\ +Cette opération consiste surtout à détecter les "régions" et "hotspots" qui correspondent aux parties du code les plus consommatrices de ressources (CPU, mémoire) en particulier celles qui consomment le plus de temps de calcul ou de communication. Elle permet aussi de localiser les éventuels goulots d'étranglement lors de l'exécution du code. Les résultats de cette analyse permet de guider le développeur sur ses actions pour améliorer le code par la réécrire de certaines parties du code par exemple ou de procéder à un meilleur découpage du problème pour une meilleure répartition des charges et l'utilisation des mémoires ou encore par la modification de l'algorithme pour permettre une parallélisation plus poussée. +Plusieurs outils existent avec différentes approches pour effectuer cette analyse. +La section suivante montre que le modèle de performance établi lors de cette analyse permet aussi d'anticiper sur la prédiction de la performance de l'application parallèle avec la montée en charge [21]. En effet, l'analyse de la performance d'un code peut être utilisée pour prédire le comportement du programme soit d'une part sur un environnement de machines déterminé (benchmarking) soit d'autre part, avec une taille de problème plus importante. + +\subsection{Approches et méthodologie} +Dans le domaine du calcul parallèle, l'analyse du code d'une application suit les trois étapes suivantes [21,22]: +\begin{itemize} +\item [$\bullet$] L'acquisition et la collecte des données +\item [$\bullet$] L'enregistrement des données collectées +\item [$\bullet$] La représentation des résultats de l'analyse +\end{itemize} +Les deux derniers points sont regroupés sous le nom générique de "profiling" ou de "tracing" selon le modèle adopté de l'acquistion des données. La figure \figref{anaperf} montre ces trois couches de l'analyse de performance et décrit les différentes techniques utilisées pour cette analyse. Les flèches tracées sur la figure montrent les combinaisons possibles entre les techniques présentées. D'ailleurs, dans la pratique, d'autres combinaisons peuvent être expérimentées pour atteindre les objectifs fixés. + +\mfigure[h]{width=8cm, height=8cm}{"Performance Analysis techniques"} {Classification des techniques d'analyse de la performance} {anaperf} + +Cette approche à trois étapes commence par la collecte des données sur la performance du code qui consiste à deux techniques les plus utilisées à savoir le "sampling" (ou "l'échantillonage") et "l'instrumentation basée sur les évenements". +\begin{itemize} +\item [$\bullet$] Le "sampling" ou "l'echantillonage" capture les données décrivant l'état du code lors de l'exécution du programme à chaque instant défini par la fréquence de l'echantillonage. IL est réalisé généralement avec la mise en place d'un timer qui déclenche la collecte des données selon une période définie. Ces dernières se rapportent sur les statistiques relatives aux appels de fonctions ("call-path" des fonctions) mais aussi sur les compteurs matériels [22]. Ainsi, il est d'usage de collecter le temps d'exécution d'un fonction ou combien de fois la fonction a été appellée ou encore de façon plus détaillée, combien de fois une ligne de code est exécutée. Evidemment, l'efficacité de la méthode dépend du taux d'échantillonnage: les informations entre deux points de collecte ne sont pas disponibles pour l'analyse ultérieure. Par contre, la surcharge engrendrée par la technique peut être contrôlée par l'utilisateur par un choix adéquet de la fréquence de l'echantillonage. \\ +L'alternative pour collecter les données de la performance d'une application parallèle se porte sur l'instrumentation basée sur les évenements. D'abord, de façon générale, l'instrumentation du code consiste à ajouter manuellement ou automatiquement des instructions supplémentaires à des endroits choisis afin de rapporter à chaque passage des informations spécifiques. A titre d'exemple, on peut positionner un timer au début d'une portion du code et d'arrêter ce timer à la sortie de cette région. On peut ainsi collecter le temps total d'execution consommé par l'application pour exécuter cette partie du programme. Cette technique est largement utilisée par exemple pour détermijner le temps de communication nécessaire lors d'un appel d'une instruction MPI de transfert ou collective (MPI\_send, MPI\_receive ou autre MPI\_Barrier). Cette modification directe qui nécessite une récompilation du code est aussi appellée "instrumentation au niveau de la source". D'autres techniques utilisant des outils existent telles que les "libraries wrapping" ou la "réécriture du code binaire" [22]. Ces dernières n'ont pas besoin d'une recompilation du code. + +\item [$\bullet$] La deuxième étape du processus de la collecte des données en vue d'une future analyse consiste à enregister soit en mémoire soit sur un support de stockage externe les données obtenues lors de l'étape précédente. Deux techniques peuvent être exploitées à cette fin. D'abord, le "logging" ou le "tracing" permet d'ajouter le facteur temps sur les données collectées. Ainsi, avant le stockage, chaque entrée de données est estampillée d'une date de l'évenement (au format date - heure). Cette opération peut ajouter un temps de surcharge non négligeable lors de l'exécution.\\ +Afin de réduire cette dernière mais aussi pour optimiser la taille du fichier de trace obtenu, la technique de "summarization" consiste à agréger les données après la collecte et de ne stocker que le minimum d'informations utiles. Ce dernier est généralement appellé le "profile" de l'application [21,22]. Certains détails peuvent être perdus avec cette méthode mais il s'agit ici de faire une balance entre la taille la granularité de l'information et la taille des données stockées. + +\item [$\bullet$] La troisième et dernière étape de l'analyse de la performance concerne la visualisation des données collectées en vue de l'analyse proporement dite et des décisions à prendre pour améliorer et optimiser l'exécution de l'application. Dans la même ligne de l'étape précédente, soient les données sont visualisées "au fil du temps" en suivant l'exécution du code sur les différentes machines de l'environnement parallèle, soient elles sont représentées par un groupement selon un facteur compréhensible par l'analyste (par fonction par exemple), on est en présence d'une technique générant un "timelines" ou un "profile" de l'application respectivement. + +\end{itemize} + +Noter que l'approche présentée dans cette section présente les techniques en vue d'optimiser le code de l'application pour un meilleur temps d'exécution en l'occurrence. Ainsi, elle ne prend pas en compte la performance lors de la scalabilité de l'application pour une prédiction du comportement du code lors du passage à l'echelle. Cette partie sera traitée au paragraphe ... +Plusieurs outils d'analyse de la performance parallèle utilisant une ou des combinaisons de ces différentes techniques tels que Gprof, PerfExpert, IPM, TAU, PAPI, HPCToolkit, SCala [...] sont largement utilisés. La prochaine section donne plus de détails sur certains de ces produits. + + +\subsection{Quelques outils d'analyse de performance} + - IPM -\section{Méthodes de prédiction de la performance de l'application parallèle} +TAU a été conçu à l'Université d'Oregon comme un outil open source d'évaluation de performance [24]. Il intègre le profiling et le tracing constituant une platerme complète couvrant les trois étapes de l'analyse d'une applicatio parallèle. L'instrumentation du code peut être effectuée d'une façon complètement automatique avec un package fourni ("PDT - Program Database Toolkit - for routines")collectant toutes les informations sur les régions et hotspots du code, l'utilisation mémoire, les boucles, les entrées/sorties,...Selon le paramètrage de lancement, TAU peut collecter des informations les plus fines telles que le temps passé à chaque instruction dans une boucle ou le temps passé dans les communications à une étape du programme particulièrement dans les instructions collectives MPI par exemple. Toutes ces données peuvent par la suite être visualisées sous forme graphique (Paraprof 3D browser) pour une analyse fine afin d'optimiser la performance. + - SCALASCA + + +\section{Méthodes de prédiction de la performance des applications parallèles} + +%Voir [23] \section{Conclusion partielle} @@ -1305,8 +1468,30 @@ Multiprocessor Scheduling Policy Design. \textit{Department of Computer Science {[}21{]} G. Ballard et Al. Communication Optimal Parallel Multiplication of Sparse Random Matrices". \textit{UC Berkeley, INRIA Paris Rocquencourt, Tel-Aviv University}. http://www.eecs.berkeley.edu/\textasciitilde{}odedsc/papers/spaa13-sparse.pdf + +{[}22{]} T. Ilsche, J. Schuchart, R. Schöne, and Daniel Hackenberg. Combining Instrumentation and Sampling for Trace-based Application Performance Analysis. \textit{Technische Universität Dresden, Center for Information Services and High Performance Computing (ZIH), 01062 Dresden, Germany} + +{[}23{]} J.A. Smitha, S.D. Hammond, G.R. Mudalige - J.A. Davis, A.B. Mills, S.DJarvis. A New Profiling Tool for Large Scale Parallel Scientific Codes. \textit{Department of Computer Science, University of Warwick,Coventry, UK} +{[}24{]} S. Shende - New Features in the TAU Performance System - \textit{ParaTools, Inc and University of Oregon. 2014}. + +{[}25{]} M. Mollamotalebi1, R. Maghami1, A. S. Ismail - "Grid and Cloud Computing Simulation Tools" - \textit{International Journal of Networks and Communications 2013, 3(2): 45-52 - DOI: 10.5923/j.ijnc.20130302.02} + +{[}26{]} F. Cappello et al. - Grid’5000: a large scale and highly reconfigurable Grid experimental testbed - \textit{INRIA, LRI, LIP, IRISA, LORIA, LIFL, LABRI, IMAG} + +{[}27{]} Grid'5000 - http://www.grid5000.org +{[}28{]} A. Sulistio, C. Shin Yeo et R. Buyya - Simulation of Parallel and Distributed Systems: A Taxonomy and Survey of Tools Grid Computing and Distributed Systems (GRIDS)- \textit{Laboratory Dept of Computer Science and Software Engineering The University of Melbourne, Australia}. + +{[}29{]} http://www.dau.mil/ - Defense Acquisition University (DAU) - Ft Belvoir (VA) - USA. + +{[}30{]} R. M. Fujimoto - Parallel and Distributed Simulation Systems - \textit{Georgia Institute of Technology - John Wiley \& Sons, Inc. - ISBN 0-471-18383-0} - 2000 + +{[}31{]} MPI: A Message-Passing Interface Standard Version 3.- \textit{University of Tennessee, Knoxville, Tennessee.} - 2015 + +{[}32{]} MPICH : www.mpich.org + +{[}33{]} OpenMPI : www.openmpi.org %%-------------------- %% List of figures and tables diff --git a/These_RCE.toc b/These_RCE.toc index c721e0e..7e75c89 100644 --- a/These_RCE.toc +++ b/These_RCE.toc @@ -1,5 +1,5 @@ \select@language {french} -\contentsline {part}{I\hspace {1em}Contexte scientifique et revue de l'\IeC {\'e}tat de l'art}{3}{part.1} +\contentsline {part}{I\hspace {1em}PARTIE I: Contexte scientifique et revue de l'\IeC {\'e}tat de l'art}{3}{part.1} \contentsline {chapter}{\numberline {1}Cadre de travail et contexte scientifique}{5}{chapter.1} \contentsline {section}{\numberline {1.1}Classe des algorithmes it\IeC {\'e}ratifs parall\IeC {\`e}les \IeC {\`a} large \IeC {\'e}chelle dans une grille de calcul}{5}{section.1.1} \contentsline {subsection}{\numberline {1.1.1}Partitionnement du probl\IeC {\`e}me}{6}{subsection.1.1.1} @@ -8,43 +8,48 @@ \contentsline {subsection}{\numberline {1.2.1}Algorithme de Jacobi}{9}{subsection.1.2.1} \contentsline {subsection}{\numberline {1.2.2}M\IeC {\'e}thode de r\IeC {\'e}solution GMRES}{9}{subsection.1.2.2} \contentsline {subsection}{\numberline {1.2.3}Solveur multisplitting}{9}{subsection.1.2.3} -\contentsline {section}{\numberline {1.3}SIMGRID/SMPI : Simulateur d'ex\IeC {\'e}cution d'algorithmes parall\IeC {\`e}les MPI dans une grille de calcul}{10}{section.1.3} -\contentsline {subsection}{\numberline {1.3.1}MPI - Message Passing Interface}{10}{subsection.1.3.1} -\contentsline {subsection}{\numberline {1.3.2}Simulateur SIMGRID}{10}{subsection.1.3.2} -\contentsline {section}{\numberline {1.4}Motivations}{10}{section.1.4} -\contentsline {section}{\numberline {1.5}Conclusion partielle}{10}{section.1.5} -\contentsline {chapter}{\numberline {2}Etat de l'art et travaux de recherche associ\IeC {\'e}s}{11}{chapter.2} -\contentsline {section}{\numberline {2.1}Concepts et d\IeC {\'e}finitions}{11}{section.2.1} -\contentsline {subsection}{\numberline {2.1.1}Performance de l'application parall\IeC {\`e}le et scalabilit\IeC {\'e}}{11}{subsection.2.1.1} -\contentsline {subsection}{\numberline {2.1.2}Taux d'erreur lors de la pr\IeC {\'e}diction}{13}{subsection.2.1.2} -\contentsline {subsection}{\numberline {2.1.3}Weak contre strong scaling}{13}{subsection.2.1.3} -\contentsline {section}{\numberline {2.2}Probl\IeC {\'e}matique sur la pr\IeC {\'e}diction \IeC {\`a} large \IeC {\'e}chelle de la performance des applications}{14}{section.2.2} -\contentsline {subsection}{\numberline {2.2.1}Facteurs li\IeC {\'e}s \IeC {\`a} l'\IeC {\'e}cosyst\IeC {\`e}me}{15}{subsection.2.2.1} -\contentsline {subsubsection}{\numberline {2.2.1.1}Facteur architecture des processeurs}{16}{subsubsection.2.2.1.1} -\contentsline {subsubsection}{\numberline {2.2.1.2}Facteur : M\IeC {\'e}moire et stockage}{18}{subsubsection.2.2.1.2} -\contentsline {subsubsection}{\numberline {2.2.1.3}Facteur : R\IeC {\'e}seaux de communication}{22}{subsubsection.2.2.1.3} -\contentsline {subsection}{\numberline {2.2.2}Facteurs li\IeC {\'e}s au code de l'application}{22}{subsection.2.2.2} -\contentsline {subsubsection}{\numberline {2.2.2.1}Facteur : Taille du probl\IeC {\`e}me}{23}{subsubsection.2.2.2.1} -\contentsline {subsubsection}{\numberline {2.2.2.2}Performance de la parall\IeC {\'e}lisation}{23}{subsubsection.2.2.2.2} -\contentsline {section}{\numberline {2.3}Techniques de profiling et instrumentation des applications parall\IeC {\`e}les}{26}{section.2.3} -\contentsline {section}{\numberline {2.4}M\IeC {\'e}thodes de pr\IeC {\'e}diction de la performance de l'application parall\IeC {\`e}le}{26}{section.2.4} -\contentsline {section}{\numberline {2.5}Conclusion partielle}{26}{section.2.5} -\contentsline {part}{II\hspace {1em}PARTIE II - Travaux de contributions, r\IeC {\'e}sultats et perspectives}{27}{part.2} -\contentsline {chapter}{\numberline {3}Comparaison par simulation \IeC {\`a} large \IeC {\'e}chelle de la performance de deux algorithmes it\IeC {\'e}ratifs parall\IeC {\`e}les en mode asynchrone}{29}{chapter.3} -\contentsline {section}{\numberline {3.1}Protocoles et exp\IeC {\'e}rimentations}{29}{section.3.1} -\contentsline {section}{\numberline {3.2}R\IeC {\'e}sultats}{29}{section.3.2} -\contentsline {section}{\numberline {3.3}Conclusion partielle}{29}{section.3.3} -\contentsline {chapter}{\numberline {4}Simulation avec SIMGRID de l\textquoteright ex\IeC {\'e}cution des solveurs lin\IeC {\'e}aires en mode synchrone et asynchrone sur un environnement multi-coeurs simul\IeC {\'e}s}{31}{chapter.4} -\contentsline {section}{\numberline {4.1}Protocoles et exp\IeC {\'e}rimentations}{31}{section.4.1} -\contentsline {section}{\numberline {4.2}R\IeC {\'e}sultats}{31}{section.4.2} -\contentsline {section}{\numberline {4.3}Conclusion partielle}{31}{section.4.3} -\contentsline {chapter}{\numberline {5}Mod\IeC {\`e}le de pr\IeC {\'e}diction de la performance \IeC {\`a} large \IeC {\'e}chelle d'un algorithme it\IeC {\'e}ratif parall\IeC {\`e}le}{33}{chapter.5} -\contentsline {section}{\numberline {5.1}Approche et m\IeC {\'e}thodologie}{33}{section.5.1} -\contentsline {section}{\numberline {5.2}Exp\IeC {\'e}rimentations et r\IeC {\'e}sultats}{33}{section.5.2} -\contentsline {section}{\numberline {5.3}Conclusion partielle}{33}{section.5.3} -\contentsline {chapter}{\numberline {6}Conclusion g\IeC {\'e}n\IeC {\'e}rale et perspectives}{35}{chapter.6} -\contentsline {section}{\numberline {6.1}Conclusion g\IeC {\'e}n\IeC {\'e}rale}{35}{section.6.1} -\contentsline {section}{\numberline {6.2}Travaux futurs et perspectives}{35}{section.6.2} -\contentsline {part}{III\hspace {1em}Annexes}{47}{part.3} -\contentsline {chapter}{\numberline {A}Premier chapitre des annexes}{49}{appendix.A} -\contentsline {chapter}{\numberline {B}Second chapitre des annexes}{51}{appendix.B} +\contentsline {section}{\numberline {1.3}Simulateurs d'ex\IeC {\'e}cution d'algorithmes parall\IeC {\`e}les MPI dans une grille de calcul}{9}{section.1.3} +\contentsline {subsection}{\numberline {1.3.1}Calcul sur grille}{9}{subsection.1.3.1} +\contentsline {subsection}{\numberline {1.3.2}G\IeC {\'e}n\IeC {\'e}ralit\IeC {\'e}s sur la simulation}{11}{subsection.1.3.2} +\contentsline {subsection}{\numberline {1.3.3}MPI - Message Passing Interface}{13}{subsection.1.3.3} +\contentsline {subsection}{\numberline {1.3.4}Simulateur SIMGRID - SMPI}{15}{subsection.1.3.4} +\contentsline {section}{\numberline {1.4}Motivations}{15}{section.1.4} +\contentsline {section}{\numberline {1.5}Conclusion partielle}{15}{section.1.5} +\contentsline {chapter}{\numberline {2}Etat de l'art et travaux de recherche associ\IeC {\'e}s}{17}{chapter.2} +\contentsline {section}{\numberline {2.1}Concepts et d\IeC {\'e}finitions}{17}{section.2.1} +\contentsline {subsection}{\numberline {2.1.1}Performance de l'application parall\IeC {\`e}le et scalabilit\IeC {\'e}}{17}{subsection.2.1.1} +\contentsline {subsection}{\numberline {2.1.2}Taux d'erreur lors de la pr\IeC {\'e}diction}{19}{subsection.2.1.2} +\contentsline {subsection}{\numberline {2.1.3}Weak contre strong scaling}{19}{subsection.2.1.3} +\contentsline {section}{\numberline {2.2}Probl\IeC {\'e}matique sur la pr\IeC {\'e}diction \IeC {\`a} large \IeC {\'e}chelle de la performance des applications}{20}{section.2.2} +\contentsline {subsection}{\numberline {2.2.1}Facteurs li\IeC {\'e}s \IeC {\`a} l'\IeC {\'e}cosyst\IeC {\`e}me}{21}{subsection.2.2.1} +\contentsline {subsubsection}{\numberline {2.2.1.1}Facteur architecture des processeurs}{22}{subsubsection.2.2.1.1} +\contentsline {subsubsection}{\numberline {2.2.1.2}Facteur : M\IeC {\'e}moire et stockage}{24}{subsubsection.2.2.1.2} +\contentsline {subsubsection}{\numberline {2.2.1.3}Facteur : R\IeC {\'e}seaux de communication}{28}{subsubsection.2.2.1.3} +\contentsline {subsection}{\numberline {2.2.2}Facteurs li\IeC {\'e}s au code de l'application}{28}{subsection.2.2.2} +\contentsline {subsubsection}{\numberline {2.2.2.1}Facteur : Taille du probl\IeC {\`e}me}{29}{subsubsection.2.2.2.1} +\contentsline {subsubsection}{\numberline {2.2.2.2}Performance de la parall\IeC {\'e}lisation}{29}{subsubsection.2.2.2.2} +\contentsline {section}{\numberline {2.3}Techniques d'analyse de performance des applications parall\IeC {\`e}les}{32}{section.2.3} +\contentsline {subsection}{\numberline {2.3.1}G\IeC {\'e}n\IeC {\'e}ralit\IeC {\'e}s et objectifs}{32}{subsection.2.3.1} +\contentsline {subsection}{\numberline {2.3.2}Approches et m\IeC {\'e}thodologie}{32}{subsection.2.3.2} +\contentsline {subsection}{\numberline {2.3.3}Quelques outils d'analyse de performance}{34}{subsection.2.3.3} +\contentsline {section}{\numberline {2.4}M\IeC {\'e}thodes de pr\IeC {\'e}diction de la performance des applications parall\IeC {\`e}les}{35}{section.2.4} +\contentsline {section}{\numberline {2.5}Conclusion partielle}{35}{section.2.5} +\contentsline {part}{II\hspace {1em}PARTIE II - Travaux de contributions, r\IeC {\'e}sultats et perspectives}{37}{part.2} +\contentsline {chapter}{\numberline {3}Comparaison par simulation \IeC {\`a} large \IeC {\'e}chelle de la performance de deux algorithmes it\IeC {\'e}ratifs parall\IeC {\`e}les en mode asynchrone}{39}{chapter.3} +\contentsline {section}{\numberline {3.1}Protocoles et exp\IeC {\'e}rimentations}{39}{section.3.1} +\contentsline {section}{\numberline {3.2}R\IeC {\'e}sultats}{39}{section.3.2} +\contentsline {section}{\numberline {3.3}Conclusion partielle}{39}{section.3.3} +\contentsline {chapter}{\numberline {4}Simulation avec SIMGRID de l\textquoteright ex\IeC {\'e}cution des solveurs lin\IeC {\'e}aires en mode synchrone et asynchrone sur un environnement multi-coeurs simul\IeC {\'e}s}{41}{chapter.4} +\contentsline {section}{\numberline {4.1}Protocoles et exp\IeC {\'e}rimentations}{41}{section.4.1} +\contentsline {section}{\numberline {4.2}R\IeC {\'e}sultats}{41}{section.4.2} +\contentsline {section}{\numberline {4.3}Conclusion partielle}{41}{section.4.3} +\contentsline {chapter}{\numberline {5}Mod\IeC {\`e}le de pr\IeC {\'e}diction de la performance \IeC {\`a} large \IeC {\'e}chelle d'un algorithme it\IeC {\'e}ratif parall\IeC {\`e}le}{43}{chapter.5} +\contentsline {section}{\numberline {5.1}Approche et m\IeC {\'e}thodologie}{43}{section.5.1} +\contentsline {section}{\numberline {5.2}Exp\IeC {\'e}rimentations et r\IeC {\'e}sultats}{43}{section.5.2} +\contentsline {section}{\numberline {5.3}Conclusion partielle}{43}{section.5.3} +\contentsline {chapter}{\numberline {6}Conclusion g\IeC {\'e}n\IeC {\'e}rale et perspectives}{45}{chapter.6} +\contentsline {section}{\numberline {6.1}Conclusion g\IeC {\'e}n\IeC {\'e}rale}{45}{section.6.1} +\contentsline {section}{\numberline {6.2}Travaux futurs et perspectives}{45}{section.6.2} +\contentsline {part}{III\hspace {1em}Annexes}{57}{part.3} +\contentsline {chapter}{\numberline {A}Premier chapitre des annexes}{59}{appendix.A} +\contentsline {chapter}{\numberline {B}Second chapitre des annexes}{61}{appendix.B} diff --git a/UMA architecture.pdf b/UMA architecture.pdf index b003c1e..32a1269 100644 Binary files a/UMA architecture.pdf and b/UMA architecture.pdf differ diff --git a/Weak vs Strong scaling.pdf b/Weak vs Strong scaling.pdf index 076fb05..012990a 100644 Binary files a/Weak vs Strong scaling.pdf and b/Weak vs Strong scaling.pdf differ