English version
Présentation succincte de Schooner
Schooner (qui signifie Sloop
Communication Library for High-level,
Object-Oriented, aNd
Efficient Remote Exchanges) est une
bibliothèque de classes utilisée pour écrire des applications parallèles
et distribuées en C++. Ses principaux buts sont :
- d'être indépendante de la couche de communication
utilisée,
- de fournir à l'utilisateur une vue structurée et
abstraite de son application (ensemble des calculateurs
accessibles, ensemble des entités de calcul),
- de permettre une redéfinition aisée de ses
comportements. Les avantages lorsque l'on utilise un langage
orienté objet sont principalement la modularité et la
réutilisabilité : par exemple, il est très facile de
rajouter un nouveau type de message ou de modifier la
dimension de l'application.
Au niveau le plus bas, Schooner définit un ensemble minimum de
mécanismes dont on doit disposer lorsque l'on développe des
applications concurrentes, que leur granularité soit fine ou plus
grossière. Il s'agit essentiellement de primitives permettant la
définition d'entités de calcul et l'échange de données entre elles.
Grâce au mécanisme d'héritage, cet ensemble peut être aisément
redéfini et élargi. De plus, la conception de cet ensemble est telle
que l'utilisateur peut avoir une vue structurée et abstraite de son
application (ensemble des calculateurs accessibles, ensemble des
entités de calcul, etc). L'échange de données entre entités de calcul
est réalisé par un mécanisme de message actif. Ce mode de
communication a été choisi car il est général et simple à manier.
Schooner sert actuellement de support d'exécution pour :
- le système C++//,
- l'environnement de simulation à événements discrets Prosit.
Les classes constituant la bibliothèque Schooner peuvent être rangées
en 3 catégories, selon leur niveau de fonctionnalité :
- le premier niveau est essentiellement une interface vers
n'importe quelle bibliothèque de communication, et si
nécessaire vers une bibliothèque de processus légers ;
- le deuxième niveau est consitué de classes qui permettent
au programmeur de créer ses noeuds de calcul, qui sont
appelés des "clusters"; ces clusters interagissent par le
biais de messages actifs ;
- un troisième niveau permet de programmer des objets
communiquant, interagissant également à l'aide de
messages actifs. Si nécessaire, n'importe quel objet
communiquant peut se voir associer un processus léger lui
permettant ainsi d'avoir une activité propre.
La figure suivante est un exemple d'une application bâtie sur
Schooner, en cours d'exécution.
Retour à la page principale de Schooner
Contact
Last modified: Mon Mar 2 15:27:21 MET