Conception et contrôle des SMA tolérants aux fautes Une plate-forme multiagents tolérante aux fautes à base de réplication Nora FACI
Contexte SMA large échelle Nombre important d agents Ressources éloignées les unes des autres Types de pannes [Powell 91] Franches Omissions Temporelles Byzantines 2
Etat de l art Approches correctives Sentinelles [Hagg 96] Détection de déviation de fonctionnalités Diagnostic + réparation TAEMS [Horling et al. 00] Détection de fautes organisationnelles Diagnostic + auto- organisation Insuffisances Solutions ad hoc, coûteuses et difficiles à mettre en oeuvre 3
Etat de l art Approches préventives Brokers [Kumar et al. 00] Aucune détection + redondance de services Réplication d agents [Fedoruk et Deters 02] Détection + redondance d agents Insuffisances Solutions ad hoc Stratégies de réplication définies a priori par le concepteur 4
Problématique Les solutions existantes sont ad hoc et mal adaptées aux SMA large échelle Elles ne profitent pas des solutions proposées par la communauté des systèmes répartis (détection de pannes, réplication ) 5
Problématique Objectif Concevoir et contrôler des SMA tolérants aux fautes Une nouvelle plate-forme multi-agents tolérante aux fautes basée sur la réplication (DimaX) Hypothèses Ressources dynamiques Agents «adaptatifs» Aucune hypothèse sur l architecture interne des agents qui sont cognitifs FIPA- ACL comme langage de communication entre les agents Pannes supportées par DarX : franches DIMA pour le développement des SMA 6
Sommaire Contrôle adaptatif de réplication Réplication Criticité Architecture de monitoring Gestion de ressources Implémentation et validation DimaX Expérimentations Conclusion 7
Réplication Méthode de base pour la sûreté de fonctionnement Définition : Un composant logiciel répliqué est défini comme un composant logiciel qui possède une représentation sur deux ou plusieurs machines. Caractéristiques des applications existantes criticité statique des composants contexte statique de l'environnement (taux de pannes, délai de recouvrement de l'application, ) Le nombre de réplicas et la stratégie de réplication sont explicitement et statiquement définis par le concepteur avant l'exécution 8
Réplication Caractéristiques des SMA quelques problèmes distribution large échelle = coûts prohibitifs importance d un agent (criticité) est dynamique environnement dynamique Notre solution : adaptation dynamique de la gestion de pannes Le framework (DarX) : réplication dynamique Un contrôle adaptatif de la réplication
Réplication et SMA Mécanisme dynamique et adaptatif de réplication Quels agents répliquer et quand? Combien de fois? Où?
Criticité Hypothèses mécanismes de réplication automatiques quelques données du concepteur de l application peuvent être nécessaires (les rôles, leur criticité, ) réplication statique et/ou dynamique le SMA n est pas modifié, il est enrichi pour permettre d observer le comportement des agents et déterminer leur criticité criticité des agents dépend de deux types d informations informations système (niveau système) : temps CPU, charge de communication informations sémantiques (niveau SMA)
Criticité Informations sémantiques dépendent du domaine d application et du paradigme choisi Un SMA est principalement caractérisé par les structures organisationnelles (rôles, réseaux d interdépendances, réseaux d accointances, ) Deux approches rôles [Selmas 03] [AAMAS 02] [MMAS 05] interdépendances des agents [AAMAS 04] [Selmas 05]
Criticité - interdépendances Graphe d'interdépendances à chaque agent est associé un nœud l'ensemble des nœuds forme un graphe orienté chaque arc est caractérisé par un poids w ij Hypothèse la criticité d un agent dépend de ses interdépendances La panne d un agent dont beaucoup d agents dépendent pourrait entraîner la panne de tous ces agents
Agent_i Criticité - interdépendances Exemple de graphe d interdépendances 1 w 12 2 m est plus critique que k j Agent_k Agent_j i
Algorithmes d'adaptation des interdépendances Algorithme 1 nombre de messages
Algorithmes d'adaptation des interdépendances Algorithme 2 langage de communciation : FIPA-ACL nombre et poids des performatifs des messages classification des performatifs [M.Colombetti and M.Verdicchio] : Classe 1 : {request, request-whenever, query-if, queryref} Classe 2 : {inform, inform-done, inform-ref, cfp, propose, agree} Classe 3 : {reject-proposal, refuse, failure, notunderstood}
Criticité d un agent Criticité d un agent Agent i w i = a 1 *op_agreg(w ij j=1,m) ) + a 2 * aw i a 1 et a 2 : les poids donnés aux deux paramètres interdépendances et degré d activité a 1 + a 2 = 1 m : le nombre d agents qui dépendent d Agent i w 1j,.., w mj : ses interdépendances aw i : son degré d activité op_agreg : opérateur d agrégation
Mécanisme dynamique et adaptatif de réplication le SMA est enrichi pour lui permettre d observer le comportement des agents et déterminer leur criticité Observation Graphe d interdépendances Agents Réplication Quelle architecture? Environnement
Architecture de monitoring Plusieurs architectures de monitoring [Kaminka et al. 02] [Horling et al. 02] [Dellarocas et Klein 00] Information utilisée en post-mortem Expliquer et améliorer le comportement du système Mécanisme de monitoring centralisé Mal adaptées aux SMA large échelle 20
Architecture de monitoring 21 Niveau Agents Niveau Observation Agent-Monitor 1 Agent 1 Agent-Monitor 2 Agent-Monitor 3 Agent-Monitor 4 Agent 2 Agent 3 Agent 4 Host-Monitor Host 1 Host-Monitor Host 2
Architecture de monitoring Agent-Monitor Mettre à jour les interdépendances de son noeud Calculer la criticité de cet agent Déterminer la stratégie de réplication Host-Monitor Calculer une estimation des informations globales en échangeant des informations locales avec les autres hostmonitors Gérer les ressources 22
Réplication et SMA Mécanisme de réplication dynamique et adaptatif Quels agents répliquer et quand? Combien de fois? Où? Gestion de ressources
Gestion de ressources Une solution simple Le nombre de réplicats est calculé en fonction de la criticité des agents Le lieu de réplication est choisi de manière arbitraire parmi l ensemble des hôtes ayant des ressources encore disponibles Problème : Elle ne prend pas en compte l hétérogénéité des ressources 24
Gestion de ressources Modèle économique basé sur la QoS Protocole de négociation Contract Net Stratégies d évaluation des propositions Fonctions d utilité Paramètres du modèle Coût de la ressource Qualité de la ressource (fiabilité de la machine ) Criticité d un agent 25
DimaX = DIMA + DarX + Contrôle Adaptatif de Réplication Monitoring Agents Service de Réplication Service d Observation Service de Détection de fautes Application (DIMA) Middleware (DARX) 26 Service de Nommage
Exemple d implémentation Benchmark Factorielle Un agent factoriel (AgentFact) AgentFact n a pas les compétences nécessaires pour multiplier deux nombres Plusieurs agents multiplications (AgentMult) 27
Exemple d implémentation Avec DIMA : public void main(string[] args){ AgentFact a=new AgentFact(«fact»); AgentMult b=new AgentMult(«mult» ); a.activatewithfipa activatewithfipa(); b.activatewithfipa activatewithfipa(); } Avec DimaX : public void main(string[] args){ AgentFact a=new AgentFact(«fact» ); AgentMult b=new AgentMult(«mult» ); a.activatewithdarx activatewithdarx(«indira.lip6.fr», 7005); b.activatewithdarx activatewithdarx(«gandhi.lip6.fr», 7005); } 28
Expérimentations Application : eagenda Coût du Monitoring Nombre d'agents N(100,..., 250) 20 agents par machine Même nombre de meetings Trois conditions expérimentales Sans monitoring Avec monitoring (Algo 1) Avec monitoring (Algo 2) Durée entre le début et la fin de la simulation 29
Expérimentations Coût du Monitoring 30
Expérimentations Test de robustesse 100 agents sur 10 machines Simulateur de fautes : arrête de manière aléatoire le thread d un agent Même scénario pour les différentes expérimentations : La liste de meetings et leur définition ne varie pas Nombre réplicats variable : 4, 8, 12, 20 3 Stratégies de réplication Aléatoire Basée sur le nombre de messages (algo 1) Basée sur les performatifs (algo 2) 31
Expérimentations Test de robustesse Nombre de Simulations Réussies Nombre Total de Simulations 32
Conclusion Un mécanisme adaptatif de réplication Graphe d interdépendances Un mécanisme de gestion de ressources Une plate-forme multi-agents opérationnelle tolérante aux fautes Travail en cours Expérimentations Expérimenter plusieurs classifications des performatifs Dérouler les expériences sur le Grid 5000 Perspectives Rédiger la thèse Publier 33
Liste des publications Contrôle adaptatif de réplication 2. Z. Guessoum, N. Faci et J-P. Briot,"Adaptive Replication of Large Scale MASs: Towards a Fault-Tolerant Multiagent Platform",Springer Verlag,2006 (Chapitre) 3. J-P. Briot, Z. Guessoum, S. Aknine, N. Faci et M. Gatti, Experience and Prospects for Various Control Strategies for Self Replicating, SEAMS 06. 4. Z. Guessoum et N. Faci, Towards reliable large-scale MAS, CEEMAS 05 5. Z. Guessoum, N. Faci et J-P. Briot,"Adaptive Replication of Large Scale MASs: Towards a Fault-Tolerant Multiagent, SELMAS 05 6. Z. Guessoum, J-P. Briot et N. Faci, Vers des systèmes multi-agents tolérants aux pannes, JFSMA 04 7. Z. Guessoum, J-P. Briot et N. Faci,"Towards a Fault-Tolerant Massively Multiagent Platform",Springer Verlag,2005 (Chapitre) 8. Soumis : IEEE Transactions on Dependable and Secure Computing Plate-forme multi-agents tolérantes aux fautes 11. N. Faci, Z. Guessoum et O. Marin, DimaX: A Fault Tolerant Multi-agent platform, SELMAS 06 12. N. Faci, Z. Guessoum, O. Marin et M.T. Laskri, DimaX: A Fault-Tolerant Multi-Agent Platform, AISTA 04 Monitoring 15. Z. Guessoum, M. Ziane et N. Faci, "Monitoring and Organizational-Level Adaptation of Multi-Agent Systems", AAMAS '04 Gestion de Ressources : (en cours) 34