Précédent : Grands domaines d'application
Remonter : Projet REFLECS, Génie système et
Suivant : Résultats nouveaux
Chaque tâche est modélisée sous forme d'un graphe orienté fini d'actions représentant les synchronisations entre ces actions. Une action s'exécute entièrement sur un même serveur.
La solution que nous avons simulée est basée sur un ordonnancement périodique prédéfini des demandes d'activation de tâches, ces demandes ayant été préalablement diffusées aux serveurs par un protocole de diffusion fiable avec temps de réponse garanti. Cette solution garantit la sérialisabilité des tâches puisque tous les serveurs exécutent les tâches dans le même ordre.
En raison de la complexité du problème, nous avons besoin d'un
outil de simulation événementiel indispensable pour l'étude du
fonctionnement réel du système. La réalisation de ce simulateur
est présentée dans le §.5.1 et son utilisation est présentée dans
le §.5.2. Ce simulateur nous permet d'identifier les facteurs
ayant un impact sur les instants de fin d'exécution des tâches
sur les serveurs et de comparer les instants de libération des
serveurs dans différents scénarios. Un scénario est défini par
les instants de demande d'activation des tâches qui le
composent.
Le modèle de simulation que nous avons réalisé s'exécute sur
le simulateur événementiel XSim développé par la société Axlog.
Nous avons codé le modèle en C++, en créant des objets
réutilisables. La modularité ainsi obtenue est importante car ce
modèle pourra évoluer dans le futur (évolution du problème ou de
la solution).
Pour valider notre modèle de simulation, nous avons réalisé un
programme qui calcule en algèbre (max, +) les instants de
terminaison de l'exécution des tâches sur chaque serveur. Nous
avons donc comparé pour un scénario d'un jeu de tâches
représentatif les résultats obtenus par simulation avec les
résultats donnés par le programme de calcul matriciel en algèbre
(max, +).
Avant de lancer la simulation, l'utilisateur doit saisir les
paramètres du scénario et du jeu de tâches étudié. Une interface
graphique lui permet de paramétrer le modèle simulé. Elle est
organisée avec des modèles respectant une hiérarchie descendante.
Un modèle est associé à chaque objet interne de la simulation
(ex: réseau de communication, tâches, ordonnancement). Lors de la
configuration, une fenêtre graphique, propre à chaque modèle,
apparaît pour chaque nouvelle instance de l'objet associé et
permet de le configurer. Cette interface permet donc de
paramétrer le réseau de communication, l'algorithme
d'ordonnancement, les tâches et leurs instants de demande
d'activation.
Figure: Vecteurs de libération des
serveurs
Les résultats d'une simulation sont présentés sous forme de
schémas et générés en utilisant deux moyens. Certains graphiques
sont obtenus grâce aux outils proposés par l'outil XSim: courbes
d'états des serveurs (occupé, attente de synchronisations,
oisif), graphiques représentant le nombre de tâches en attente
sur chaque serveur. D'autres résultats sont stockés dans des
fichiers textes et sont traités ultérieurement pour obtenir des
courbes sous l'outil de calcul formel MAPLE. Ces courbes
permettent de visualiser l'exécution des actions sur les serveurs
et les instants de terminaison d'exécution des tâches (cf. Fig.1
où chaque tâche est représentée par un niveau de gris).