Groupe de travail ScAlApplix-RUNTIME


Année 2004-2005

Juin

Mardi 14 juin    Alexandre Beautrait (eDAM group UHP)

Le projet VSM (Virtual Screening Manager): état des lieux

Le projet VSM (Virtual Screening Manager) concerne l'élaboration d'une plate-forme logicielle ayant pour but d'automatiser les études de criblage moléculaire du chimiste dans le processus de recherche de nouveaux médicaments. Idéalement, cette plate-forme permettrait de tester des librairies de plusieurs millions de composés in silico en utilisant un procédé d'entonnoir multi-étapes. Chacune de ces étapes joue un rôle de filtre moléculaire, excluant avant passage au filtre suivant un pourcentage élevé de molécules parmi celles qui n'ont pas déjà été exclues aux niveaux supérieurs. Une des perspectives de ce projet repose sur l'utilisation du grid computing pour distribuer les calculs des différentes couches du filtre pour un traitement plus rapide. Suite à la présentation orale de ce projet, une démonstration de la version en cours de VSM sera effectuée.

Mai

Mardi 17 mai    E. Athanassoula (Observatoire de Marseille)

Etude des galaxies a l'aide de simulations numeriques

Les galaxies sont des objets complexes composes d'etoiles, de gaz et de matiere noire. Vu leur complexite, et vu les limites inherentes des observations et de la theorie, les simulations sont necessaires afin de pouvoir comprendre et modeliser ces objets. La techique la plus souvent utilisee est celle des N-corps. Nous allons presenter brievement les diverses possibilites et limites de cette technique et surtout passer en revue quelque resultats recents.

Avril

Mardi 19 Avril  Relache

Mardi 12 Avril    Samuel Thibault (Projet Runtime)

Un ordonnanceur flexible pour machines multiprocesseurs hiérarchiques

L'évolution des machines multiprocesseurs vers des architectures de plus en plus hiérarchiques impose, pour en tirer la quintessence, de répartir les flots d'exécution et les données avec une extrême précaution afin de réduire au maximum les accès mémoire non locaux. Les bibliothèques de multithreading actuelles fournissent très peu de fonctionnalités pour exprimer des directives de répartition au niveau applicatif, ce qui contraint les programmeurs à effectuer cette répartition explicitement en fonction de l'architecture sous-jacente, et donc de manière non portable. Dans cet article nous présentons: (1) un modèle permettant au programme d'exprimer dynamiquement la structure du calcul; (2) un ordonnanceur capable d'interpréter cette modélisation afin de prendre de judicieuses décisions de placement hiérarchisé ; (3) une implémentation au sein de la bibliothèque de threads utilisateur Marcel. Une expérimentation a été menée sur une application scientifique exécutée par une machine ccNUMA Bull NovaScale à 16 processeurs Intel Itanium II; les résultats obtenus montrent un gain de 50% par rapport à un ordonnanceur classique et sont comparables à ceux que l'on obtient en effectuant le placement « à la main », ce qui n'est pas portable.

Mardi 5 avril   Cédric Chevalier (Projet ScalApplix)

Méthodes pour le partitionnement parallèle de problèmes numériques de très grande taille

Le partitionnement de graphes est utilisé dans de nombreux domaines, comme l'équilibrage statique ou la résolution de problèmes numériques. La taille croissante des problèmes fait que le partitionnement séquentiel devient l'élément limitant, en temps et en mémoire par noeud, de la chaîne de calculs (les autres étapes étant pour la plupart déjà parallélisées). La parallélisation de cette étape de partitionnement est donc une nécessité. Nous verrons les réalisations actuelles et leurs limites, ainsi que les méthodes qui sont pressenties pour être utilisées dans le cadre du développement de la bibliothèque de partionnement parallèle PT-Scotch (Parallel Threaded Scotch).

Mars

Mardi 29 Mars  Relache

Mardi 22 Mars  Relache

Mardi 15 Mars  André Ribes (IRISA - Projet PARIS)

Contribution à la conception d'un modèle de programmation parallèle et distribué et sa mise en oeuvre au sein de plates-formes orientées objet et composant.

Les simulations numériques sont devenues incontournables dans de nombreux projets industriels. Dans la recherche d'une simulation toujours plus précise, un nouveau type de simulation numérique, dont l'objectif est de simuler plusieurs physiques en même temps, est apparu. Ce type d'application est appelé une application de couplage de code. Ces applications exigent d'importantes ressources informatiques qui sont très difficiles à obtenir sur un seul centre de calcul. En revanche, les grilles informatiques, qui sont la mise en commun de ressources de différents centres de calcul connectés par des réseaux longue distance à très haut débit, offrent les ressources nécessaires à l'exécution de ce type d'application. Les environnements de programmation doivent prendre en compte les spécificités de ces applications et des grilles informatiques.
Ces travaux s'intéressent à la définition d'un modèle de programmation abstrait adapté aux applications parallèles distribuées. Ce modèle n'est pas basé sur un intergiciel ou un modèle de programmation existant. Il prend en compte les deux aspects des applications visées~: elles sont à la fois parallèles et distribuées. Ce sont des applications qui ont besoin d'utiliser au mieux les capacités des machines sur lesquelles les simulations sont déployées et exécutées. Le modèle de programmation abstrait prend en compte ce fait en permettant des communications parallèles adaptables entre deux programmes parallèles distribués.
Le modèle de programmation abstrait est basé sur la notion d'entité parallèle distribuée qui modèlise et structure un programme parallèle distribué. A partir de cette notion trois modèles ont été définis qui permettent de réaliser des communications dynamiques et parallèles entre deux entités, de gérer des données distribuées dans une communication et enfin de gérer des exceptions lors d'une communication. Ce modèle de programmation a été appliqué sur différentes notions des modèles de programmation distribués. Cette projection est systématique et a permis de définir la notion d'objet et de composant parallèle distribué. Deux prototypes nommés PaCO++ et GridCCM, respectivement extension de CORBA objet et composant ont permis de valider le modèle en obtenant de haute performance dans les communications entre deux entités.

