thesis

Un modèle de coût symbolique pour les programmes parallèles asynchrones à dépendances structurées

Defense date:

Jan. 1, 2000

Edit

Institution:

Orléans

Disciplines:

Authors:

Abstract EN:

Pas de résumé disponible.

Abstract FR:

L'objectif d'une parallélisation est souvent de minimiser en premier lieu le temps d'exécution. Il paraît donc indispensable de disposer d'un modèle permettant d'évaluer a priori les performances d'un algorithme. Or, l'évaluation repose sur l'identification des synchronisations pour chaque exécution (dépendances-écriture-lecture). Sans restriction de l'expression du parallélisme, un calcul exact conduit généralement à une explosion combinatoire. Pour pallier ce problème, les modèles de coût classiques, ne prennent généralement en compte qu'une partie du parallélisme possible, permettant ainsi de définir statiquement un surensemble cohérent des dépendances de toutes les exécutions d'un algorithme. Nous proposons un modèle intermédiaire fondé sur la structuration de la résolution dynamique des accès aux données. Nous montrons qu'il est possible de représenter symboliquement l'ensemble des dépendances effectives de chaque exécution, et d'obtenir ainsi une évaluation exacte du coût sans explosion combinatoire. Nous conditionnons l'existence de chaque dépendance en l'annotant par un prédicat. Le coût d'un programme est alors exprimé symboliquement en fonction de ces prédicats. Pour être capable de l'évaluer dans l'environnement initial, nous transformons les prédicats grâce à une méthode fondée sur le calcul des plus faibles préconditions. Le coût symbolique obtenu est paramétré par l'environnement initial et il intègre les indépendances dynamiques. Afin d'assurer la compositionalité des coûts symboliques, nous étendons le calcul des plus faibles préconditions aux expressions. Nous développons pour cela une sémantique permettant d'exprimer symboliquement ce que calcule le programme et de calculer son coût par induction sur la syntaxe. Nous montrons qu'il est possible d'intégrer au modèle des paramètres de l'architecture ainsi qu'une charge instantanée du réseau. Nous comparons les résultats obtenus sur plusieurs algorithmes avec des expérimentations sur Cray T3E.