• Aucun résultat trouvé

Gains et coûts de l'adaptation de la gestion de données répliquées

6.3 Notre prototype

6.4.3 Gains et coûts de l'adaptation de la gestion de données répliquées

 (ms) 1000 gur at io n 600 800 e  re co nf ig centralized centralisé 400 Temp d e distributed distribué 0 200 T 0 1 2 3 4 5 Nombre des répliques à mettre à jour

Figure 6.19  Temps d'exécution avec une conguration centralisée vs. distribuée

6.4.3 Gains et coûts de l'adaptation de la gestion de données répliquées Nous avons mené un ensemble d'expériences pour déterminer si l'adaptation dynamique peut améliorer les performances du système de réplication et satisfaire les exigences des utilisateurs de façon signicative dans plusieurs situations.

Une des expériences a consisté à réaliser un processus d'adaptation du protocole de cohérence pour passer d'un protocole pessimiste à optimiste. Nous nous sommes intéressés à une donnée modiable ayant quatre répliques. Dans notre expérience un client eectue une lecture suivie d'une écriture une vingtaine de fois de manière à avoir des demandes d'accès avant, au cours et après le processus d'adaptation.

L'objectif de cette expérience est de déterminer d'une part le coût d'adaptation en terme de temps de blocage des requêtes d'accès aux données à cause du processus d'adaptation et d'autre part le gain d'adaptation en terme de réduction de temps d'accès aux données. Nous avons mesuré le temps moyen de réponse à une demande d'écriture de la donnée avant et après l'adaptation ainsi que le coût de cette adaptation.

Le temps moyen d'écriture était de 198 ms avant adaptation et 151 ms après adapta-tion. Ces mesures mettent en évidence le gain de l'application d'un nouveau protocole de cohérence. Le temps d'arrêt de service est égal à 288 ms. Ce coût d'adaptation peut être compensé s'il y a par la suite une longue série d'accès à la donnée. De manière générale, le gain total est égal à la somme des gains de toutes les requêtes d'accès à la donnée lan-cées pendant et après le changement de comportement du système de réplication. Ce gain dépend du nombre de requêtes d'accès et du moment de leur lancement :

• Le nombre de requêtes. Le gain total peut être important quand le nombre de requêtes est grand. Par exemple, si après la n d'adaptation, les clients exécutent 10 requêtes d'écriture, le gain total est 10 * 47 ms.

Conclusion 129

de service pendant l'adaptation et/ou le traitement des requêtes précédentes qui ont étés bloquées à cause de l'adaptation. Dans le cas contraire, la requête est exécutée sans attente due à la réalisation de l'adaptation.

D'autres exemples d'adaptation pouvant être bénéques pour l'utilisateur concernent le changement de l'algorithme de placement permet de mieux rapprocher les répliques des utilisateurs. L'adaptation peut aussi faire qu'une réplique locale soit créée pour un utili-sateur particulier suite à un changement de contexte. Par exemple, on utilise l'algorithme de placement AnywherePlacement et on le congure pour placer des répliques sur un sous ensemble spécique des sites disponibles. L'adaptation du comportement d'un gestionnaire de placement n'est pas coûteuse lorsqu'elle ne nécessite pas de coordination d'adaptation. De plus, une telle adaptation peut avoir lieu suite à l'occurrence d'événements spéciques qui précèdent la demande d'accès à la donnée en question. Ainsi, on évite le temps d'at-tente de la n de l'adaptation. Similairement, l'adaptation de comportement d'un moteur de requêtes n'est pas coûteuse puisqu'elle n'exige pas de coordination.

Enn, nous avons aussi noté que la modication du comportement par changement d'algorithme est beaucoup moins coûteuse que le remplacement de composant qui est gé-néralement adopté dans les approches orientées composant. On réduit de façon importante le temps de réalisation de la modication. De plus, il est plus simple de dénir les plans d'adaptation. C'est un point positif de notre approche lorsque l'application qu'on adapte est distribuée. Nous évitons le remplacement de plusieurs composants dans certains processus d'adaptation pour changer le comportement de l'application.

6.5 Conclusion

Dans ce chapitre, nous avons montré comment implémenter les propositions de modèles architecturaux formulées dans les chapitres 4 et 5 en utilisant le modèle de composants Fractal. Le prototype qui a été décrit est fonctionnel. L'étude expérimentale a montré que ce prototype a été utilisé avec succès pour construire des systèmes de réplication de données auto-adaptables.

L'utilisation de la fabrique montre que le développement de systèmes d'adaptation et de réplication peut être considérablement facilité. En eet, plusieurs tâches de développe-ment sont automatisées au moins partielledéveloppe-ment. Cependant, les capacités de la fabrique pourraient être étendues pour automatiser d'avantage le processus de spécialisation d'un système. Par exemple, il serait intéressent d'étudier des travaux sur le déploiement automa-tique et voir dans quelle mesure ils peuvent être intégrés dans notre fabrique pour rendre le choix de placement des composants automatique. Une autre perspective sera d'intégrer dans la fabrique des mécanismes d'analyse et de vérication des propriétés dynamiques qui concernent les comportements du système comme l'absence d'interblocage. Ainsi, il sera possible de déceler les erreurs dans la spécialisation du comportement. Plusieurs solutions existent dans ce domaine comme les méthodes de model-checking ou les techniques de test et de simulation.

