May 28, 2014
Cyril Dumont (LACL) 14h - salle Keynes (faculté de sciences économiques et gestion)Ce travail appartient au domaine de la simulation numérique sur des plates-formes d’exécution distribuées hétérogènes telles que des grilles de calcul. Ce type de plate-forme se caractérise par des possibles changements de condition d’exécution et par une probabilité importante de défaillance de certains composants. Une application qui s’exécute dans un tel environnement se doit d’être adaptable à son contexte d’exécution et tolérante aux pannes.
Face à la complexité croissante de la mise en place de cas de calcul sur des grilles de calcul, nous proposons une plateforme logicielle pour la résolution de cas de calcul numérique dans un environnement distribué hétérogène. Nos travaux apportent une solution qui se base sur un système d’agents mobiles, ce qui permet à une application de s’adapter au changement de son environnement d’exécution.
Dans un premier temps, nous utilisons le langage pi-calcul d’ordre supérieur pour spécifier une « ferme de travailleurs » capable de participer à la résolution de tout type de cas de calcul.
Ensuite, nous énonçons des propriétés qui caractérisent le bon fonctionnement de ce système avec une logique temporelle TCTL. Pour cela, nous souhaitons modéliser notre système à l’aide d’automates temporisés à partir des termes définis par la spécification formelle en pi-calcul. Dans ce but, nous définissons une transformation de termes écrits en pi-calcul en automates temporisés. Les propriétés sont alors vérifiées avec l’outil UppAal.
Pour valider ce travail de modélisation, nous avons réalisé le framework MCA (pour Mobile Computing Architecture). Celui-ci propose un ensemble d’outils facilitant la mise en place de composants sur un environnement distribué hétérogène dans le but d’effectuer la résolution de cas de calcul. La librairie avec laquelle sont développés ces composants, qu’ils soient mobiles ou non, est implantée en Java et se base les technologies Jini et JavaSpaces.
Enfin, nous réalisons l’évaluation du framework MCA en procédant à la résolution de trois cas de calcul différents. Chacune de ces expériences, réalisées sur une grappe de 20 noeuds, nous permet de montrer les caractéristiques essentielles de notre framework : une simplicité de programmation, un faible surcoût en temps d’exécution sans l’activation de la tolérance aux pannes et une tolérance aux pannes efficace.