Projet : ReMaP

previous up next contents
Précédent : Compilateurs et bibliothèques Remonter : Résultats nouveaux Suivant : Réseaux haut débit et calcul


Sous-sections


   
Environnements multi-threads hautes performances et applications



Participants : Gabriel Antoniu, Luc Bougé, Jean-François Méhaut, Raymond Namyst, Christian Perez, Robert Russell.

Mots clés : calcul hautes performances, multithreading, PM2, Madeleine, compilation data-parallèle, migration de threads, serveurs video, système de fichiers parallèle .

Résumé :

Les activités dans ce thème ont été cette année consacrées au développement de l'environnement d'exécution PM2/HighPerf et à diverses applications dans le domaine de la compilation parallèle, du calcul numérique hautes performances, et des entrées-sorties parallèles.

L'environnement PM2/HighPerf

L'environnement PM2, et tout particulièrement sa couche de communication appelée Madeleine, ont été adaptés pour tenir compte de l'évolution des architectures des réseaux et de protocoles. L'année 1998 a été consacrée à la mise au point d'une nouvelle version appelée PM2/HighPerf, particulièrement optimisée pour les réseaux locaux haut débit. La contribution la plus remarquable est la refonte complète de la couche de communication, appelée Madeleine, digne compagne de la couche de gestion de threads appelée Marcel! Cette couche est maintenant constituée d'une interface de portabilité extrêmement réduite (5 fonctions principales) et d'une conception permettant une exploitation très efficace des protocoles de bas-niveau zéro copie comme le Basic Interface Protocole (BIP), développé par L. Prylli et B. Tourancheau au-dessus de Myrinet. Cette conception originale est une contribution remarquable au domaine et a fait l'objet de plusieurs publications cette année. Elle a permis d'établir un nouveau record du monde dans le (petit) monde des environnements multi-threads distribués. Les principales actions de recherche et de développement ont été les suivantes.

Actions au niveau de PM2/HighPerf

Allocateur iso-adresse pour PM2
Il s'agit de garantir par une stratégie d'allocation dynamique contrôlée globalement que les adresses virtuelles sont préservées lors de la migration des threads. Ceci donne une transparence totale à la migration (entre noeuds compatibles au niveau binaire) et lève toute limitation au niveau de l'utilisation des pointeurs dans les programmes PM2.
Support d'exécution pour les compilateurs data-parallèles
L'utilisation de PM2 comme support d'exécution pour des compilateurs data-parallèles permet de migrer les processeurs virtuels HPF ou C* dynamiquement à l'exécution, de manière transparente pour le compilateur. Une nouvelle approche de l'équilibrage dynamique de charge est ainsi rendue possible en conjuguant ces migrations avec les distributions statiques disponibles dans ces langages.
Interface commune pour les environnements PM2 et Athapascan 0b
au-dessus de SciOS. Dans le cadre de notre participation à l'Action de recherche coopérative (ARC) ResCapA sur les réseaux à capacité d'adressage, nous avons proposé de définir en collaboration avec le projet Apache une interface commune pour nos deux environnements multi-threads distribués. La cible choisie est l'environnement d'exécution SciOS développé par Povl Koch dans le cadre du projet Sirac pour une grappe de PC interconnectés par un réseau de type SCI. Un travail préparatoire a consisté à porter Madeleine au-dessus de SCI (avec Gaëtan Scotto di Appolonia, Espace, LIFL).
Interopérabilité entre Converse et PM2
Dans le cadre du lancement d'une collaboration entre le SPI-CNRS et l'université de l'Illinois à Urbana-Champaign (UIUC), nous avons proposé d'évaluer l'interopérabilité entre Converse développé par Sanjay Kalé et PM2. La couche de communication Madeleine pourra être utilisée par Converse pour exploiter les nouvelles architectures de réseau à haut débit. Nous avons commencé la réalisation d'un premier prototype pour porter l'interface de PM2 au dessus de Converse. La réalisation de ce prototype devrait être réalisée pendant cette collaboration. L'objectif final est l'expérimentation et l'évaluation d'algorithmes d'optimisation combinatoire multi-threads développés par Van-Dat Cung au PRiSM, Versailles, sur des architectures hautes performances hétérogènes gérées par Converse et PM2. Sanjay Kalé a visité notre groupe en novembre 1998 pour finaliser cette coopération.

Actions au niveau de Marcel

