Résumé :
-
Dans le domaine du calcul scientifique, les principaux objectifs sont
d'effectuer rapidement un très grand nombre de calculs ainsi que de traiter
des problèmes de grande taille. Pour atteindre ces buts, le calcul
parallèle a été développé, d'abord par le biais de machines spécifiques
telles que les calculateurs vectoriels et les machines à mémoire
partagée. Puis, avec la baisse des coûts de production des machines et
l'augmentation de leur puissance, le parallélisme s'est tourné vers les
grappes locales de stations de travail. Enfin, l'amélioration des débits
dans le réseau mondial a permis ces dernières années d'envisager
l'utilisation de grappes de grappes de machines, c'est-à-dire, des grappes
de machines géographiquement distantes et reliées entre elles via
l'Internet.
-
Cette extension du concept de machine parallèle permet théoriquement de
rassembler l'ensemble des machines du parc mondial qui sont reliées à
l'Internet. Elle a donc le double avantage d'augmenter la puissance de
calcul mais aussi la capacité de stockage en mémoire vive et en mémoire de
masse, ce qui permet de traiter des problèmes de très grandes tailles.
-
Cependant, la programmation de telles méta-grappes ne peut plus être
tout à fait la même que celle des machines classiques ou même des grappes
locales de machines. En effet, dans cette nouvelle architecture,
l'hétérogénéité des machines utilisées et des liens de communication entre
celles-ci génère des contraintes fortes pour obtenir de bonnes performances.
Notamment, la synchronisation des communications entre les processeurs
induit généralement une perte majeure de performance.
-
Il est donc essentiel de proposer un nouveau type d'algorithmes qui permette
d'utiliser de la manière la plus efficace possible ces méta-grappes. C'est
pour ces raisons qu'après avoir travaillé sur des algorithmes parallèles
synchrones lors de ma thèse, j'ai orienté mes recherches sur
l'asynchronisme, dans le cadre continu d'une part, avec les algorithmes
itératifs parallèles, et dans le cadre discret d'autre part, avec les
systèmes dynamiques à états finis et temps discret.
-
L'asynchronisme permet de résoudre efficacement un grand nombre de problèmes
scientifiques sur des méta-grappes en apportant la souplesse nécessaire pour
s'adapter aux différentes vitesses des processeurs et des liens de
communication entre ceux-ci. Néanmoins, pour garantir un comportement
stable et obtenir une efficacité optimale, plusieurs aspects doivent être
étudiés et/ou adaptés selon le cadre d'utilisation. Dans le cadre continu,
on s'intéressera notamment aux conditions de convergence du processus
itératif, la détection de cette convergence, la procédure d'arrêt et
l'équilibrage de charge. Dans le cadre discret, on s'intéressera également
à la convergence du système, en tentant d'identifier précisément les états
initiaux qui mènent à un point fixe donné, ainsi qu'à l'étude théorique du
comportement asynchrone et à la combinaison du synchronisme et de
l'asynchronisme pour concevoir de nouveaux systèmes ayant un comportement
donné.
Manuscrit en PDF