Projet :
ReMaP

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, 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.
- 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.
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.
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.
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.
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.

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