Il s'agit ici d'actions plus techniques de portage de Marcel dans divers environnements.

Portage sur une architecture SMP
Nous avons réalisé une implantation prototype du noyau Marcel au-dessus de la Sun Enterprise 10000 à 32 processeurs Sparc du Pôle scientifique de modélisation numérique (PSNM) de l'ENS Lyon.
Portage dans l'environnement Windows NT
Nous avons conclu un accord de coopération bilatérale avec l'équipe de Assaf Schuster, Lab. for Parallel and Distr. Computing, Technion, Haifa, Israël autour de l'utilisation des environnements multi-threads pour le calcul hautes performances. Cette équipe développe un environnement appelé Millipede assez proche de PM2, mais sur un support Windows NT. Lors d'un séjour au Technion, nous avons étudié la possibilité de porter Marcel sur une telle plate-forme, et J.-F. Méhaut a réalisé un premier prototype qui est opérationnel. De nombreux problèmes d'efficacité sont cependant encore non résolus.
Tulip Threads, Los Alamos
J.-F. Méhaut, lors de son semestre aux USA, a visité l'équipe de P. Beckmann et D. Gannon à Los Alamos, qui développe l'environnement de programmation multi-threads Tulip. Il a contribué au développement de la bibliothèque Tulip Threads dans la perspective d'une convergence avec Marcel. En effet, Tulip n'intègre pas actuellement de mécanisme de préemption. Il a ensuite intégré Tulip Threads à l'environnement Nexus développé à Argonne par l'équipe de Ian Foster et Carl Kesselman.

Actions au niveau de Madeleine

Il s'agit ici aussi d'actions très techniques de portage au-dessus de divers protocoles.

Madeleine au-dessus de BIP
Nous avons réalisé un portage extrêmement optimisé de Madeleine au-dessus du protocole de bas niveau Basic Interface Protocol (BIP) développé par L. Prylli et B. Tourancheau pour les cartes d'interconnexion Myrinet. Ce travail est actuellement utilisé pour toutes nos expériences concernant PM2 et ses applications sur la grappe de PC PoPC. C'est grâce à ce portage que les résultats record mentionnés plus haut ont été obtenus.
Madeleine au-dessus de SCI Dolphin
Avec Gaëtan Scotto di Appolonia, Espace, LIFL, une implantation expérimentale sur le protocole natif a été réalisée. Une implantation beaucoup plus solide est actuellement à l'étude dans le cadre du système SciOS développé au sein du projet Sirac. Cette étude a été faite dans le cadre de l'ARC ResCapA.
Madeleine au-dessus de SBP
Le protocole Streamed Buffer Protocol (SBP) est un protocole à pré-allocation de buffers partagés entre le noyau et l'utilisateur, développé par Robert Russell à l'univ. New Hamsphire, Durham, NH. Dans le cadre du contrat NSF/INRIA de collaboration avec cette équipe conclu fin 1997 pour 2 ans, Robert Russell a passé son année sabbatique au LIP, ce qui a rendu ce portage possible dans de bonnes conditions. L'intérêt spécifique de cette expérience est l'originalité du partage de buffers pré-alloués proposé par SBP. La structure de Madeleine s'est révélée bien adaptée à ce type de protocole, ce qui a confirmé la flexibilité de la conception réalisée.
Madeleine au-dessus de VIA
Une étude préliminaire a été conduite pour le portage de Madeleine au-dessus du standard industriel Virtual Interface actuellement promu par Compaq, MicroSoft et Intel pour les réseaux locaux hautes performances.

Applications de PM2/HighPerf

Nous avons poursuivi l'effort de mise en oeuvre applicative de l'environnement PM2 accompli les années précédentes, en étroite interaction avec les utilisateurs intéressés.

