Parallelisation d'un langage fonctionnel sur une machine parallele avec une architecture non conventionnelle
Institution:
Paris 6Disciplines:
Directors:
Abstract EN:
Pas de résumé disponible.
Abstract FR:
Cette these decrit la parallelisation du langage applicatif graal sur une architecture non conventionnelle, telle que la machine armen. Graal est un langage fonctionnel base sur la theorie de combinateurs. Son principe fondamental est la notion de forme fonctionnelle. L'implementation parallele de graal a ete effectuee sous la forme d'un interprete qui s'occupe d'evaluer directement les expressions donnees par l'utilisateur. Les expressions paralleles sont evaluees par l'ensemble de processeurs constituant la machine. La reduction des expressions sequentielles se fait dans le meme processeur, que la ou elles sont lues. Le principe utilise pour la construction de l'interprete est celui de la reduction de graphe. Un mecanisme explicite de gestion d'expressions parallelisees a ete cree. Des etats ont ete definis pour effectuer cette gestion. Une nouvelle instruction, notee par, a ete ajoutee dans le noyau de base de la version parallele de graal. Elle permet la parallelisation de fonctions et d'expressions. Puisque cette instruction ne fait pas reference a un processeur specifique, les programmes ainsi parallelises sont alors independants du nombre de processeurs et de la topologie de la machine. Une couche de programmation a ete construite au-dessus de graal pour la creation d'une version parallele de scheme. Les fonctions scheme sont transformees en code graal parallele. Un mecanisme d'abstraction de variables a ete propose a cet effet. Il a ete programme en graal ce qui le rend transparent pour l'utilisateur. Il doit faire appel a une fonction de l'interprete quand il veut passer au mode scheme. Il est possible de melanger du code graal et du code scheme