Nos expérimentations montrent que la gestion distribuée de l'adaptation dynamique est protable dans le contexte des applications distribuées. Cette distribution permet d'amé-liorer les performances lorsque l'environnement d'exécution est large et très uctuant. Elle permet l'exécution des activités de chaque phase d'adaptation de manière distribuée et parallèle. Elle peut aussi réduire les coûts des communications comme celles faites pour collecter les données contextuelles brutes et pour contrôler les modications des compo-sants applicatifs. Par contre, la coordination peut augmenter dans certains cas les coûts d'adaptation en terme de consommation de ressources et de délai comme lorsque le nombre

130 Implémentation et expérimentation

de cycles de négociation est élevé. L'expert en adaptation doit alors trouver un compromis entre les avantages de la distribution de la gestion d'adaptation et les coûts de coordina-tion. Par ailleurs, nous avons montré que les prises de décisions d'adaptation du système de réplication adéquates permettent d'optimiser le temps d'accès aux données et de garan-tir leur disponibilité en dépit du fait que le contexte d'exécution change. Les expériences réalisées ont montré que le coût d'adaptation en temps peut être amorti rapidement par le gain obtenu suite à l'adaptation surtout lorsque le nombre d'accès aux données est élevé.

Chapitre 7

Conclusion et perspectives

Pour clore la présentation de notre travail de thèse, nous présentons dans la section 7.1 une synthèse de nos contributions pour la construction d'applications distribuées auto-adaptables puis, dans la section 7.2 les travaux futurs qui compléteraient le travail réalisé.

7.1 Résumé des contributions

Dans cette thèse, nous nous sommes intéressés à étudier l'adaptabilité des applications distribuées. L'objectif principal que nous nous sommes xé vise à proposer une solution pour permettre la gestion distribuée et coordonnée de l'adaptation dynamique et à faciliter le développement d'applications distribuées auto-adaptables.

Dans cette optique, nous avons proposé une approche générique pour adapter les appli-cations distribuées à base de composants. Puis, nous avons décrit comment notre proposi-tion d'adaptaproposi-tion se décline dans le cas particulier des systèmes de réplicaproposi-tion de données. Notre démarche peut se résumer en trois étapes. La première étape a consisté à dé-nir les fonctionnalités d'un système d'adaptation distribué, son architecture logicielle et la variabilité possible de sa conguration pour le spécialiser selon l'application cible. La deuxième étape a été de dénir de façon modulaire l'architecture logicielle d'un système de réplication et la variabilité de sa conguration au moment de sa spécialisation et au cours de son exécution. La troisième et dernière étape a été la proposition d'une fabrique pour faciliter la spécialisation et la mise en place d'un système de réplication et d'un système d'adaptation distribués.

Cette démarche nous a permis de réaliser les contributions suivantes :

• Nous avons proposé un modèle architectural de systèmes d'adaptation distribués. Il propose la structuration d'un tel système à l'aide de types de composants et il xe des contraintes à respecter dans l'assemblage et la conguration des composants du système. Ce modèle assure la modularité du système d'adaptation et permet de spécialiser son comportement, sa structure ainsi que sa distribution selon l'application à adapter.

Nous avons également déni un ensemble de mécanismes réutilisables et exibles pour coordonner les activités de prise de décision d'adaptation d'une part, et de contrôle d'exécutions simultanées de plans d'adaptation d'autre part. Concernant la coordination d'une prise de décision, les mécanismes proposés permettent de distri-buer le processus de décision. Ainsi, par exemple, nous avons proposé un modèle de négociation qui permet de réaliser des analyses distribuées et parallèles du contexte d'exécution et de résoudre les conits éventuels entre les gestionnaires d'adaptation. Par ailleurs, les mécanismes de coordination de l'exécution de plans d'adaptation

132 Conclusion et perspectives

permettent de prendre en compte l'avancement des diérentes exécutions et les états des composants applicatifs impliqués dans l'adaptation.

• Nous avons déni un modèle architectural de systèmes de réplication pour permettre l'adaptation ne d'un tel système et un large spectre de types de modications pos-sibles. Ce modèle spécie des types de composants et les interactions possibles entre eux pour gérer des données répliquées. Il dénit des points de variation du compor-tement, de la structure et de la distribution du système permettant ainsi de dénir plusieurs congurations alternatives. Notre modèle permet aussi d'inclure dans un système de réplication des interfaces de contrôle dédiées à l'adaptation. Ces inter-faces servent à lui associer un système d'adaptation et elles dénissent un ensemble d'opérations primitives pour observer et modier les composants applicatifs.

• Nous avons proposé une fabrique pour la construction de systèmes de réplication auto-adaptables. Cette fabrique facilite la mise en place du système de réplication et du système d'adaptation associé. Pour cela, elle utilise nos modèles architecturaux et une description de l'architecture du système global souhaitée. La fabrique permet ainsi de masquer l'utilisation du modèle de composants choisi et des outils associés et elle automatise certaines tâches de développement.

Enn, ces contributions ont été implémentées en utilisant le modèle de composants Fractal et expérimentées dans des scénarios de réplication de données médicales pour des services de prise en charge collaborative de malades chroniques.