Portage de la librairie SCHOONER sous SOLARIS


Encadrement:
Françoise BAUDE (Francoise.Baude@sophia.inria.fr)
Nathalie FURMENTO (Nathalie.Furmento@sophia.inria.fr)

Téléphone:
04 93 65 76 71
04 93 65 78 99

Adresse:
INRIA Sophia Antipolis
B.P. 93,
2004 route des Lucioles,
06902 Sophia Antipolis cedex

Equipe d'accueil:
Projet commun SLOOP (INRIA / I3S - UPRESA 6070, CNRS, UNSA)

Laboratoire d'accueil:
INRIA Sophia Antipolis

Description du sujet:

Le projet proposé s'inscrit dans le cadre des développements de l'équipe SLOOP (acronyme de Simulation, Langages à Objets, Parallélisme). Un des objectifs de SLOOP est de développer une extension parallèle et distribuée du langage C++, appelée C++//, et subsidiairement de la faire adopter comme la norme européenne en la matière, EUROPA.

Dans ce contexte, nous avons développé SCHOONER. SCHOONER est un ensemble de classes C++ destiné, entre autres, à être le support d'exécution de C++// sur réseau de stations de travail Unix: gestion d'objets actifs et de leurs communications. Un des points importants est que SCHOONER soit portable et non figé, c'est-à-dire que SCHOONER puisse se baser sur n'importe quel outil de communication classique (TCP/IP, PVM, etc) et n'importe quel support pour les objets actifs - en particulier des processus légers.

En utilisant PM2 [2], une bibiliothèque offrant des processus légers communicants, développée à l'université de Lille, un binôme d'étudiants de l'ESSI 3ème année a fourni l'an dernier une implantation de SCHOONER [3]. Le travail consiste à réaliser une implantation similaire en utilisant cette fois-ci la bibliothèque offrant des processus légers de Solaris et une bibliothèque pouvant permettre la communication entre processus légers, NEXUS [1], développée conjointement par CALTECH et Argonne Laboratory aux USA. La tendance à migrer vers Solaris, ainsi que les qualités annoncée de NEXUS justifient ces choix. Nous espérons valider ainsi la propriété de SCHOONER d'être non figé.

La plus grosse partie du travail sera certainement de se familiariser avec

  1. les concepts de SCHOONER et les points spécifiques requis par C++//
  2. ses différentes implantations existantes
  3. la programmation de processus légers sous Solaris
  4. Nexus et en particulier, l'utilisation un peu originale que nous comptons en faire (Nexus propose en fait un mode de calcul Remote Procedure Call asynchrone).
Suite à quoi, l'implantation demandée (reécriture des quelques classes bas-niveau de SCHOONER) pourra être réalisée.

Références

1
Ian Foster, Carl Kesselman, and Steven Tuecke. The Nexus Task-parallel Runtime System. In Proceedings of 1st International Workshop on Parallel Processing, 1994.

2
Raymond Namyst and Jean-François Méhaut. PM2: Parallel Multithreaded Machine. A computing environment for distributed architectures. In ParCo'95, Gent, Belgium, September 1995.

3
F. Baude, N. Furmento, D. Caromel, R. Namyst, J-M. Geib, and J-F. Méhaut. C++// on top of PM2 via SCHOONER. In Stratagem'96, p.41-55, France, July 1996. ISBN-2-7261-0982-9.

4
F. Baude, N. Furmento. Schooner: An Object-Oriented Run-time Support for Distributed Applications In K. Yetongnon and S. Hariri, editors, Proceedings of Parallel and Distributed Computing Systems (PDCS'96), volume 1, pages 31-36, Dijon (France), September 1996. International Society for Computers and their Applications (ISCA). ISBN: 1-880843-17-X.


Page maintenue par Nathalie Furmento
Tue Dec 3 16:29:01 MET 1996