Précédent : Composition de l'équipe Remonter :
Algorithmique Parallèle,
Programmation et Répartition Suivant : Fondements
scientifiques
Les architectures parallèles offrent une puissance de calcul et une capacité de stockage potentiellement très importantes. Les progrès des composants matériels permettent de disposer de multiprocesseurs très performants quel que soit leur niveau d'intégration : machines parallèles propriétaires, grappes autour d'un réseau de communication rapide, calcul distribué, etc. Cependant, le problème technologique qui n'est pas résolu est celui de l'exploitation efficace de ce potentiel par les applications.
Dans ce projet, nous proposons une approche originale de la programmation des machines parallèles pour le calcul haute performance qui permette d'atteindre un bon compromis performance-portabilité, indépendamment des particularités de chaque machine et de chaque application. La démarche suivie est expérimentale et consiste à construire un environnement de programmation permettant la mise en oeuvre de notre approche afin d'en prouver la pertinence.
L'environnement de programmation ATHAPASCAN
tente de répondre à ces impératifs d'efficacité et de
portabilité. Pour cela, un noyau exécutif, à base de processus
légers communicants a été construit et sa pertinence a été
démontrée. Une interface de programmation est en cours de test.
Cette plate-forme privilégie un modèle de parallélisme de tâches
asynchrones assorti de règles de synchronisation pour l'accès aux
données partagées. Elle permet le calcul dynamique d'une
représentation abstraite du programme (graphe macro-dataflow) et
une répartition automatique (en utilisant ce graphe) de la charge
de calcul et des données. Des applications existent en
ATHAPASCAN: dynamique moléculaire, chimie
quantique, calcul formel, décomposition de domaines et simulation
à événements discrets pour le trafic routier. Enfin, un
environnement de prise de traces permet l'observation,
l'évaluation et la visualisation d' ATHAPASCAN et
de ses applications. Le noyau exécutif est appelé
ATHAPASCAN-0 et l'interface de programmation
ATHAPASCAN-1.