Compilation data-parallèle
Il s'agit d'utiliser PM2/HighPerf comme environnement d'exécution pour des compilateurs data-parallèles. Les compilateurs visés sont le compilateur Adaptor HPF développé par Thomas Brandes au GMD, Bonn, et le compilateur UNH C* développé par Phil Hatcher à l'univ. New Hampshire, Durham, NH. Nous avons actuellement des prototypes opérationnels dans les deux cas et nous avons lancé un programme de validation expérimentale sur des codes les plus réalistes possibles, en liaison avec Bernard Brun, CEA, Grenoble. Les développements concernant Adaptor HPF ont été faits en liaison avec les autres travaux menés au LIP sur ce compilateur, en particulier par F. Desprez. Les développements concernant UNH C* ont été conduits dans le cadre du contrat NSF/INRIA C*IT qui finance la collaboration entre notre groupe et le groupe de Phil Hatcher.
Optimisation combinatoire parallèle
Dans le cadre de la collaboration SPI-CNRS/UIUC, nous avons amplifié le programme d'implantation d'algorithmes d'optimisation combinatoire développés dans l'équipe de Catherine Roucairol et Van-Dat Cung au PRiSM, Versailles. Une première phase avait été accomplie en 1997 dans le cadre de la thèse de Yves Denneulin sous la direction de J.-F. Méhaut et Jean-Marc Geib, avec des résultats très encourageants. PM2 avait alors géré avec succès plusieurs millions de threads pour résoudre en une dizaine de minutes une instance du problème du voyageur de commerce jusque-là non résolue. Un record du monde de l'optimisation combinatoire avait ainsi été établi. Au cours de cette année 1998, la bibliothèque BOB a été portée sur PM2/HighPerf et des expérimentations sur réseau Myrinet devraient débuter prochainement. Cette nouvelle phase s'intéresse plus particulièrement aux mises en oeuvre sur des architectures hétérogènes, grâce à la couche d'interopérabilité Converse développée par Sanjay Kalé (voir ci-dessus).
Interprétation distribuée de Java
Le groupe de Phil Hatcher, univ. New Hampshire, Durham, NH, s'intéresse à l'interprétation de Java dans un environnement distribué géré par PM2. L'idée est de projeter les threads Java sur des threads PM2, en garantissant la cohérence mémoire par une couche de mémoire virtuelle partagée. Un premier prototype a été réalisé. Les étudiants concernés vont venir séjourner au LIP cet hiver dans le cadre du contrat de collaboration NSF/INRIA.

Entrées-sorties parallèles

Le séjour d'une année de Robert Russell au LIP dans le cadre de la coopération NSF/INRIA avec l'univ. du New Hampshire nous a conduits à nous intéresser au problème des entrées-sorties parallèles hautes performances. En effet, Robert Russell a travaillé dans le domaine des systèmes de fichiers parallèles distribués. D'autre part, notre partenaire MS&I souhaite développer dans le cadre du LHPC des serveurs vidéo hautes performances sur des architectures à base de grappes de PC. Enfin, les problèmes posés par les entrées-sorties hautes performances sont très proches de ceux rencontrés dans la gestion de threads, même si les techniques employées sont différentes.

Basic Parallel File System (BPFS).
Robert Russell et Alexis Agahi, dans le cadre de son stage de DEA, ont développé un système parallèle de gestion de fichiers portable au-dessus de grappes de systèmes Unix/Linux standard. Ce système est en cours de dépôt à l'Agence de protection des programmes et il sera disponible dès que possible pour les utilisations académiques. Une présentation générale, un manuel d'utilisation et un compte-rendu d'expérimentation sont disponibles sous forme de rapports interne (voir la bibliographie).
Network Attached Disks
(Stage de Magistère de Olivier Aumage). Lors de son stage d'été à l'univ. New Hampshire, Durham, NH, sous la direction de Phil Hatcher, Olivier Aumage a étudié le portage d'un système de type BPFS sur un réseau de disques intelligents connectés directement à un réseau FDDI.
Caches hautes performances pour les autoroutes multimédia (CHARM).
Ce projet a été présenté au guichet Autoroutes de l'information par un consortium dirigé par le Centre Érasme, un établissement de recherche public soutenu par le Conseil général du Rhône et l'Éducation nationale pour étudier l'utilisation des nouvelles technologies multimédia sur réseaux à haut débit à des fins pédagogiques. Le LIP et MS&I sont associés dans ce projet pour le développement d'un système de caches Web hautes performances pour des boucles locales haut débit. J.-F. Méhaut assurera avec L. Prylli la réalisation d'une maquette de cache hiérarchique parallèle faiblement couplée et son optimisation. L. Bougé assure la responsabilité scientifique du projet en ce qui concerne le LIP. Alice Bonhomme vient d'être recrutée en thèse sur une bourse CIFRE LHPC dans ce cadre. Elle sera encadrée par L. Prylli.



previous up next contents
Précédent : Compilateurs et bibliothèques Remonter : Résultats nouveaux Suivant : Réseaux haut débit et calcul