Conception et contrôle des SMA tolérants aux fautessma.lip6.fr/seminaires/Exposes/Faci.pdf · 5...

34
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

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 1nombre de messages

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

30

Expérimentations

Coût du Monitoring

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)

32

Expérimentations

Test de robustesse

Nombre de Simulations Réussies Nombre Total de Simulations

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)