Thèse soutenue

Athapascan-1 : vers un modèle de programmation parallèle adapté au calcul scientifique

FR  |  
EN
Auteur / Autrice : Mathias Doreille
Direction : Jean-Louis RochDenis Trystram
Type : Thèse de doctorat
Discipline(s) : Mathématiques appliquées
Date : Soutenance en 1999
Etablissement(s) : Grenoble INPG
Ecole(s) doctorale(s) : Ecole doctorale Mathématiques et informatique (Grenoble199.-200.)
Partenaire(s) de recherche : Laboratoire : Laboratoire de modélisation et calcul (Grenoble1995-2007) - Informatique et distribution (Grenoble1999-2007)

Résumé

FR  |  
EN

Les ordinateurs parallèles offrent une alternative intéressante pour les applications de calcul scientifique, grandes consommatrices de ressources de calcul et de mémoire. Cependant, la programmation efficace de ces machines est souvent difficile et les implantations obtenues sont généralement peu portables. Nous proposons dans cette thèse un modèle de programmation parallèle permettant une programmation simple, portable et efficace des applications parallèles. Ce modèle est basé sur une décomposition explicite de l'application en tâches de calculs qui communiquent entre elles par l'intermédiaire d'objets en mémoire partagée. La sémantique des accès aux données partagées est quasi séquentielle et les précédences entre les tâches sont implicitement définies pour respecter cette sémantique. Nous présentons dans une première partie la mise en oeuvre de ce modèle de programmation dans l'interface applicative C++ Athapascan-1. Une analyse à l'exécution des dépendances de données entre tâches permet d'extraire le flot de données et donc les précédences entre les tâches à exécuter. Des algorithmes d'ordonnancement adaptables à l'application et à la machine cible sont également utilisés. Nous montrons comment, sur architecture distribuée, la connaissance du flot de données entre les tâches peut être utilisée par le système pour réduire les communications et gérer efficacement la mémoire partagée distribuée. Ce modèle de programmation et sa mise en oeuvre dans l'interface applicative Athapascan-1 sont ensuite validés expérimentalement sur différentes architectures et différentes applications d'algèbre linéaire, notamment la factorisation creuse de Cholesky avec partitionnement bidimensionnel. La facilité de programmation de ces applications grâce à cette interface et les résultats obtenus (amélioration des performances par rapport au code de factorisation dense de Cholesky de la bibliothèque ScaLapak sur une machine à 60 processeurs par exemple) confirment l'intérêt du modèle de programmation proposé