>
    Next: Le projet SOD Up: PARADIS Previous: Introduction

    Sous-sections
    • Description des activités de recherche
    • Principaux résultats
      • Algorithmique et applications parallèles
      • Modes d'expression et environnements de développement pour le parallélisme
    • Projets et perspectives
      • Algorithmique et applications parallèles
      • Modes d'expression et environnements de développement pour le parallélisme

    Algorithmique et environnement de programmation pour le parallélisme (ALiENor)

    Description des activités de recherche

    Les travaux de recherche concernant l'algorithmique parallèle hautes performances et ses applications ont pour objectifs de développer le savoir-faire concernant la mise en oeuvre optimisée de problèmes de calcul mettant en jeu des structures de données irrégulières, et ce en exploitant au mieux les caractéristiques de la plateforme d'exécution. Ces différents travaux sont supportés au niveau national par le Thème iHPerf du GDR ARP et conduisent à des actions de valorisation et de transfert vers le monde industriel.

    Concernant les modes d'expression du parallélisme et les environnements de programmation, nous travaillons dans le cadre du modèle à parallélisme de données sur des problèmes liés aux structures de données irrégulières. Les objectifs sont la mise en oeuvre efficace de mécanismes permettant de mieux gérer l'irrégularité au niveau du mode d'expression HPF2, et le développement d'environnements permettant une observation du comportement de l'application parallèle en terme de données distribuées.

    Principaux résultats

    Algorithmique et applications parallèles

    Les travaux en algorithmique parallèle hautes performances sont structurés en actions de recherche sur des problèmes génériques rencontrés lors du traitement parallèle d'algorithmes irréguliers; des études spécifiques utilisant le savoir-faire développé dans ces actions de recherche sont aussi menées pour des domaines d'applications de calcul hautes performances.

    Le partitionnement et le placement statique de structures de données irrégulières, la renumérotation des inconnues de grands systèmes linéaires creux : action de recherche SCOTCH.

    L'objectif a été de réaliser une plateforme efficace de partitionnement et de placement statique pour des applications décrites par des graphes valués de processus ayant une topologie quelconque. La contribution originale a consisté à définir et à mettre en oeuvre une approche de type ``divide and conquer'' pour laquelle les processus sont placés récursivement sur les processeurs en utilisant des algorithmes de bissections de graphes appliqués de manière duale au graphe inter-processus et au graphe inter-processeurs; on peut tenir compte ainsi de la topologie et de l'hétérogénéité du graphe valué décrivant le réseau d'interconnexion et ses ressources (puissance des processeurs, débit des liens de communication). Cette technique conduit à des placements de très bonne qualité avec un coût très faible en complexité.

    A partir de ces travaux, un partitionneur de graphes basé sur une approche multi-niveaux, et dont l'objectif est de construire une partition équilibrée de l'ensemble des sommets par l'intermédiaire d'un séparateur sommet de taille minimum, a été défini et implémenté. Cette technique de partitionnement de graphes est utilisée pour générer des renumérotations des inconnues de grands systèmes linéaires creux combinant à la fois une bonne conservation du creux lors de la factorisation de la matrice ainsi qu'une bonne optimisation de l'indépendance des calculs pour une implémentation parallèle de cette factorisation. La contribution originale a été ici d'étudier et d'implémenter en vraie grandeur un couplage fin entre la méthode des dissections emboîtées et celle du degré minimum approché; ce travail a été mené en collaboration avec Patrick Amestoy de l'ENSEEIHT/IRIT à Toulouse. La méthode a été testée intensivement sur de très gros graphes provenant d'applications réelles issues du monde industriel. Ces travaux, initialisés durant la thèse de François Pellegrini, ont conduit à la réalisation d'un produit fini (SCOTCH) qui fait référence dans le domaine et qui se compare très favorablement avec le meilleur logiciel américain actuel (METIS).

    La conception et la mise en oeuvre d'une bibliothèque dédiée à la résolution hautes performances de grands systèmes linéaires creux : action de recherche PASTIX.

    L'objectif est ici de réaliser une plateforme efficace et complète dédiée à la résolution hautes performances par méthode directe de (très) grands systèmes linéaires creux dans un cadre éléments finis. Ce travail fait l'objet d'un contrat de 3 ans avec le CEA/CESTA qui se termine le 31 août 2000; les applications cibles concernent la mécanique des structures et l'électromagnétisme. Ce contrat permet en particulier le financement de la bourse de thèse de David Goudin qui travaille dans cette action de recherche.

    Plus précisemment, nous avons tout d'abord conçu et développé un algorithme séquentiel de prétraitement de faible complexité calculant une ``bonne'' partition 1D et/ou 2D en blocs de la matrice creuse ainsi que sa distribution sur les processeurs de la machine cible. Ceci se fait en calculant un ordonnancement statique des calculs par blocs et des communications par l'intermédiaire d'une simulation utilisant une modélisation des opérateurs BLAS et une modélisation de la communication sur l'architecture cible. Nous avons alors conçu et mis en oeuvre sur SP2 le solveur direct parallèle associé qui est complètement guidé par cet ordonnancement précalculé. Une autre originalité de ce travail a été de mettre en évidence le gain apporté par une distribution mixte 1D et 2D des blocs de la matrice; on exploite ainsi au mieux les trois niveaux de parallélisme présents dans ce genre de traitement : le parallélisme structurel induit par le creux (provenant d'une renumérotation des sommets du graphe associé à la matrice de type ``dissections emboîtées + degré minimum'' - cf. action de recherche SCOTCH), le parallélisme induit par les calculs denses dans les blocs pleins, et enfin le microparallélisme provenant des calculs par blocs via les primitives BLAS3. L'ensemble a été testé intensivement sur de très grosses matrices (plus d'un million d'inconnues) provenant d'applications réelles issues du monde industriel. Ces travaux, qui font partie des thèses de Pierre Ramet et de Pascal Hénon, ont conduit à la réalisation d'un produit fini (PASTIX) qui se compare très favorablement avec les meilleurs logiciels de référence actuels comme MUMPSet PSPASES.

    Une autre étude rattachée à cette action de recherche PASTIX et plus spécifiquement menée dans le cadre de la thèse de David Goudin concerne la phase d'assemblage du système linéaire creux dans le cadre d'une discrétisation par éléments finis. La contribution originale a été ici de concevoir un algorithme de faible complexité séquentielle pour précalculer une distribution des éléments du maillage qui est induite par celle des blocs de la matrice et qui a été optimisée pour le solveur parallèle. En choisissant un ordre de traitement des éléments sur les processeurs qui maximise le recouvrement calcul/communication, on obtient un logiciel d'assemblage parallèle très efficace qui est quasiment optimal du point de vue de la scalabilité.

    L'ensemble de ces logiciels fait l'objet d'une première distribution pour le CEA/CESTA courant mai 2000.

    Le recouvrement calcul/communication : action de recherche OPIUM.

    Dans cette problématique, on s'est intéressé plus particulièrement à l'optimisation du recouvrement calcul/communication pour des algorithmes macro-pipelines. Nous avons mené à terme une étude générale sur des macro-pipelines réguliers admettant des phases de calculs ``avant et après'' communication de complexités quelconques, et une bibliothèque (OPIUM) permettant dans ce cadre le calcul de la taille (fixe) optimale des paquets a été réalisée et testée avec succès pour des applications parallèles d'algèbre linéaire dense. Ce travail, qui a fait partie de la thèse de Pierre Ramet, fait l'objet d'une collaboration suivie avec Frédéric Desprez (INRIA Rhône-Alpes Projet ReMaP et LIP-ENS Lyon).

    Mises à part les applications de mécanique des structures et d'électromagnétisme du CEA/CESTA, qui sont reliées à l'installation et à l'exploitation du Laser Méga-Joule et qui sont directement liées aux actions de recherche SCOTCHet PASTIX, nous avons travaillé dans les domaines d'applications suivants.

    L'analyse d'images : Au titre d'un partenariat avec le Centre Commun d'Etudes en Télédiffusion et Télécommunications (thèse de Christophe Laurent), on s'est intéressé à l'apport du calcul parallèle dans le domaine du traitement d'images et de la séquence vidéo. Nous avons étudié plus particulièrement les techniques de codage de seconde génération pour lesquelles chaque objet de la scène est représenté par son contour et sa texture. Nous avons travaillé sur la phase de prétraitement au codage qui doit fournir, à partir d'une scène, l'ensemble des objets grâce à une étape de segmentation d'images. La technique de segmentation retenue repose sur un ensemble d'outils issus de la morphologie mathématique qui est très efficace pour ce type d'application. Cette technique consiste en un assemblage d'étapes nécessitant une grande quantité de calculs, et il s'agit donc de fournir une solution parallèle pour chacune d'entre elles afin de proposer une application parallèle de segmentation morphologique efficace pouvant être intégrée à un processus de codage. L'implémentation et les performances des algorithmes parallèles proposés ont été étudiées sur deux types d'architectures : une architecture parallèle de type IBM SP2, et une architecture multi-DSPs dédiée de type TMS320C80. Ce travail a ainsi débouché tout d'abord sur la conception d'une bibliothèque de morphologie mathématique sur processeur TMS320C80 intégrant aussi bien les opérateurs morphologiques de base que les opérateurs complexes de type filtres par reconstruction; nous avons ensuite obtenu une parallélisation efficace sur SP2 des opérateurs morphologiques connexes, un nouvel algorithme parallèle d'étiquetage d'images, ainsi qu'un algorithme parallèle de watershed.

    Le coloriage de graphe : La méthode proposée consiste, à partir d'un partage des données sur les processeurs, à construire un coloriage de l'ensemble du graphe suivant un nombre de couleurs donné. Nous avons travaillé sur la stratégie de découpage du graphe et sur la stratégie de parcours du graphe des blocs induits par cette décomposition. Au niveau de la résolution locale d'un bloc, les stratégies utilisées ne sont pas particulières au problème de coloriage, afin que cet algorithme soit facilement adaptable à d'autres problèmes, comme les problèmes de satisfaction de contraintes (CSP) ou le problème de coloriage impropre. La méthode a été implémentée et validée en vraie grandeur sur IBM SP2. Ce travail (thèse de Pierre Boiron) a fait l'objet d'une collaboration avec Antoine Rauzy (équipe Modélisation, Vérification et Test de Systèmes Informatisés), et avec Eric Sopena (équipe Combinatoire et Algorithmique).

    La dynamique des populations : Un macro-parasite du bar, Diplectanum aequans, constitue un élément pathogène en aquaculture. Un modèle mathématique discret a été élaboré permettant d'en rendre compte. La simulation numérique qui en est issue permet de reproduire certaines des dynamiques de population observées sur le terrain, et fournit de nouveaux éléments pour les comprendre. Les temps d'exécution du simulateur séquentiel étant rédhibitoires, une mise en oeuvre parallèle hautes performances de la simulation est incontournable.

    Une solution parallèle a été élaborée et des simulations ont été réalisées sur l'IBM SP2 du LaBRI, ainsi que sur celui du CINES (Centre Informatique National de l'Enseignement Supérieur à Montpellier). Les temps d'exécution ont été réduits notoirement et la précision des calculs améliorée. Ainsi, les simulations dont la durée excédait le mois sur une station de travail ont actuellement des temps d'exécution de trois heures lorsque l'on utilise 64 processeurs de la machine du CINES. L'algorithme a de très bonnes performances en ce qui concerne sa scalabilité et son efficacité; on constate en effet une efficacité supérieure à 90 % jusqu'à une centaine de processeurs. Pour des simulations ayant un coût de 9 TFLOP, la puissance moyenne atteinte est de 19 GFLOPS sur 192 processeurs de la machine du CINES. Avec la version parallèle du simulateur, les calculs sont beaucoup plus précis (des approximations ont été enlevées) et les temps d'exécution courts permettent d'effectuer de nombreuses simulations. Dans ces conditions, nous avons obtenu des comportements dynamiques qui n'avaient pu être observés avec l'ancien simulateur et qui correspondent à des cas réels observés. Ces résultats permettront d'envisager un modèle biologique plus raffiné.

    Ce travail qui fait l'objet de la thèse de Guillaume Latu donne lieu à une collaboration multidisciplinaire très serrée faisant intervenir les mathématiques appliquées pour la modélisation numérique (collaboration avec Michel Langlais du MAB et professeur à l'Université Bordeaux 2), la biologie (collaboration avec Patrick Silan, CR1 à l'UPR CNRS de Sète), et l'informatique parallèle (équipe ALiENor du LaBRI).

    L'équipe ALiENor a mis en place dans le cadre de la Cellule Recherche et Développement du LaBRI un certain nombre d'actions de transfert de compétences dans le domaine du parallélisme et de ses applications. Cette mise en place s'est accompagnée de l'acquisition d'un calculateur parallèle IBM SP2, qui est opérationnel depuis mai 1996, et ce dans le cadre d'une Charte de Partenariat Université Bordeaux 1 - ENSERB - IBM FRANCE. Cette Charte a été signée le 23 septembre 1997 et comporte trois niveaux. Un premier niveau concerne les collaborations industrielles, IBM favorisant les collaborations et le développement de travaux de type applicatif avec des industriels ayant des besoins de calcul hautes performances et utilisant des plateformes de type SP: en particulier, un contrat concernant l'algèbre linéaire creuse parallèle ainsi que des contrats de formation avancée ont été signés avec le CEA/CESTA. Un deuxième niveau concerne la formation avancée académique, IBM s'impliquant dans les actions de formation en parallélisme au niveau DEA ou Ecole d'ingénieurs en accueillant des stagiaires. Enfin, un dernier niveau encore à concrétiser à ce jour concerne le niveau recherche fondamentale, IBM étant intéressé par des travaux, avec échange de chercheurs, en commun entre le LaBRI et certains laboratoires d'IBM aux Etats-Unis.

    Modes d'expression et environnements de développement pour le parallélisme

    Modes d'expression, mise en oeuvre efficace de mécanismes permettant de mieux gérer l'irrégularité au niveau du mode d'expression HPF2 : action de recherche Angelot.

    Du point de vue expression une nouvelle approche est étudiée. Nous proposons de représenter les structures de données irrégulières dont l'accès aux informations élémentaires se fait de manière hiérarchique sous forme d'arbres. Cette représentation a l'avantage de pouvoir être intégrée dans le langage HPF2 en utilisant les types de données dérivés. Elle permet aussi un style de programmation plus proche du cas régulier en évitant les indirections classiquement utilisées pour ce type de données. Ainsi les techniques de compilation et les supports d'exécution peuvent être plus efficaces.

    Dans le cadre des applications manipulant des structures de données irrégulières, nous nous sommes également intéressés à la prise en compte des aspects liés au parallélisme qui ne sont pas exploitables directement par des compilateurs car dépendants d'informations connues uniquement à l'exécution. Notre approche est basée à la fois sur l'extension du langage HPF2 par de nouvelles directives (ou par l'extension de directives existantes comme la directive ON HOME) pour exprimer les propriétés parallèles de l'application et sur un support d'inspection/exécution permettant d'exploiter efficacement ces propriétés. Nos travaux montrent en particulier l'intêret primordial de la prise en compte des ensembles irréguliers de processeurs actifs participant à l'exécution d'un bloc d'instructions donné. Nous avons également porté notre attention sur les applications contenant des boucles avec des dépendances inter-itérations partielles (dans le sens où certaines itérations peuvent être exécutées en parallèle) et précalculables. Afin d'exploiter le parallélisme de ces boucles, nous avons réalisé un ordonnancement du graphe des tâches obtenu en associant une tâche à chaque itération de la boucle. Nous avons aussi proposé une nouvelle opération data-parallèle associée à ce type de boucles et qui permet la mise en place par le compilateur, en utilisant le paradigme d'inspection/exécution, de schémas de communications asynchrones permettant un recouvrement calcul/communication. Actuellement, deux bibliothèques sont implémentées (thèse de F. Brégier) : la bibliothèque TriDenT pour le support des arbres distribués et la bibliothèque Columbo pour le support des mécanismes d'inspection/exécution proposés. Ces travaux ont été validés sur l'algorithme de factorisation de Cholesky pour des matrices creuses : les résultats expérimentaux montrent les gains obtenus par ces optimisations.

    Environnements de développement, conception et la mise en oeuvre d'une bibliothèque permettant l'observation d'une application en terme de données distribuées : action de recherche Visit.

    Les machines parallèles à mémoire distribuée restent majoritairement programmées au plus bas niveau en utilisant le modèle des processus séquentiels communiquant par transmission de messages. Dans le cadre d'une expression de type parallèlisme dirigé par les données, la différence de niveau entre le mode utilisé par le programmeur et le modèle d'exécution rend la mise au point difficile et consommatrice de temps particulièrement dans le cas de problèmes irréguliers.

    Une première manière simple de gèrer ce problème est de se reposer sur l'utilisateur pour que ce soit lui qui fournisse les informations nécessaires(approche implémentée dans IVD par exemple). Une deuxième façon de procéder est d'utiliser des bibliothèques qui instrumentent les fonctionnalités de base du langage. Ce sont elles qui fournissent alors les informations nécessaires (approche utilisée par DAQV dans le projet PTOOLS par exemple). La première solution a l'inconvénient d'être trés lourde pour l'utilisateur, la seconde d'être fortement liée à un langage donné.

    Nous proposons un compromis entre ces deux techniques  : il consiste à fournir un cadre de travail permettant à un programmeur d'intégrer facilement la sémantique de l'implémentation d'une structure de données dans des bibliothèques. Ces bibliothèques sont ensuite utilisables pour le développement d'outils permettant l'observation du comportement d'une application parallèle. Elles remontent automatiquement la sémantique vers le modèle d'expression utilisé pour developper l'application, i.e. vers l'utilisateur.

    Notre approche repose sur un modèle qui comporte trois niveaux : - le graphe d'implémentation qui décrit la structure de données internes en terme de données atomiques et de fonctions d'accès (les trois vecteurs distribués d'une CSC), - le graphe d'abstraction qui décrit la structure de données abstraite (par exemple une matrice pleine), - le graphe de vue qui d'écrit comment un outil montrera finalement le graphe d'abstraction, par exemple en effectuant un filtrage si l'on manipule des structures de données de taille importante. Les relations entre les différents niveaux s'expriment en terme de plongements de graphes.

    Pour valider notre modèle, nous avons developpé une bibliothèque fournissant des abstractions standard pour quelques implémentations elles aussi standard . S'appuyant sur cette bibliothèque, un environnement graphique Visit (VISualisation Integrated Tool) a été conçu. Il comporte actuellement deux outils : - Data Distribution Display qui permet la visualisation de la distribution de données d'un programme HPF ; - Trace Data Display, visualisation en terme de dépendances entre données distribués des traces d'exécution d'une application HPF. Afin de visualiser des structures de données de grande taille, ces outils ont été interfacés avec le logiciel MatView. On pourra consulter (http://dept-info.labri.u-bordeaux.fr/
    ~chaumett/visit/
    ).

    Les travaux décrits ci-dessus se font pour partie au sein du projet HPFIT : L'objectif de HPFIT, dans sa phase 1, est de proposer un ensemble d'outils permettant d'adapter au paradigme data-parallel des applications industrielles à structure de données régulières ; dans sa phase 2, on s'intéresse à des structures de données creuses et irrégulières. Notre contribution a porté sur la définition et le développement d'outils intégrés à la plateforme permettant : - de visualiser une distribution éventuellement irrégulière de données éventuellemnt irrégulières ; - d'évaluer les performances de l'application après génération de traces. Ces travaux sont réalisés dans le cadre d'une collaboration entre l'équipe PARADIS du LaBRI, l'équipe APTE du LIP et GMD/SCAI (RFA).

    Projets et perspectives

    Algorithmique et applications parallèles

    Le principal objectif est de poursuivre les études algorithmiques ainsi que leurs validations expérimentales pour des cas en vraie grandeur relativement aux domaines d'applications présentés plus haut. En particulier, ces travaux évolueront pour tenir compte de la nature hétérogène des nouveaux calculateurs hautes performances (réseau de noeuds SMP), ainsi que de la tendance actuelle consistant à avoir une vision plus distribuée du calcul parallèle (grand réseau hétérogène de PCs, simulation numérique distribuée avec couplage de codes parallèles).

    Pour l'action de recherche SCOTCH, les travaux en cours concernent tout d'abord la parallélisation du partitionneur afin de pouvoir traiter des graphes non structurés de plus en plus gros et avec des complexités intéressantes. Par la suite, l'algorithme du partitionneur sera généralisé pour intégrer une optimisation de la coupe qui soit multi-critères ce qui permettra d'augmenter le spectre d'application du logiciel. Nous envisageons aussi de rajouter dans la version parallèle des fonctionnalités de repartitionnement dynamique qui sont utiles dans le cadre de la régulation dynamique de charge pour les applications irrégulières dont le comportement est imprédictible par un prétraitement statique.

    Concernant les techniques de renumérotation induites par le partitionnement, nous travaillons sur la mise en oeuvre d'un critère algorithmique dépendant de la topologie des graphes pour le basculement entre la dissection emboîtée et le degré minimum approché. Nous envisageons aussi de remplacer le degré minimum par une technique plus performante a priori comme celle dite de minimum fill.

    L'ensemble de ces évolutions intéressent des partenaires industriels comme le CEA/CESTA et EDF ce qui conduira à de nouvelles actions de valorisation. Ils s'intègreront aussi dans les collaborations académiques nationales et internationales que nous mettons actuellement en place (voir plus loin).

    En ce qui concerne l'action de recherche PASTIX, les travaux actuels (relatifs au contrat CEA) consistent à étudier un critère algorithmique pour réaliser le changement de type de distribution par blocs (passage d'une distribution 2D à une distribution 1D) dans la phase de prétraitement. Le solveur actuel est basé sur une aggrégation totale en mémoire des contributions distantes ce qui induit un surcoût mémoire; nous travaillons actuellement à la mise en oeuvre d'une aggrégation partielle pour améliorer la scalabilité mémoire tout en perdant le moins possible en vitesse de traitement. D'autre part, nous avons commencé à travailler à la généralisation de nos techniques pour des architectures hétérogènes (grappes hétérogènes de processeurs ou de noeuds SMP), ainsi qu'à la mise en oeuvre de techniques out-of-core distribuées pour traiter des systèmes toujours plus gros.

    Concernant l'assemblage parallèle des matrices d'éléments finis, nous généralisons actuellement notre technique au cas où la matrice est distribuée de manière 2D ou 2D+1D. Nous poursuivrons là aussi par une évolution des algorithmes pour prendre en compte l'hétérogénéité de l'architecture cible.

    Tous ces travaux se feront dans le cadre du projet ``OMSPar : Ordering, Mapping and Scheduling in Parallel Sparse Direct Solvers'' qui fait l'objet actuellement d'une demande de financement pour l'année 2001 auprès des FONDS FRANCE-BERKELEY dans le cadre d'une collaboration entre l'U.C. Berkeley (coordinateur James Demmel) et les laboratoires français LaBRI et ENSEEIHT-IRIT (coordinateur Jean Roman).

    Enfin, l'étude novatrice et la contribution attendue la plus intéressante pour passer la limite en taille des solveurs parallèles actuels (on vise les 10 millions d'inconnues pour des problèmes tridimensionnels) est celle relative à un couplage fin entre méthodes directes et méthodes itératives. Ceci se fera dans le cadre d'un Projet NSF/INRIA en cours de mise en place mettant en commun les compétences de spécialistes américains (Yousef Saad/Minneapolis, Randall Bramley/Indiana, Esmond Ng/Berkeley, Maria Sosonkina/Minneapolis) et français (Patrick Amestoy/ENSEEIHT-IRIT, Bernard Philippe/IRISA, Frédéric Desprez/INRIA Rhône-Alpes, Jean Roman/LaBRI) des deux types de méthodes.

    Pour ce qui est de l'action de recherche OPIUM, la suite naturelle de nos travaux consiste à définir et à mettre en oeuvre un calcul adaptatif de la taille optimale des paquets pour les problèmes irréguliers. Celui-ci devra pouvoir s'intégrer directement dans les algorithmes via une bibliothèque. Des résultats ont déjà été obtenus pour l'algorithme de Cholesky sur des matrices denses symétriques.

    En ce qui concerne les domaines applicatifs, et hormis celles étudiés avec le CEA/CESTA, nous commençons une collaboration avec l'Institut Français du Pétrole pour la gestion distribuée de simulations parallèles d'écoulements mono et polyphasiques dans les réservoirs. Ceci devrait donner lieu à un contrat ainsi qu'au financement d'un postdoc ou d'une thèse à partir de l'automne 2000.

    Nous continuons aussi sur la simulation en dynamique des populations et sur les évolutions de la modélisation biomathématique. En particulier, l'apport d'une approche stochastique paraît mieux adaptée à la pathologie parasitaire. Or, l'introduction de processus de type aléatoire dans les calculs et de méthodes de Monte-Carlo ajoutera encore à la complexité du problème par l'irrégularité qu'elle engendre. Les coûts en calcul augmenteront en conséquence d'où la nécessité d'aller encore plus loin dans la qualité de performance du simulateur parallèle.

    Modes d'expression et environnements de développement pour le parallélisme

    Dans le domaine des Modes d'expression, notre objectif est de poursuivre nos travaux en ciblant des architectures parallèles et/ou distribuées hétérogènes (par exemple des grappes de processeurs à mémoire partagée). Pour traiter l'irrégularité, nous envisageons l'utilisation d'un support d'exécution basé sur le concept de processus légers permettant une régulation dynamique de charge par migration des données et du calcul. Ce travail donnera lieu à une collaboration avec J.F. Méhaut et R. Namyst (LIP et projet INRIA ReMaP). Nous nous intéressons également au couplage de code parallèle en utilisant notamment le concept d'objets parallèles. Nous étudierons enfin comment transposer les solutions issues de ces travaux dans un contexte de compilation OpenMP adapté à la programmation des clusters de SMP.

    Dans le domaine des environnements de développement, nous sommes à la fin de la phase 2 du projet HPFIT. Nous offrirons ainsi un ensemble d'outils pour adapter des applications industrielles au paradigme data-parallel tout en prenant en compte l'aspect creux et irrégulier des structures de données. Les outils proposés permettront aussi de mettre au point et d'évaluer les performances des programmes.

    Une autre action DHPCCM ( Distributed High Performance Computing Center) rejoignant la problématique du méta-computing est une collaboration entre l'équipe PARADIS du LaBRI, le Commissariat à l'Energie Atomique et l'Institut Français du Pétrole. Ces deux organismes disposent de centres de calcul répartis sur le réseau Internet. L'ensemble de leurs machines constitue un centre de calcul haute performance distribué (DHPCC). Le projet a pour objectif la définition d'un gestionnaire permettant à un utilisateur d'exploiter au mieux les ressources matérielles et logicielles du DHPCC. Il est à l'intersection des activités de type parallélisme et de type systèmes distribués de l'équipe et en valide la complémentarité.

    Les travaux concernant les actions de recherche SCOTCH, PASTIX et Visit font aussi partie de l'Action de Recherche Coopérative INRIA OURAGAN ``Outils de Résolution Appliquée aux Grands Calculs Numériques'' qui a effectivement débuté courant 1999.

    SciLAb est un environnement logiciel interactif qui permet le développement et le prototypage d'applications mathématiques et de calcul numérique. Le problème des outils de ce type est leur faible efficacité. Le but de l'ARC OURAGANest de proposer une version de SciLab efficace en utilisant des bibliothèques de calcul parallèle. La contribution d'ALiENor consiste à interfacer des serveurs contenant les outils issus des travaux de l'action Visit et les algorithmes issus des actions SCOTCHet PASTIXavec la plateforme de Métacomputing SciLab parallèle. Les équipes ou projets impliqués dans l'action OURAGANsont le projet Méta-2 - INRIA Rocquencourt, le projet ReMAP - INRIA Rhônes-Alpes et LIP ENS-Lyon, le projet Résédas - LORIA INRIA Lorraine et enfin l'équipe PARADIS du LaBRI.



    Page maintenue par Pierre Ramet : ramet@labri.u-bordeaux.fr