Traitement de l'irregularite dans la parallelisation de code sequentiel par distribution des donnees
Institution:
OrléansDisciplines:
Directors:
Abstract EN:
Pas de résumé disponible.
Abstract FR:
Cette these est consacree a l'etude d'un modele cible pour la traduction de code sequentiel en code parallele. Les approches classiques de la parallelisation automatique impliquent l'analyse exacte des dependances de donnees entre les operations. L'experience a montre que cette methode est souvent inefficace dans le cas des calculs sur objets irreguliers. Le principe de la resolution dynamique des acces offre une reponse simple pour la traduction de code presentant des acces irreguliers aux donnees. Toutefois, dans les approches classiques, les performances sont limitees par le modele de communication. Nous proposons une methode de traduction reprenant le principe de la resolution dynamique des acces. Notre approche consiste a structurer les programmes de telle sorte que les informations de dependances et d'independances entre les instructions soient representees par la syntaxe. Les synchronisations sont basees sur l'attente de signaux diffusant des compteurs multi niveaux, les horloges structurelles. Les acces en memoire distante sont diriges par la structure syntaxique du programme. Nous proposons un langage dont la machine abstraite est basee sur le modele precedent de synchronisation et de communication. Les lectures en memoire distante dirigees par la syntaxe permettent d'eviter les synchronisations globales lors de la traduction de codes sequentiels. Lorsqu'une analyse de dependance, meme partielle, est praticable on peut remplacer les acces en memoire distante par des envois de messages. Le modele de synchronisation dirige par la syntaxe permet alors d'eviter le parcours de toutes les structures de controle par tous les indices. Nous montrons qu'il est possible de valider formellement l'approche. Nous terminons en donnant des exemples de programmes parallelises selon notre methode et en comparant leurs performances avec celles de programmes parallelises suivant des approches plus classiques.