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