Mardi 8 Mars 

    14h15 Abdou Guermouche (INRIA-ENSEEIHT/IRIT, Toulouse)

Stratégies d'ordonnancement dynamique pour les méthodes parallèles de factorisation de matrices creuses

Les méthodes directes de résolution de systèmes linéaires creux sont connues pour leurs besoins mémoire importants qui peuvent constituer une barrière au traitement de problèmes de grande taille. De ce fait, les travaux présentés dans cet exposé porteront sur l'amélioration du comportement mémoire tout en gardant de bonnes performances. Ceci sera fait en concevant de nouvelles heuristiques d'ordonnancement. La méthode parallèle étudiée (en l'occurrence la méthode multifrontale) repose sur une combinaison d'approches d'ordonnancement statique et dynamique visant principalement l'obtention de bonnes performances lors de la factorisation. Les ordonnanceurs dynamiques sur lesquels nous insisterons sont distribués et locaux à chacun des processeurs prenant part à la factorisation. Ainsi, une présentation de techniques d'ordonnancement dynamique ayant un double objectif de bonnes performances et de bon comportement mémoire sera faite. Nous décrirons dans un premier temps un ordonnanceur dynamique basé sur l'équilibrage de charge avec contraintes mémoire (mémoire disponible, taille des tampons de communication, etc ...). La souplesse ainsi offerte par ce nouvel ordonnanceur a permis d'améliorer le processus d'estimation de la mémoire nécessaire au déroulement de la factorisation. Notons cependant que la réduction de la taille de la mémoire (estimée) nécessite l'ajout de nouvelles contraintes mémoire dans nos ordonnanceurs dynamiques. Une étude expérimentales illustrant l'intérêt de ce nouveau type d'ordonnanceurs aussi bien en terme de temps de factorisation qu'en terme de comportement mémoire sera présentée. Puis dans une deuxième partie, nous décrirons des ordonnanceurs gérant de manière dynamique les tâches statiquement assignées à chacun des processeurs. Ainsi, différentes heuristiques d'ordonnancement seront étudiées (heuristiques basées sur la topologie de l'arbre de dépendance des tâches, heuristiques basées sur la notion de chemin critique, ...). Enfin, nous présenterons une extension de ces stratégies qui a pour objectif d'améliorer le comportement mémoire de la méthode étudiée. Ainsi, des résultats préliminaires montrant le potentiel et les limitations de ces approches seront donnés.

    15h30 Stéphane Pralet (CNRS-IRIT, Toulouse)

Prétraitements et pivotage statique pour la résolution de systèmes creux symétriques indéfinis par des méthodes directes

