Master d’informatique 2008 2009
srsar
Proposition de thèse (Franche-Comté)

Le laboratoire d’informatique de l’université de Franche-Comté (http://lifc.univ-fcomte.fr) propose un sujet de thèse pour la rentrée prochaine à l’IUT de Belfort au sein de l’équipe AND (Algorithmique Numérique Distribuée), financé par la région. Les candidats intéressés sont invités à envoyer CV, lettre de motivation et lettres de recommandation, le plus rapidement possible aux deux encadrants :

Raphaël Couturier : raphael.couturier@univ-fcomte.fr
Jacques Bahi : jacques.bahi@univ-fcomte.fr

Titre : Résolution de systèmes linéaires sur grilles et clusters de GPU. Performance versus coût énergétique.

Sujet de thèse :

Actuellement, les grilles de calcul se démocratisent étant donné leur faible coût par rapport à la puissance de calcul dont elles proposent. C’est pourquoi les laboratoires et les entreprises utilisent de plus en plus ces ressources afin de modéliser plus finement les phénomènes qu’ils souhaitent étudier (simulations physiques, biologiques, chimiques, crash tests) dans de nombreux domaines scientifiques.

Une grande partie des simulations nécessite, à une certaine étape de leur processus, la résolution de systèmes linéaires. Il existe de nombreux outils ou solveurs adaptés à la résolution de systèmes linéaires pour grappes de calcul locales (c’est à dire un ensemble de machines situées sur le même site géographique avec un réseau de communication performant). Cependant, la résolution de tels systèmes sur des grilles de calcul distantes est problématique étant donné les dépendances de calcul entre les processeurs, la latence des communications et le coût des synchronisations. Plusieurs études ont montré que les outils traditionnels pour grappes ne sont pas adaptés à utilisation sur grilles de calcul distantes.

Nous avons montré qu’une solution pour résoudre des calculs sur grilles de calcul consiste à utiliser des méthodes itératives asynchrones. Celles-ci permettent d’accélérer la vitesse des simulations de phénomènes, linéaires ou non, dans un contexte distant. En effet, l’hétérogénéité des processeurs, des réseaux, les variations de débits et de latence sont « masquées » par le caractère asynchrone du processus.

L’objectif de cette thèse est triple. Il s’agit, d’une part, d’étudier comment coupler efficacement l’utilisation de solveurs synchrones pour résoudre localement les sous-systèmes linéaires (obtenus après décomposition) et de solveurs asynchrones pour résoudre la globalité du système. Ce couplage n’a jamais été étudié en pratique. Il doit offrir les avantages des deux concepts. La performance des méthodes synchrones dans un contexte local et la souplesse des méthodes asynchrones entre les sites distants. De plus, il offre la possibilité d’utiliser différents solveurs linéaires (directs ou itératifs) si ceux-ci ne sont pas homogènes entre plusieurs grappes de calcul. En effet, il est fréquent de rencontrer une hétérogénéité au niveau logiciel dans les grilles de calcul.

D’autre part, l’autre objectif de cette thèse est d’étudier comment construire des solveurs de systèmes linéaires tirant partie des capacités de calcul des architectures équipées de GPU (Graphics Processing Units). Ces processeurs spécialisés pour l’affichage 3D permettent de calculer certains problèmes beaucoup plus rapidement que les processeurs standards. Néanmoins, il est nécessaire de concevoir une partie de code spécifique à ces processeurs graphiques. Ainsi un cluster de GPU comporte trois niveaux de parallélisation. Le premier est entre les machines. Le second se situe entre les processeurs traditionnels d’une même machine. Finalement, le dernier se place au niveau des unités de calcul des GPU. Bien entendu, l’usage des algorithmes itératifs asynchrones sera spécialement étudié afin d’éviter autant que possible les problèmes de synchronisations entre unités de calcul et afin de résoudre dans la mesure du possible l’hétérogénéité des processeurs.

Finalement, les deux parties précédentes seront liées par un étude de la consommation énergétique des algorithmes. En effet, il nous semble opportun de tenir compte de ce critère environnemental. L’objectif sera de réaliser des algorithmes consommant moins de ressources énergétiques que les algorithmes actuels.

Compétences souhaitées :
Connaissance en programmation parallèle
Connaissance en algorithmique numérique
Connaissance en développement sur GPU