200 likes | 328 Views
Placement automatique des composants lors du déploiement d’applications à base de composants. Abdelkrim Beloued Chantal Taconet, Dhouha Ayed, Guy Bernard GET/INT, CNRS Samovar 5157 9 rue Charles Fourier 97011 Évry, France. Introduction. Environnement mobile
E N D
Placement automatique des composants lors du déploiement d’applications à base de composants Abdelkrim Beloued Chantal Taconet, Dhouha Ayed, Guy Bernard GET/INT, CNRS Samovar 5157 9 rue Charles Fourier 97011 Évry, France
Introduction • Environnement mobile • Changement de contexte d’exécution fréquent • Limitation des ressources des terminaux • Adaptation du déploiement des applications au contexte • Placement automatique des composants sur des nœuds en fonction du contexte.
Plan • Implémentation et évaluation de la solution • Solution proposée • Exemple du contexte d'exécution • Modélisation du contexte d'exécution • Formalisation du problème • Conclusion et perspectives
Modélisation du contexte d'exécution • Modélisation des ressources offertes par le domaine de déploiement • Modélisation des ressources requises par les implémentations et les connexions entre les composants
Modélisation des ressources offertes par le domaine de déploiement
Modélisation des ressources requises par les implémentations
LV USECPU(%) DISK(GB) Valeur Poids Valeur Poids L <= 1O 1 >= 0.2 1 GUI SCREEN OS Language Valeur Poids Valeur Poids Valeur Poids G1 =3 1 EPOC 1 JAVA 1 G2 [14, 15] 1 UNIX 1 JAVA 1 G3 =17 1 WIN2000 1 JAVA 1 Exemple du contexte d'exécution (1) Ressources requises
PROC USECPU(%) MEM (MB) Valeur Poids Valeur Poids P1 <= 10 3 >= 50 5 P2 <= 80 4 >= 200 1 DB Disk (GB) MEM (MB) Valeur Poids Valeur Poids D1 >= 1 5 >= 100 2 D2 >= 5 7 >= 20 1 Exemple du contexte d'exécution (2) Ressources requises
PROC CPU (GHZ) DISK (GB) Valeur Poids Valeur Poids P1 >= 1.8 2 >= 1 1 P2 >= 2 2 >= 0.5 1 Exemple du contexte d'exécution (3) Préférences
SCREEN CPU USECPU DISK MEM OS Langauge N1 15 1 60 1 50 UNIX / N2 14 2 20 4 300 WIN2000 JAVA N3 17 1.5 30 2 250 UNIX / N4 3 0.4 10 0.2 10 EPOC / Exemple du contexte d'exécution (4) Ressources offertes
Formalisation du problème (1) Optimisation • maximiser le nombre des préférences satisfaites pour les implémentations, les connexions et l’utilisateur ; • maximiser les ressources offertes par les nœuds et les liens entre les nœuds. Contraintes • satisfaire les besoins des implémentations et des connexions entre les composants en ressources.
Formalisation du problème (2) Pb de placement des composants sur les nœuds • Pb Bin Paking Pb de placement est NP-COMPLET
La solution proposée Les étapes de placement des composants sur les nœuds • la moyenne des ressources supplémentaires offertes par le domaine de déploiement : Msupp. • le choix des implémentations et des nœuds ; • l'affectation des implémentations aux nœuds. Les métriques utilisées • le pourcentage des préférences satisfaites : P ;
Le choix des implémentations et des nœuds • Éliminer les implémentations qui ne peuvent pas être placées sur aucun nœud ; • Éliminer les nœuds qui ne peuvent pas accueillir aucune implémentation.
P si l’implémentation a des préférences • Msupp si l’implémentation n’a pas de préférences ou plusieurs implémentations ont le même P • La fonction d’évaluation : f= L'affectation des implémentations aux nœuds • Recherche heuristique • Basé sur A*.
L, N4 G, N4 P = 1 M = 27.89 P = 1 M = 12.53 D1, N2 D1, N3 P = 0.33 M = -1 P = 1 M = 27.89 P2, N2 P2, N3 Exemple
Conclusion • Modélisation du contexte requis et fourni • Proposition d’un algorithme pour le choix et l’affectation des implémentations aux nœuds • Implémentation et évaluation de l’algorithme
perspectives Replacement/Déplacement dynamique des composants suite à des changements de contexte Replacement des composants suite à des erreurs de déploiement
Références [1] Ayed (D.), Taconet (C.) et Bernard (G.). – Architecture à base de composants pour le déploiement adaptatif des applications multi-composants. Journées Composants 2004, Mars 2004. [2] Ayed (D.), Taconet (C.) et Bernard (G.). – A data model for context-aware deployment of component-based applications onto distributed systems. Component-oriented approaches to context-aware systems workshop ECOOP’04, June 2004. [3] OMG. – Deployment and Configuration of Component-based Distributed Applications Specification, July 2003. OMG TC Document ptc2003-07-08. [4] OpenCCM. – http:openccm.objectweb.org.