Gestion des grilles : Surveillance Contextuelle de la QoS par une approche conduite par des modèles S. Ravelomanana, M. Sibilla Université P. Sabatier, Laboratoire IRIT Toulouse, France raveloma@irit.fr, sibilla@irit.fr Journée «Adaptation» GSP-ASR IRIT/SIERA Jeudi 6 Avril 2006 1
Plan Contexte Problématiques Constats et Besoins La surveillance contextuelle Définition Exemple Architecture de surveillance Scénario de panne Conclusion Jeudi 6 Avril 2006 2
La gestion des systèmes distribués Répartition de charge, tolérance aux pannes Performances, disponibilité, Surveillance Consistante, distribuée, en temps réel Jeudi 6 Avril 2006 3
Problématique Surveillance et contrôle Influences Client SERVICE Infrastructure Middleware Facteurs de grande échelle: + Dépendances + Compositions + Coût des contrôles Systèmes Réseaux RESSOURCE 1. Faible interaction entre les différents niveaux de surveillance et de contrôle 2. Besoin de contextualisation de la «vue» des entités à utiliser 3. Hétérogénéité des environnements Jeudi 6 Avril 2006 4
Constats Approches et outils du domaine des grilles: Grid Monitoring Architecture/GGF Monitoring and Discovery System/Globus toolkit Ganglia Constats: 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 Jeudi 6 Avril 2006 5
Besoins Automatiser: La découverte du contexte d exécution La propagation d influences sur le contexte d exécution d éléments gérés L exécution d actions en réaction ou prévention Jeudi 6 Avril 2006 6
La surveillance contextuelle DEFINITION BESOINS Surveiller une entité en tenant compte de l évolution de son environnement d exécution Un Modèle Informationnel, qui repré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 Jeudi 6 Avril 2006 7
Modélisation Extract from CIM Meta-Model DMTF NamedElement Modèle Informationnel Modèle d événement Absence de modélisation de la dynamique CIM_Component CIM_ManagedElemen t ElementName Association Class Indication CIM_Dependency CIM_Component CIM/DMTF CIM_Dependency Antecedent : REF Common CIM_ManagedSystemElement Information Model OperationalStatus Status Application Antecedent Dependent : REF : REF Dependent : REF Network CIM_Indication CORE COMMON System Extract from CIM Core schema Jeudi 6 Avril 2006 8
Modélisation CIM CORE Model CIM_Component CIM_Dependency anelement state diagram Modèle de Comportement CIM_ManagedElemen t ElementName Down Intégration et extension des CIM_ManagedSystemElement OperationalStatus Diagrammes Status État Transition class Sercive { UML 2.0 state Down { [IRIT-CNES] Ready Busy class class Sercive { actions ("start", stop"); state Ready { on on on enter enter { BEGIN_JAVA // // your // your your specific behavior //END_JAVA } // end of } // // end end of of state Ready state state Down Down { on on on enter { BEGIN_JAVA // // your // your specific behavior //END_JAVA } // // end end of of Down } // end of state Down Down // // end end of of state } // end of >Provider state description Syntaxe abstraite Jeudi 6 Avril 2006 9
Propagation de l impact d un lien tombé Système IRIT_GRID Status: LostCommunication OK IRIT_Link NetworkPort Status: Down Up Status: LostCommunication OK Réseau Jeudi 6 Avril 2006 10
Surcharge de processeurs ComputerSystem.Status=D =Dégradé 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é» Jeudi 6 Avril 2006 11
Description textuelle 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 Jeudi 6 Avril 2006 12
Résultat intermédiaire Modèle statique Modèle de comportement Modèle d événement CIM_Component CIM_Dependency CIM_ManagedElemen t ElementName anelement state diagram Ready Busy Down CIM_Indication CIM_ManagedSystemElement OperationalStatus Status Des modèles indépendants par rapport aux plates-formes de développement Peuvent être intégrés dans différents environnements technologiques et pour différents domaines applicatifs Ready Down Constitue le SI de base pour la mise en œuvre d un environnement adaptatif Jeudi 6 Avril 2006 13
Architecture : Composant de gestion des événements : Spécification des actions : Composant de vérification des conditions : Référentiel composant de gestion de comportement 1: Notification d un événement 2: Invoque l interpréteur pour évaluer la condition Composant de gestion des événements Composant de vérification des conditions Spécification des actions 6: Résultat de l évaluation 4: Accès à l information 5: Résultat API Ready Down Jeudi 6 Avril 2006 14
Architecture de surveillance Application au domaine des grilles 1. Découverte du contexte 2. Abonnement Ready Down Paris Système (Grilles) Sophia Toulouse Grenoble Réseau Jeudi 6 Avril 2006 15
Scénario de panne réseau IRIT_GRID N Paris Sophia T P G S Toulouse Système (Grilles) Grenoble Réseau OK LOST COMMUNICATION Jeudi 6 Avril 2006 16
Conclusions Ρ Garantie en temps réel les informations caractérisant l état d une ressource (disponibilité, performance, ) Ρ Un même modèle a une interprétation différente selon le contexte Ρ Réduction des messages de contrôles par abonnement aux événements Ρ automatisation de la configuration nécessaire à la prise en compte de l évolution du contexte. Ρ Indépendance des plates-formes technologiques (CORBA, JMX, ) Ρ Couplage avec d autres services fonctionnels de l infrastructure middleware( ex: le service de sélection, le service de tolérance aux pannes) Jeudi 6 Avril 2006 17
Perspectives Contrat de QoS: Prise en compte des dégradations de la qualité de service. Intégration dans des middlewares de placement Surveillance du middleware lui-même. Modélisation de la dynamique: Synchronisation et temps réel multi perspective Jeudi 6 Avril 2006 18
Merci de votre attention Questions Jeudi 6 Avril 2006 19
Merci de votre attention Questions Jeudi 6 Avril 2006 20
La vue «nœud» MODELISATION INFORMATIONNELLE DES GRILLES Jeudi 6 Avril 2006 21
La vue Grille MODELISATION INFORMATIONNELLE DES GRILLES Jeudi 6 Avril 2006 22
La vue «Réseau» MODELISATION INFORMATIONNELLE DES GRILLES Jeudi 6 Avril 2006 23
MODELISATION INFORMATIONNELLE DES GRILLES Exemple d interconnexion de grilles Jeudi 6 Avril 2006 24
La modélisation du comportement MODELISATION INFORMATIONNELLE DES GRILLES Identification des règles de comportement 1. Si la charge moyenne des processeurs d un nœud atteint les 80% les processeurs et le nœud passent à l état «dégradé» 2. Si k% des grilles locales sont «dégradées» la grille nationale passe à l état «dégradé» 3. Si le service d accès (le service d authentification par exemple) de la grille locale est tombé elle sera inaccessible pour ses utilisateurs 4. Jeudi 6 Avril 2006 25
Intégration et Implémentation Plate-forme CAMELEON utilisation de Parser/Scaner Mof JAVA/CORBA Ready Down State.jar OM 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) Jeudi 6 Avril 2006 26
Architecture Interface JAVA/CORBA _Get _Set _Invoke MgtFct Ready Config État Relations Événement Down State.jar OM Jeudi 6 Avril 2006 27
Architecture OBJECT MANAGER UML Editor Classes & Instances Textual notation (MOF/DMTF) Fichiers mof Cameleon MOF Parser Ready Down State.jar OM objectx state diagram Ready Busy Down Fichiers STATE (grammaire CNES) Cameleon UML State code generator Java classes Jeudi 6 Avril 2006 28
Object Provider Ready DownReady State.jar Down Ready State.jar Down State.jar OM OM OM Existant Développé À Développer Instrumentation Intégration OPCorba OPUNIX OPSNMP OPNode OPNWS A CORBA A Réseau Réseau A Jeudi 6 Avril 2006 29
Démonstration Résultat: Une vue des informations de la grille Jeudi 6 Avril 2006 30
Démonstration Résultat: Dégradation de l état d un nœud Jeudi 6 Avril 2006 31
Démonstration Résultat: Dégradation de l état de la grille locale Jeudi 6 Avril 2006 32
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 MODELISATION DE LA DYNAMIQUE 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 Jeudi 6 Avril 2006 33
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. Jeudi 6 Avril 2006 34
Conclusion Création dynamique des contextes d exécution chaque ressource, et réutilisation des spécifications formelles associées Réactivité à travers les actions que l ont peut exécuter lorsqu une ressource passe dans un état donné Proactivité : déduction d influence avant constat Exemple: rediriger les jobs vers d autres ressources tant que l état de la ressource demandée est dégradé, afin qu elle puisse repasser à l état normal. Affiner la connaissance d exploitation des ressources par la modélisation du comportement. Automatisation et réutilisation d expertises de gestion. Ouverture de la solution à d autres fonctionnalités : La tolérance aux pannes Disponibilité Facturation Gestion de la qualité de service (coté client, coté administrateur de la grille) Jeudi 6 Avril 2006 35
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. Jeudi 6 Avril 2006 36
Merci Jeudi 6 Avril 2006 37
Les Composants de l Architecture CAMELEON OM DEPENDENCY CORBA CORBA Object Provider NNM CORBA OM OPENVIEW OM SERVICES Evènement Serveur NNM Domaine Domaine Service Service Evènement NNM OpenView Domaine Domaine Réseau Réseau Jeudi 6 Avril 2006 38 38
Présentation de la Démo À chaque nœud on associe un Agent en JAVA/CORBA Enregistrement de chaque Agent NamingService 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 Découverte des nœuds et leurs caractéristiques A A A A A A A A A A Jeudi 6 Avril 2006 39
IHM Monde Réel Réponse A A A A A A A A A A OPNode Requête Ready Down State.jar OMGrid 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 Supervision Jeudi 6 Avril 2006 40
Problématiques Pour un système à grande échelle: Présence d éléments composites dont l état dépend de l état de ses composants Dépendance en cascade d éléments associés pour assurer une fonctionnalité caractéristique Éviter de dégrader les performances par des techniques de polling sur des systèmes à large échelles(grand nb d éléments) Jeudi 6 Avril 2006 41
anelement state diagram Un lien Tombé Ready Busy anelement state diagram Paris Down Sophia Ready Down Busy anelement state diagram Ready Busy Down Toulouse Système (Grilles) Grenoble anelement state diagram Ready Busy Down Réseau OK LOST COMMUNICATION Jeudi 6 Avril 2006 42
Surcharge d un lien anelement state diagram Ready Down Busy Paris Système (Grilles) Sophia Toulouse Grenoble Réseau OK Jeudi 6 Avril 2006 43
Surcharge d un lien anelement state diagram Ready Down Busy Paris Système (Grilles) Sophia Toulouse Grenoble Réseau Dégradé Jeudi 6 Avril 2006 44