Download Boris Daix

Transcript
Schémas de calcul
Le module de supervision de couplage propose un modèle dans lequel un utilisateur peut
définir des nœuds de calcul et en connecter les ports, dans l’espace ou dans le temps. Il peut
également définir des conteneurs et leur associer des nœuds de calcul. Ce modèle distingue deux
catégories de nœuds, trois catégories de ports, et quatre catégories de connexions.
Les nœuds de calcul peuvent être élémentaires ou composés.
1. Les nœuds élémentaires sont des abstractions de composants SALOME, dont les ports sont
définis statiquement. Dans les schémas de calcul, ces nœuds peuvent être associés à des
conteneurs, qui abstraient quant à eux des conteneurs de composants SALOME. Quand
ils ne sont pas chargés au sein du superviseur, les nœuds sont effectivement exécutés dans
des conteneurs de composants SALOME, locaux ou distants grâce à CORBA.
2. Les nœuds composés le sont d’un ou plusieurs nœuds, élémentaires ou bien composés
eux-mêmes, connectés logiquement selon une des structures de contrôle suivantes : Bloc,
ForLoop, While, ForEach, ou Switch. Les nœuds composés sont des boîtes blanches, c’est-àdire que tous les nœuds qu’ils comportent peuvent être connectés directement avec d’autres
nœuds du schéma de calcul.
Les ports des nœuds sont orientés, typés, et peuvent être de contrôle d’exécution, de données,
ou de flux de données. Ces ports permettent au superviseur de couplage, qui interprète les
schémas de calcul, d’organiser l’exécution, la circulation des données, et les connexions des
nœuds auxquels ils appartiennent.
1. Les ports de contrôle d’exécution permettent au superviseur d’organiser l’exécution des
nœuds. Chaque nœud a un port de contrôle d’exécution entrante et un d’exécution sortante.
2. Les nœuds peuvent avoir des ports de données d’entrée, de sortie, ou les deux. Les ports
de données permettent au superviseur d’organiser la transmission des données entre les
nœuds, respectivement avant, après, ou avant et après l’exécution des nœuds.
3. Enfin, les nœuds peuvent avoir des ports de flux de données entrantes ou de données
sortantes. Ces ports permettent au superviseur d’organiser la connexion des nœuds afin
que ceux-ci puissent communiquer pendant leur exécution.
Les connexions entre ports des nœuds peuvent être de flot de contrôle, de flot de données,
simplement de données, ou de flux de données. Une connexion, de quelque type qu’elle soit,
n’est possible qu’entre des ports compatibles, c’est-à-dire de types compatibles et d’orientations
complémentaires (depuis les sorties vers les entrées).
1. Les connexions de flot de contrôle connectent des ports de contrôle d’exécution. Pour une
connexion de flot de contrôle, une fois terminée l’exécution du nœud auquel appartient le
port de contrôle d’exécution sortante, le superviseur démarre l’exécution du nœud auquel
appartient le port de contrôle d’exécution entrante.
2. Les connexions de flot de données connectent des ports de données et génèrent des connexions de flot de contrôle entre les nœuds auxquels appartiennent les ports de données
impliqués. Ainsi, le superviseur ne fait circuler les données entre les ports que lorsque le
permet l’ordre d’exécution fixé par les connexions de flot de contrôle générées.
3. Les connexions simplement de données sont des connexions de flot de données pour lesquelles aucune connexion de flot de contrôle n’est générée.
4. Enfin, les connexions de flux de données connectent des ports de flux de données. Ces
connexions peuvent impliquer un port de flux de données sortantes et plusieurs ports de
flux de données entrantes, et inversement.
Les étapes par lesquelles passe un nœud pour son exécution s’enchaînent donc ainsi :
135