• Aucun résultat trouvé

s, la valeur 0.7 présente les meilleures performances. L’objectif de cette thèse n’est pas d’affiner la valeur de la borne s, mais juste de montrer son influence.

Expérience 3. Ici, nous examinons la façon dont les nœuds passent d’un protocole à l’autre. La figure A.5 montre qu’au début de l’exécution, tous les nœuds commencent à collecter des molécules en utilisant le protocole optimiste. Le changement de protocole arrive environ à la moitié de l’exécution. A cet instant, les nœuds n’arrivent plus à capturer efficacement des molécules avec le protocole optimiste, et, en conséquence, changent de sous-protocole pour le pessimiste. Nous observons que, grùćce à l’échange des valeurs ã entre les nœuds, les nœuds changent de sous-protocole rapidement: pour un système de 250 nœuds, seulement 15 étapes sont nécessaires pour que tous les nœuds changent de protocole, ce qui représente 10% du temps d’exécution.

Expérience 4. Finalement, nous étudions les coùżts en termes de communication entre les nœuds du système. La figureA.6montre le nombre de messages échangés à chaque cycle (chaque cycle correspond à 12 étapes de simulation), répartis en deux catégories : messages utiles (ceux qui permettent de parvenir à la réaction, en noir) et messages inu- tiles (ceux qui correspondent à des réactions annulées à cause des conflits, en gris). Nous remarquons que le protocole mixte permet de prendre les avantages des deux protocoles. Premièrement, il profite du haut pourcentage de messages utiles du protocole optimiste. Ensuite, le changement de protocole permet de diminuer le nombre total de messages. Quand nous comparons le coùżt de communication des deux sous-protocoles (optimiste et pessimiste), affiché sur le cùťté droit de la figureA.6, nous voyons que le changement de protocole réduit le trafic réseau et facilite le passage à l’échelle.

A.4 Travaux Connexes

Le paradigme chimique a été à l’origine conçu pour les programmes qui doivent être exé- cutés sur des machines parallèles. Le travail pionnier de Banâtre et al. [11] propose deux approches conceptuelles de la mise en oeuvre, dans lesquelles chaque processeur d’une machine parallèle détient une molécule et la compare avec les molécules de tous les autres processeurs. Une approche légèrement différente a été proposée dans le travail de Linpeng et al. [56], où un programme est exécuté en plaçant les molécules sur une bande et en les pliant après chaque comparaison verticale. Récemment, Lin et al. ont développé un analyseur de programmes GAMMA pour les exécuter sur un cluster exploitant la puis- sance de calcul des GPUs [75]. Tous les travaux mentionnés présentent d’importantes caractéristiques d’accélération d’exécution, mais les plates-formes utilisées sont plutôt limitées.

L’exclusion mutuelle et les algorithmes d’allocation des ressources ont été largement étudiés. Néanmoins, la plupart des travaux se concentre sur le partage d’une ressource spécifique, ou une section critique, parmi de nombreux processus [110, 28]. Une solu- tion de base du problème k-parmi-M a été donnée par Raynal [104]. Ce premier travail

est un algorithme statique à base de permission dans lequel seul le numéro d’un ensem- ble prédéfini de ressources varie du nœud au nœud. En outre, la solution suppose une connaissance globale du système. Par contre, un environnement d’exécution pour les programmes chimiques est un système dynamique dans lequel les nœuds doivent obtenir des molécules distinctes, qui peuvent être considérées comme des ressources.

Le protocole de validation à trois phases a été proposé comme mécanisme de recou- vrement de fautes pour les systèmes de bases de données distribuées [116]. Bien que, dans son essence similaire au protocole de validation, l’objectif du sous-protocole opti- miste proposé ici est d’assurer la vivacité du système en assurant que au moins un nœud sera en mesure d’achever sa réaction.

A.5 Conclusion

Alors que la métaphore chimique gagne de l’attention dans la modélisation de la coordi- nation autonomes de services, le déploiement effectif des programmes suivant le modèle de programmation chimique sur les plates-formes distribuées reste un problème très ou- vert. Dans cette thèse, nous avons décrit un nouveau protocole pour capturer plusieurs molécules de façon atomique dans un multi-ensemble évolutif d’objets distribués au- dessus d’une plate-forme à large échelle. En passant dynamiquement d’un sous-protocole à l’autre, notre protocole exploite pleinement leurs bonnes propriétés (impact limité sur le réseau et rapidité du sous-protocole optimiste lorsque la densité des réactifs est élevée, et garantie de la vivacité du sous-protocole pessimiste une fois que cette densité chute), sans souffrir de leurs inconvénients. Ces caractéristiques sont illustrées à travers un en- semble de simulations.

Ce protocole s’inscrit dans le cadre d’un travail ambitieux qui vise à la construction d’une plate-forme distribuée autonome offrant toutes les fonctionnalités nécessaires pour exécuter des programmes chimiques. Ce travail a aussi l’intérêt de revisiter des problèmes classiques des systèmes distribués, en gardant les exigences de passage à l’échelle et les spécificités du modèle chimique à l’esprit. En suivant cette idée, cet article aborde l’exclusion mutuelle. Dans notre contexte, la propriété de vivacité est d’abord une pro- priété du système — au moins une réaction doit avoir lieu en un temps fini. Nous montrons aussi l’absence de famine: si des molécules existent suffisamment longtemps, un nœud essayant infiniment souvent de les capturer y parviendra en un temps fini.

Dans le cadre de cette thèse, nous avons élargi ce protocole en proposant un sys- tème complet pour l’exécution de programmes chimiques sur des plates-formes à large échelle. Plus spécifiquement, cette thèse décrit un modèle d’exécution entièrement dé- centralisé qui permet d’exécuter des programmes chimiques dans des systèmes haute- ment dynamiques et hétérogènes en s’appuyant sur le protocole de capture décrit. Ainsi, un prototype a été conçu prouvant la viabilité d’un tel systéme. En outre, il a été testé sur Grid5000 [20], et les expériences conduites affirment ses bonnes propriétés, notamment la faisabilité et la scalabilité. Nous avons l’intention d’utiliser la plate-forme pour exploiter l’expressivité du paradigme chimique et en particulier développer un système de gestion

VU:

Le Directeur de Thèse

Thierry PRIOL

VU:

Le Responsable de l’École

Doctorale

_____ ______

VU pour autorisation de soutenance

Rennes, le

Le Président de l’Université de Rennes 1

Guy CATHELINEAU

VU après soutenance pour autorisation de publication:

Le Président du jury,

Documents relatifs