270 likes | 420 Views
Surveillance contextuelle des ressources distribuées. S. Ravelomanana , M. Sibilla Université P. Sabatier, Laboratoire IRIT Toulouse, France raveloma@irit.fr, sibilla@irit.fr. La gestion des grilles. Performances, disponibilité, Répartition de charge, tolérance aux pannes.
E N D
Surveillance contextuelle des ressources distribuées S. Ravelomanana, M. Sibilla UniversitéP. Sabatier, Laboratoire IRIT Toulouse, France raveloma@irit.fr, sibilla@irit.fr
La gestion des grilles • Performances, disponibilité, • Répartition de charge, tolérance aux pannes • Surveillance Consistante, distribuée, en temps réel
Constats Approches et outils: • Grid Monitoring Architecture/GGF • Monitoring and Discovery System/Globus toolkit • Ganglia Observation: • l’état d’un système est traité indépendamment de l’état des autres • les influences des événements qui surviennent ne sont pas traitées automatiquement
La surveillance contextuelle DEFINITION Surveiller une entité en tenant compte de son environnement d’exécution BESOINS • Un Modèle Informationnel, quireprésente l’entité gérée, son environnement d’exécution et les relations entre eux. • Un Modèle d’événement pour modéliser, lever et s’abonner à un événement • Un Modèle de Comportement pour lier les deux modèles afin d’automatiser les aspects dynamiques de la surveillance ... Approche conduite par les modèles
Service Systèmes&Réseaux Éléments CIM_Component CIM_Dependency CIM_Indication CIM_Component DMTF CIM_ManagedElement CIM_Dependency Antecedent : REF Dependent : REF TMN ElementName Antecedent : REF Dependent : REF COMMON Application System CIM_ManagedSystemElement Network OperationalStatus Status Extract from CIM Core schema Modélisation CIM/DMTF Common Information Model Extract from CIM Meta-Model NamedElement • Modèle Informationnel • Modèle d’événement Class Indication Association CORE
anElement state diagram Ready Busy CIM CORE Model Down CIM_Component CIM_Dependency CIM_ManagedElement ElementName classSercive { actions ("start", ”stop"); stateReady { on enter { BEGIN_JAVA // your specific behavior //END_JAVA } } // end of state Ready stateDown { on enter { BEGIN_JAVA // your specific behavior //END_JAVA } } // end of state Down } // end of >Provider state description classSercive { actions ("start", ”stop"); stateReady { on enter { BEGIN_JAVA // your specific behavior //END_JAVA } } // end of state Ready stateDown { on enter { BEGIN_JAVA // your specific behavior //END_JAVA } } // end of state Down } // end of >Provider state description classSercive { actions ("start", ”stop"); stateReady { on enter { BEGIN_JAVA // your specific behavior //END_JAVA } } // end of state Ready stateDown { on enter { BEGIN_JAVA // your specific behavior //END_JAVA } } // end of state Down } // end of >Provider state description CIM_ManagedSystemElement OperationalStatus Status Modélisation Diagramme Etat Transition [IRIT/SIERA] Modèle de Comportement Grammaire CNES
MODELISATION INFORMATIONNELLE DES GRILLES La vue « nœud »
MODELISATION INFORMATIONNELLE DES GRILLES La vue “Grille”
MODELISATION INFORMATIONNELLE DES GRILLES La vue « Réseau »
MODELISATION INFORMATIONNELLE DES GRILLES La modélisation du comportement Identification des règles de comportement • Si la charge moyenne des processeurs d’un nœud atteint les 80% les processeurs et le nœud passent à l’état « dégradé » • Si k% des grilles locales sont « dégradées » la grille nationale passe à l’état « dégradé » • Si le service d’accès (le service d’authentification par exemple) de la grille locale est tombé elle sera inaccessible pour ses utilisateurs • …
Modélisation de la règle 1 • Si la charge moyenne des processeurs d’un nœud atteint les 80% • le processeur et le nœud passent à l’état « dégradé » Processor.loadPercentage>80 ProcessorChange ComputerSystem.Status=Normal
Description textuelle de la règle 1 class CIM_Processor { set ( {"LoadPercentage", "LoadPercentage"} ); state Degraded{ transition ( "Normal" ) { on change_event ( BEGIN_JAVA (Integer.parseInt(LoadPercentage)<80) //END_JAVA ), {BEGIN_JAVA System.out.println(« OK »); //END_JAVA }; } } // end of state Degraded state Normal{ transition ("Degraded"){ on change_event ( BEGIN_JAVA (Integer.parseInt(LoadPercentage)>80) //END_JAVA ), {BEGIN_JAVA //chercher le CS associé au Processor CIMInstanceObservable [] associationsCSP =_omf.getAssociationOfClass(_context,"CIM_ComputerSystemProcessor"); String objectPathCS=""; if(associationsCSP.length==1){ objectPathCS =associationsCSP[0].getCIMInstance().getProperty("GroupComponent").getValue().getValue().toString(); _omf.setProperty(objectPathCS ,"Status",new CIMValue( "Degraded" ,new CIMDataType( CIMDataType.STRING) )); javax.swing.JOptionPane.showMessageDialog(null,"Le CS associé passe à Dégradé"); }else{ javax.swing.JOptionPane.showMessageDialog(null,"la charge moyenne est "+moyenneDesCharges); //END_JAVA }; } } // end of state Degrade } // end of class CIM_Processor definition Événement Condition Action
Observation • Le modèle obtenu est applicable pour l’ensemble des grilles • Une indépendance du modèle par rapport aux plates-formes de développement
Plate-forme CAMELEON utilisation de Parser/ScanerMofJAVA/CORBA Chaque « Object Manager » possède les fonctions de gestion des états, gestion des Diagrammes états transitions et des événements automatisation du traitement Composants d’intégration (Object Provider) State.jar OM Ready Down Intégration et Implémentation
Get • Set • Invoke • … Interface JAVA/CORBA Config État Relations Événement State.jar Ready Down Architecture MgtFct° ססס ססס OM
State.jar OM Ready Down Architecture OBJECT MANAGER UML Editor Classes & Instances Textual notation (MOF/DMTF) Fichiers mof Cameleon MOF Parser objectX state diagram Ready Busy Down Cameleon UML State codegenerator Java classes Fichiers STATE (grammaire CNES)
OPNWS OPNode OPSNMP OPUNIX OPCorba State.jar State.jar State.jar OM OM OM Ready Ready Ready Down Down Down Object Provider Existant Développé À Développer Intégration A A Instrumentation A CORBA Réseau
Démonstration Résultat: Une vue des informations de la grille
Démonstration Résultat: Dégradation de l’état d’un nœud
Démonstration Résultat: Dégradation de l’état de la grille locale
Bilan des expérimentations et résultats MONITORING • Création automatique des vues « Nœud » et « Grille » par découverte • Contrôle automatique des influences : • Nœud Composants (Charge,Mémoire,espace disque,…) • Nœuds Grille Locale (Disponibilité, accessibilité) • Grille Réseau (Perte de lien, défaillance de composant réseau) • Délégation de la surveillance réseau à une plate-forme de gestion telle que OpenView et intégration des alarmes réseaux (trap SNMP, événements propriétaires) auprès des OMs de la grille • Prise en compte d’événements hétérogènes dans les diagrammes État/Transition • Le résultat d’interprétation des diagrammes E/T est liée au contexte découvert • Gestion d’états composite: Test validé à moyenne échelle (DMTF draft) • Limite de la généricité des diagrammes État/Transition • Spécialisation/Personnalisation des diagrammes E/T • Intégration dans le processus de développement MODELISATION DE LA DYNAMIQUE
PUBLICATIONS • A Contextual GRID Monitoring by a Model Driven Approach. S. Ravelomanana, S. C. S. Bianchi, C. Joumaa, M. Sibilla. AICT2006, SAPIR 2: Monitoring Interactions. 19-22 Febuary, 2006. • Gestion des grilles : Surveillance Contextuelle de la QoS par une approche conduite par des modèles. M. Ravelomanana. GDR ASR. 2ième journée de l'action ADAPT« Adaptation dynamique aux environnements d’exécution ». 6 avril 2006. ENST, Paris. • DMTF Behavior and State Specification (GRID statechart diagram examples). Draft document. en cours de rédaction. • Unified model based three dimensional tool for managing computer networks. M. Dodo, P. Torguet, M. Sibilla, J.-P. Jessel. WEBIST 2006 – 2nd International Conference on Web Information Systems and Technologies, Setúbal, Portugal, 11 avril 13 avril 2006.
Perspectives • Prise en compte des dégradations de la qualité de service. • Déploiement au niveau national (sujet Master) • Représentation 3D avec animation de la dynamique (sujet de Doctorat). • Intégration dans des middlewares de placement • Surveillance du middleware lui-même.
Les Composants de l’Architecture OM DEPENDENCY CAMELEON CORBA CORBA OM OPENVIEW OM SERVICES CORBA Object Provider NNM Evènement Serveur NNM Domaine Service Evènement Domaine Réseau NNM OpenView 27
Présentation de la Démo • À chaque nœud on associe un Agent en JAVA/CORBA • Enregistrement de chaque Agent NamingService • Découverte des nœuds et leurs caractéristiques A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
OPNode State.jar Ready Down IHM Requête Monde Réel Réponse OMGrid Supervision A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A