Un éventail large de simulations numériques (optimisation, résolution d'équations aux dérivées partielles, résolution d'un Lagrangien...) requiert la résolution de systèmes creux symétriques indéfinis. Cette classe de problèmes est connue pour sa difficulté. Nous nous intéressons aux méthodes directes. Les techniques de prétraitements habituellement utilisées que sont le passage à l'échelle des coefficients (scaling) et l'ordonnancement des variables ont montré leurs limites sur les problèmes symétriques indéfinis. Tout d'abord nous définirons une nouvelle méthode de scaling qui préserve la symétrie du système. Cette transformation améliore de manière significative le temps de factorisation par rapport aux approches existantes. Ensuite nous présenterons des techniques de transversale maximum pondérée symétrique pour présélectionner des pivots 1x1 et 2x2 avant la phase d'analyse. Nous avons développé de nouveaux algorithmes : les ordonnancements contraints. Ils calculent des permutations qui d'une part réduisent le remplissage dans les facteurs et qui d'autre part sont compatibles avec les pivots présélectionnés. Le pivotage statique est une technique de factorisation qui fut introduite dans SuperLU_dist par Sherry Li et James Demmel. Dans cette technique, chaque fois qu'un pivot est sélectionné, il est accepté, mais s'il est trop petit (ce qui peut être synonyme d'erreur numérique), les données initiales sont perturbées. Nous généraliserons cette approche aux matrices symétriques indéfinies,puis nous développerons des techniques de factorisation hybrides,combinaisons de pivotage statique et de pivotage numérique.

Mardi 1er Mars  Gaël Tessier (Projet ScAlApplix)

Simulation parallèle de la propagation de l'oïdium dans une parcelle de vigne

Le travail présenté fait l'objet d'une collaboration entre l'INRA de Villenave d'Ornon, le MAB à Bordeaux 2 et le LaBRI, Inria Futurs. Il porte sur la simulation de la propagation de l'oïdium dans une parcelle de vigne. Ce champignon qui se propage à l'aide de spores microscopiques, est à ce jour la première maladie fongique de la vigne au niveau mondial. Le modèle élaboré prend en compte la structure, la croissance et la sensibilité de la végétation qui jouent un rôle majeur dans le développement du champignon et la propagation de l'épidémie. En distinguant deux échelles pour la dispersion des spores, le simulateur couple un modèle discret utilisant des méthodes géométriques inspirées du lancer de rayons pour la dispersion locale, et un modèle stochastique à base de lois de distribution pour la dispersion à longue distance. Un simulateur parallèle utilisant MPI a été développé et des simulations grandeur nature ont été réalisées sur des clusters de noeuds SMP IBM Power 3 et 4, avec jusqu'à 128 processeurs.


Février

Mardi 15 février   Hélène Barucq (Université de PAU)

Projet MAGIC3D

L'exposé sera consacré à la présentation de Magique3D, équipe localisée à l'Université de Pau et des Pays de l'Adour. Ce groupe se fédère autour de la simulation de problèmes d'ondes (linéaires ou non linéaires) dans des milieux complexes 3D dans le contexte de la géophysique. La prise en compte de milieux de propagation réalistes nécessite d'allier diverses compétences en physique, en modélisation mathématique et en calcul haute performance. Le projet proposé par l'équipe Magique3D s'articule autour de ces différentes disciplines, et l'exposé sera l'occasion de montrer leurs interactions. On finira en considérant plus particulièrement les questions traitées par modélisation mathématique comme par exemple le développement de conditions de radiation pour simuler un milieu infini.

Mardi 8 février Guillaume Latu (ICPS Strasbourg)  

Simulation parallèle en physique des plasmas et des faisceaux de particules sur maillage adaptatif

Les travaux qui seront présentés s'inscrivent dans le projet INRIA CALVI (CALcul scientifique et VIsualisation). Ce projet vise à simuler numériquement l'évolution en temps de systèmes physiques de grande taille, modélisés par des équations aux dérivées partielles (EDP). Le problème qui nous préoccupe plus particulièrement concerne la physique des plasmas et des faisceaux de particules (dont un exemple important est la fusion nucléaire contrôlée). Ces phénomènes sont régis par l'équation de « Vlasov ».
Nous disposons de trois codes de calcul différents réalisant ce type de simulation. Différentes méthodes numériques ont été mises en ouvre dans le but de diminuer les coûts en calcul. Pour cela, des techniques adaptatives qui tiennent compte des phénomènes étudiés ont été mises au point (raffinement local du maillage). L'exposé portera principalement sur l'optimisation et l'implantation parallèle de l'une de ces méthodes numériques de résolution dites adaptatives. Le parallélisme de cette application est à grain fin. La mise en ouvre a été réalisée en OpenMP sur une architecture à mémoire distribuée.

 

Mardi 1 février Pierre Fortin (Projet ScAlApplix & LaBRI)

Introduction aux Méthodes Multipôles Rapides

Les Méthodes Multipôles Rapides (Fast Multipole Methods) ont été introduites il y a une vingtaine d'année afin de permettre la simulation des interactions entre N corps en temps linéaire et ce quelque soit la précision souhaitée. Après une présentation des méthodes hiérarchiques similaires, le principe de la méthode sera détaillé dans le cas de simulations gravitationnelles ou électrostatiques, uniformes ou non, et pour une exécution séquentielle ou parallèle. Les différentes méthodes permettant de réduire la complexité de l'opération la plus coûteuse de l'algorithme seront ensuite exposées (Fast Fourier Transform, rotations).  Enfin nous verrons comment l'introduction de BLAS (Basic Linear Algebra Subprograms) nous a permis d'obtenir de meilleurs performances en optimisant l'utilisation du processeur.

 

 


Janvier

Mardi 18 janvier  Rémi Abgrall (Projet ScAlApplix & MAB)

Quelques méthodes numériques reliées à la thèse de C, Tave

Mardi 11 janvier  Robert Strandh (LaBRI)

Le mécanisme journalier du système d'exploitation EROS

J'explique mon interprétation du mécanisme journalier du système EROS, ou plus précisément de la partie "single-level store"  de ce système.  Comme Multics, ce système présente une vue uniforme de tous les niveau de mémoire, y compris le disque, mais avec la sémantique de la mémoire vive (accès direct) et la permanence du disque.  La différence par rapport a Multics est que EROS préserve la cohérence en cas d'un plantage (dû, par exemple, à une coupure de courant).  S'il me reste du temps, je pense évoquer les conséquences possible sur l'API d'un système basé sur ce mécanisme.


Date   Prénom Nom ()

Titre

Résumé.