Conception et contrôle des SMA tolérants aux fautessma.lip6.fr/seminaires/Exposes/Faci.pdf · 5...
Transcript of Conception et contrôle des SMA tolérants aux fautessma.lip6.fr/seminaires/Exposes/Faci.pdf · 5...
Conception et contrôle des SMA tolérants aux fautes
Une plate-forme multi-agents tolérante aux fautes à base de réplication
Nora FACI
2
Contexte
SMA large échelleNombre important d’agentsRessources éloignées les unes des autres
Types de pannes [Powell 91]FranchesOmissionsTemporellesByzantines
3
Etat de l’art
Approches correctivesSentinelles [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
InsuffisancesSolutions ad hoc, coûteuses et difficiles à mettre en oeuvre
4
Etat de l’art
Approches préventivesBrokers [Kumar et al. 00]
Aucune détection + redondance de services Réplication d’agents [Fedoruk et Deters 02]
Détection + redondance d’agents
InsuffisancesSolutions ad hocStratégies de réplication définies a priori par le concepteur
5
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 …)
6
Problématique
ObjectifConcevoir 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èsesRessources dynamiquesAgents « adaptatifs »Aucune hypothèse sur l’architecture interne des agents qui sont
cognitifsFIPA- ACL comme langage de communication entre les agentsPannes supportées par DarX : franchesDIMA pour le développement des SMA
7
Sommaire
Contrôle adaptatif de réplicationRéplicationCriticité
Architecture de monitoring Gestion de ressources Implémentation et validation
DimaXExpérimentations
Conclusion
8
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 existantescriticité statique des composantscontexte 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
Réplication
Caractéristiques des SMA – quelques problèmesdistribution large échelle = coûts prohibitifsimportance d’un agent (criticité) est dynamiqueenvironnement dynamique
Notre solution : adaptation dynamique de la gestion de pannesLe framework (DarX) : réplication dynamiqueUn 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èsesmé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 dynamiquele 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émantiquesdé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 approchesrô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œudl'ensemble des nœuds forme un graphe orientéchaque arc est caractérisé par un poids wij
Hypothèsela 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
Criticité - interdépendances
Exemple de graphe d’interdépendances
1
j
k
2
i
Agent_i
Agent_j
Agent_k
w12
est plus critique que
m
Algorithmes d'adaptation des interdépendances
Algorithme 2langage de communciation : FIPA-ACLnombre et poids des performatifs des messagesclassification des performatifs [M.Colombetti and
M.Verdicchio] : Classe 1 : {request, request-whenever, query-if, query-
ref} Classe 2 : {inform, inform-done, inform-ref, cfp, propose,
agree} Classe 3 : {reject-proposal, refuse, failure, not-
understood}
Criticité d’un agent
Criticité d’un agent Agenti
wi= a1 *op_agreg(wij j=1,m)) + a2 * awi
a1 et a2 : les poids donnés aux deux paramètres interdépendances et degré d’activité a1 + a2 = 1
m : le nombre d’agents qui dépendent d’Agenti w1j, .., wmj : ses interdépendances awi : 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é
Quelle architecture?
Réplication
Agents
Graphe d’interdépendances
Observation
Environnement
20
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èmeMécanisme de monitoring centralisé
Mal adaptées aux SMA large échelle
21
Architecture de monitoring
Agent 1
Agent 2
Agent 3 Agent 4
Agent-Monitor 1
Agent-Monitor 3 Agent-Monitor 4
Niv
eau
Age
nts
Niv
eau
Ob s
e rva
ti on
Host-Monitor
Host 1
Host-Monitor
Agent-Monitor 2
Host 2
22
Architecture de monitoring
Agent-MonitorMettre à jour les interdépendances de son noeudCalculer la criticité de cet agentDéterminer la stratégie de réplication
Host-MonitorCalculer une estimation des informations globales en
échangeant des informations locales avec les autres host- monitors
Gérer les ressources
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
24
Gestion de ressources
Une solution simpleLe 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
25
Gestion de ressources
Modèle économique basé sur la QoSProtocole de négociation
Contract NetStraté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
26
DimaX = DIMA + DarX + …
Service de Détection de fautes
Service de Nommage
Service de Réplication
Service d’Observation
Agents
Contrôle Adaptatif de Réplication
Middleware(DARX)
Application(DIMA)
Monitoring
27
Exemple d’implémentation
Benchmark FactorielleUn agent factoriel (AgentFact)
AgentFact n’a pas les compétences nécessaires pour multiplier deux nombres
Plusieurs agents multiplications (AgentMult)
28
Exemple d’implémentation
Avec DIMA :Avec DIMA : public void main(String[] args){public void main(String[] args){
AgentFact a=new AgentFact(«fact»);AgentFact a=new AgentFact(«fact»); AgentMult b=new AgentMult(« multAgentMult b=new AgentMult(« mult»» ); );
a.a.activateWithFIPAactivateWithFIPA();(); b.b.activateWithFIPAactivateWithFIPA();();
}}
Avec DimaX :Avec DimaX : public void main(String[] args){public void main(String[] args){
AgentFact a=new AgentFact(«factAgentFact a=new AgentFact(«fact»» ); ); AgentMult b=new AgentMult(« multAgentMult b=new AgentMult(« mult»» ););
a.a.activateWithDarXactivateWithDarX(« indira.lip6.fr(« indira.lip6.fr»», , 7005); 7005); b.b.activateWithDarXactivateWithDarX(« gandhi.lip6.fr(« gandhi.lip6.fr»», , 7005); 7005); }}
29
Expérimentations
Application : eAgenda
Coût du Monitoring Nombre d'agents N(100, ..., 250)
20 agents par machineMême nombre de meetingsTrois 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
31
Expérimentations
Test de robustesse100 agents sur 10 machinesSimulateur de fautes : arrête de manière aléatoire le thread
d’un agentMême scénario pour les différentes expérimentations :
La liste de meetings et leur définition ne varie pasNombre réplicats variable : 4, 8, 12, 203 Stratégies de réplication
Aléatoire Basée sur le nombre de messages (algo 1) Basée sur les performatifs (algo 2)
33
Conclusion
Un mécanisme adaptatif de réplicationGraphe d’interdépendancesUn mécanisme de gestion de ressources
Une plate-forme multi-agents opérationnelle tolérante aux fautes
Travail en coursExpérimentations
Expérimenter plusieurs classifications des performatifs Dérouler les expériences sur le Grid 5000
PerspectivesRédiger la thèsePublier
34
Liste des publications
Contrôle adaptatif de réplication2. 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’055. Z. Guessoum, N. Faci et J-P. Briot,"Adaptive Replication of Large Scale MASs: Towards a Fault-Tolerant
Multiagent” , SELMAS 056. Z. Guessoum, J-P. Briot et N. Faci, “Vers des systèmes multi-agents tolérants aux pannes”, JFSMA’047. 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 fautes11. N. Faci, Z. Guessoum et O. Marin, “DimaX: A Fault Tolerant Multi-agent platform”, SELMAS’0612. 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 '04Gestion de Ressources : (en cours)