![]()
Précédent : Communication dans les calculateurs
parallèles Remonter : Présentation et objectifs généraux
Suivant : Fondements scientifiques
Mots clés : programmation parallèle, NOW, Metacomputing, Corba .
Au cours des dix dernières années, les performances des calculateurs se sont fortement accrues grâce à l'évolution rapide des technologies des processeurs. Parallèlement, dans le domaine de la simulation numérique, les besoins en puissance de traitement ont également augmenté car les utilisateurs souhaitent simuler des phénomènes physiques de plus en plus complexes. Cette complexité est due à l'utilisation simultanée de plusieurs codes numériques prenant en compte l'interaction de plusieurs phénomènes physiques (interaction fluide-structure, thermique-optique, etc.). Pour obtenir des temps de calcul raisonnables, il est nécessaire d'utiliser simultanément plusieurs ressources de calcul ayant une forte hétérogénéité, ces ressources étant connectées par des réseaux d'interconnexion à très haut débit. Cette approche est connue sous le nom de «Metacomputing». L'hétérogénéité de ces ressources s'exprime par des modèles d'exécution, de communication et de programmation très différents. Il est donc nécessaire de concevoir des environnements de programmation permettant de masquer cette hétérogénéité à l'utilisateur. Les applications d'un tel environnement sont variées : travail coopératif pour la simulation, couplage de codes de simulation, etc.
L'objectif de nos recherches est de concevoir des environnements de programmation à la fois pour des réseaux de PC et des réseaux de ressources de calcul hétérogènes. L'originalité de notre approche est de marier deux types de programmation: la programmation des calculateurs parallèles et la programmation des systèmes distribués. Notre approche s'appuie sur l'utilisation d'une technologie «middleware», comme CORBA (Common Object Request Broker Architecture), qui permet la conception d'applications distribuées en utilisant une approche client/serveur. Notre objectif est d'étudier les différents mécanismes logiciels nécessaires à la conception d'un environnement de programmation par composants logiciels CORBA pour le calcul de haute performance pour des réseaux de stations de travail et des plateformes de Metacomputing. Il s'agit notamment d'étudier le problème de l'allocation de ressources et d'étendre CORBA afin de permettre la conception de services CORBA parallèles.