Le calcul parallèle - Le CETMEF
Le calcul parallèle - Le CETMEF
Le calcul parallèle - Le CETMEF
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
communication. Elle facilite la répartition de charge mais entraîne un surcoût important de communication<br />
et laisse peu d'opportunités d'augmenter les performances.<br />
Une granularité forte, à l'inverse, signifie qu'il y a relativement peu de communication en comparaison<br />
avec les périodes de <strong>calcul</strong>. Cela laisse plus d'opportunités d'augmenter les performances mais la<br />
répartition de la charge est beaucoup moins évidente à mettre en place.<br />
<strong>Le</strong>s limites des applications <strong>parallèle</strong>s<br />
La loi d'Amdahl montre que le gain maximum que l'on peut avoir lors que l'on développe une application<br />
<strong>parallèle</strong> par rapport à la même application mais non <strong>parallèle</strong> est fonction du pourcentage du code qu'il<br />
est possible de rendre <strong>parallèle</strong>.<br />
Soit P le pourcentage de code parallélisable, le gain maximum est 1 / ( 1 - P )<br />
Soit N le nombre de processeurs et S le pourcentage de code non <strong>parallèle</strong>, le gain est 1 / ( P/N + S)<br />
On voit bien que plus on ajoute de processeurs, plus le gain sera élevé. Mais ceci n'est que la limite<br />
théorique, elle ne prend pas en compte les problèmes soulevés par la mise en <strong>parallèle</strong> des <strong>calcul</strong>s<br />
(communications, synchronisations, dépendances, ...).<br />
De plus, les applications <strong>parallèle</strong>s sont plus complexes à développer. En effet, les exécutions<br />
simultanées et les flots de données entre ces exécutions ne sont pas des plus faciles à appréhender.<br />
<strong>Le</strong> choix de la technique dépend donc fortement du <strong>calcul</strong> à effectuer en fonction des propriétés de ce<br />
dernier. Il faut trouver un compromis entre la communication entre les sites qui est souvent coûteuse et la<br />
taille des données du <strong>calcul</strong>.<br />
<strong>Le</strong>s facteurs limitant la vitesse d'un <strong>calcul</strong> <strong>parallèle</strong> sont :<br />
• <strong>Le</strong> démarrage de la tâche<br />
• <strong>Le</strong>s synchronisations<br />
• <strong>Le</strong>s communications des données<br />
• <strong>Le</strong>s limites fixées par le compilateur, les bibliothèques, les outils, le système d'exploitation.<br />
Conclusion<br />
Comme je l'ai dit à plusieurs reprises, la conception d'un système de <strong>calcul</strong> <strong>parallèle</strong> et distribué est très<br />
fortement influencée par la ou les applications que devra faire fonctionner ce système. Mais une fois que<br />
l'architecture matérielle a été choisie, il convient également de bien choisir les algorithmes qui seront<br />
utilisés. En effet, certains mécanismes sont plus efficaces sur des architectures bien particulières.<br />
Par exemple, une application programmée à l'aide de threads sera plus adaptée sur des processeurs à<br />
mémoire partagée puisque les threads partagent le même espace mémoire.<br />
Si le volume des données est trop important pour tenir dans la mémoire d'un des processeurs, il est plus<br />
judicieux, si cela est possible, de la répartir sur les différents processeurs du système. Dans ce cas, les<br />
systèmes à base de mémoire distribuée seront à privilégier pour mieux répartir le volume des données<br />
entre les noeuds.<br />
Par contre, il est intéressant de noter, que si l'on souhaite lancer une même application sur des volumes<br />
limités de données différentes, les deux architectures peuvent convenir.<br />
Donc, si le système de <strong>calcul</strong> est amené à faire fonctionner un panel d'applications diverses, il peut être<br />
préférable de mélanger les deux types d'architecture mémoire et d'optimiser l'équilibrage de charge (et<br />
donc la répartition de la charge de travail) sur les processeurs les plus adaptés à la tâche.<br />
Conception d'un système à haute performance - <strong>Le</strong> <strong>calcul</strong> <strong>parallèle</strong> 6/6 Copyright © <strong>CETMEF</strong> 2004