Expresso: Services objets sur réseaux à haute performance

Contacts

Problématique Scientifique

Depuis peu sont rendues disponibles des architectures en grappes (clusters) regroupant un ensemble de stations de travail reliées par un réseau à haut débit et faible latence. Ce genre d’architecture permet dès à présent de disposer pour un coût relativement faible d’une importante puissance de communication et de calcul potentiel. De plus, si ces réseaux sont essentiellement locaux, ils laissent augurer des futures capacités des réseaux à plus longue distance. Les technologies employées dans ces architectures engendrent un boulversement dans la hiérarchie mémoire : la capacité de transfert d’informations du réseau approche celle de la mémoire centrale. Mais l’exploitation des performances du matériel reste une tâche difficile même si des progrès ont été faits dans la conception de logiciels de base, proches du matériel (bibliothèques de communication spécialisée). En particulier, être capable d’exploiter ces architectures tout en utilisant des technologies de développement évoluées demeure un problème ouvert.

Objectifs et résultats

Notre objectif est de fournir un middleware objet adapté à ce type d’architectures. Plus précisément, nous nous attachons à étudier les techniques nécessaires à l’implantation d’exécutifs objets tirant parti des capacités des réseaux à haut débit et faible latence. Ceci recoupe deux champs d’investigations puisqu’il faut concevoir un exécutif objet permettant la programmation répartie et adapté aux réseaux rapides.

Nous cherchons dans un premier temps à développer les briques de base de ce middleware. La problématique étudiée est celle du transport d’un objet entre deux machines virtuelles Java. Un objet peut contenir des références vers d’autres objets. C’est donc un graphe d’objets, comportant éventuellement des cycles, qui doit être transporté. Des mesures ont montré que les techniques classiques de sérialisation-désérialisation n’offrent pas de résultats probants dans le contexte des réseaux à haut débit car le temps de parcours du graphe et de linéarisation domine largement le coût de transfert. Nous proposons une technique de transfert iso-adresse, fondée sur la transmission directe de la représentation mémoire des objets. Elle permet de s’affranchir du parcours du graphe sous certaines conditions, notamment d’homogénéité des nœuds du réseau.

Nous avons définit une bibliothèque Java appliquant cette technique. Un premier prototype a été implanté sur une grappe de PC sous Linux reliés par un réseau Myrinet avec MPI comme interface de communication (voir les détails de la plate-forme). Cette bibliothèque a pu être utilisée pour la parallélisation d’une application mettant en œuvre un algorithme génétique.

Publications

Publications HAL Identifiant hal-00426588;hal-00426593

ref_biblio
Luc Courtrai, Yves Mahéo, Frédéric Raimbault. Java objects communication on a high performance network. 9th Euromicro Workshop on Parallel and Distributed Processing, Feb 2001, Mantova, Italy. pp.203-210, ⟨10.1109/EMPDP.2001.905044⟩. ⟨hal-00426588⟩
Accès au texte intégral et bibtex
https://hal.science/hal-00426588/file/euromicro01.pdf BibTex
ref_biblio
Luc Courtrai, Yves Mahéo, Frédéric Raimbault. Expresso: a library for fast transfers of Java objects. First Myrinet User Group Conference, Sep 2000, Lyon, France. 7 p. ⟨hal-00426593⟩
Accès au texte intégral et bibtex
https://hal.science/hal-00426593/file/MUG2000.pdf BibTex

Présentations

  • Myrinet User Group Conference, Lyon, septembre 2000. PDF