thesis

Environnement pour la compilation dirigée par les données : supports d'exécution et expérimentations

Defense date:

Jan. 1, 1995

Edit

Institution:

Rennes 1

Disciplines:

Authors:

Directors:

Abstract EN:

Pas de résumé disponible.

Abstract FR:

La difficulte de programmation des architectures paralleles a memoire distribuee est un obstacle a l'exploitation de leur puissance de calcul potentielle. Parmi les differentes approches proposees pour pallier cette difficulte, celle de la compilation dirigee par les donnees semble prometteuse, notamment dans le domaine du calcul scientifique. Le programme source, exprime par exemple en hpf, est un programme sequentiel imperatif dans lequel il est precise comment sont reparties les donnees sur les processeurs ; le compilateur derive un code parallele en distribuant le controle d'apres la distribution des donnees. La mise en uvre de cette approche necessite le developpement d'environnements complets. Cette these presente le travail realise dans le cadre d'un environnement de ce type: l'environnement pandore. Nous nous sommes interesses a la conception et la realisation d'un executif portable et efficace qui doit etre associe au compilateur ainsi qu'a l'evaluation des performances des programmes generes. Apres avoir situe l'approche de la compilation par distribution de donnees dans le contexte plus large de la programmation des machines paralleles a memoire distribuee, nous definissons des operations de haut niveau qui permettent la description des schemas de compilation et la prise en compte des optimisations. Deux types de machines cibles sont consideres, d'une part des machines a messages et d'autre part des machines disposant d'un mecanisme de memoire virtuelle partagee. Les points cles de la mise en uvre des operations dans le compilateur et l'executif sont abordes. Nous insistons plus particulierement sur la gestion des donnees distribuees et sur les optimisations des communications a l'execution. Une mise en uvre realisee dans l'environnement pandore est ensuite detaillee. L'evaluation des performances des programmes est egalement etudiee, dans un premier temps par une serie d'experimentations sur plusieurs applications et dans un deuxieme temps par la definition d'outils de mesure et de visualisation adaptes a la compilation par distribution de donnees