Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription Présentée par Leila Abidi Sous la direction de Mohamed Jemni & Christophe Cérin
Plan Contexte Problématique Objectifs Contributions Conclusion Perspectives 2
Contexte Grilles de PCs : Variante de grilles de calcul Exploiter les PCs d utilisateurs pour construire une puissance de calcul Problématiques Gestion de la volatilité Décentralisation de la gestion de ressources Décentralisation de l exécution des applications distribuées et de l ordonnancement des tâches Idée Systèmes de publication-souscription qui offrent des mécanismes de notification et de coordination sans recours à un coordinateur central BonjourGrid 3
BonjourGrid Middleware basé sur l'annonce de services à base de multicast : mécanisme de publication-souscription Principes : Décentraliser la gestion et l organisation autonome des ressources dans les systèmes de grille de PCs. Coordonner plusieurs instances simultanées d ordonnanceurs de tâches de type Boinc, Condor, XtremWeb. Introduire la notion des méta-intergiciel (plusieurs intergiciels avec gestion autonome et décentralisée) 4
Problématique BonjourGrid est dédié aux réseaux locaux Pas de spécification de Bonjour pour les réseaux à grande échelle Que peut-on utiliser comme technologie existante afin d assurer le passage à l échelle? XMPP (Extensible Messaging and Presence Protocol)? Hookbox? Redis? Bonjour a été développé et spécifié avec des méthodes «ad-hoc» Besoin de consolider le protocole Besoin de le revisiter en termes de langages/technologies Web 5
Objectifs Plan théorique et méthodologique Consolider la confiance à travers des méthodes de vérification formelle Garantir un certain degré de «sécurité» en mettant en place des mécanismes de vérification/certification des résultats Développement logiciel Produire une instance de BonjourGrid qui utilise un mécanisme de publication-souscription sur Internet de type XMPP, Redis, Hookbox Développer un nouvel intergiciel de grilles de PCs pour PC, NetPC, smartphone et tablettes 6
Plan Contexte Problématique Objectifs Contributions Conclusion Perspectives 7
Contributions Revisiter les interactions dans une grille de PCs, avec en plus une vérification formelle et des technologies Web2.0 (en plus des outils construits de manière ad-hoc qui ne couvrent qu'une partie des besoins) Modélisation formelle du paradigme Publish-Subscribe Modélisation formelle de la spécification initiale du protocole BonjourGrid Vérification formelle des propriétés fondamentales du fonctionnement de BonjourGrid (ex. Liveness) Utilisation des Réseaux de Petri colorés pour la spécification et la vérification 8
Publish-Subscribe Mode de communication multi-point, anonyme, implicite et asynchrone Découplage total entre producteur et consommateur d événements: Spatial (les entités en interaction ne se connaissent pas) Temporel (les entités n ont pas besoin d interagir en même temps) 9
Modélisation formelle 10
Contributions Intégration du modèle formel de BonjourGrid au dessus du modèle de Pub-Sub 11
Contributions Intégration du modèle formel de BonjourGrid au dessus du modèle de Pub-Sub 12
Résultats Spécification formelle de Publish-Subscribe et BonjourGrid Vérification formelle des propriétés fondamentales de BonjourGrid Propriétés générales Absence de blocage (pas de Deadlocks) Toutes les transitions sont exécutables (tout événement est réalisable) Espace d états construit d une seule composante fortement connexe (la propriété de Liveness est vérifiée) Propriétés spécifiques Chaque événement publié est reçu par tous les souscripteurs intéressés Un coordinateur commence l exécution de son application s il existe au moins une machine acceptant d y participer Si un coordinateur finit l exécution de son application alors tous les Workers associés seront libérés Un Worker ne peut être rattaché qu à un seul Coordinateur 13
Proposition d un prototype de middleware WAN Basé sur le paradigme de Publish-Subscribe Fonctionnalités requises Le stockage du code à exécuter Le stockage des données en entrée et en sortie Le support du mécanisme Publish-Subscribe État de l art XMPP et Hookbox ne répondent pas tout à fait nos besoin. Redis permet de satisfaire toutes les fonctionnalités requises. 14
Entités du prototype MainServer : Serveur principal du protocole DataServer : Serveur du stockage des données en entrée/sortie CodeServer : Serveur du code à exécuter Server Form MultiProcessing Tasks Machine is a is a is a is a DataManager Engine Coordinator Worker 15
Entités du prototype Exécute les tâches selon leurs interdépendances Server Form MultiProcessing Tasks Machine is a is a is a is a DataManager Engine Coordinator Worker 16
Entités du prototype Stocke les propriétés des machines (processeur, mémoire, etc) Server Form MultiProcessing Tasks Machine is a is a is a is a DataManager Engine Coordinator Worker 17
Proposition d algorithme d ordonnancement pour le prototype Proposer un algorithme entièrement spécifié en pub-sub Établir les différentes étapes de coordinations des ressources Détection des dépendances entre les tâches Exécution de tâches Surveillance de l exécution Vérification des résultats Etc. 18
Scheduler Tâches dépendantes en attente Tâches en cours Tâches à faire Tâches à vérifier Tâches finies Worker Monitor Checker 19
Scheduler Tâches dépendantes en attente Tâches en cours Tâches à faire Tâches à vérifier Tâches finies Worker Monitor Checker 20
Scheduler Tâches dépendantes en attente Tâches en cours Tâches à faire Tâches à vérifier Tâches finies Worker Monitor Checker 21
Scheduler Tâches dépendantes en attente Tâches en cours Tâches à faire Tâches à vérifier Tâches finies Worker Monitor Checker 22
Scheduler Tâches terminées es Tâches dépendantes en attente Tâches en cours Tâches à faire Tâches à vérifier Tâches finies Ok Worker Monitor Checker Sinon 23
Scheduler Tâches dépendantes en attente Tâches en cours Tâches à faire Tâches à vérifier Tâches finies Worker Monitor Checker 24
Plan Contexte Problématique Objectifs Contributions Conclusion Perspectives 25
Conclusion Spécification formelle de Publish-Subscribe et BonjourGrid Vérification formelle des propriétés fondamentales de BonjourGrid Proposition d un prototype de middleware WAN Basé sur les spécifications formelles de Publish-Subscribe Proposition d algorithmes de coordination et de gestion de l'ordonnancement des taches par un mécanisme Publish- Subscribe 26
Perspectives Réaliser des expérimentations sur des clusters Redis à large échelle Garantir une certification des résultats Les résultats retournés par les Workers peuvent être manipulés ou altérés (pas suffisamment fiable) Risque de mal fonctionnement d où des tâches incomplètes ou des résultats erronés, etc. Évaluer les expérimentations (temps de réponses, taux de réussite d exécution, etc) 27
Publications [ABIDI2011] Leila Abidi, Christophe Cérin, Sami Evangelista: A Petri-Net model for the Publish-Subscribe paradigm and its application for the verification of the BonjourGrid middleware. Proceedings of the 2011 8th IEEE International Conference on Services Computing (IEEE SCC 2011) Leila Abidi, Christophe Cérin, Kais Klai: Desktop Grid Computing with Redis: Design and Verification of a Prototype. The 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (IEEE CCGrid 2012) 28
Merci Pour votre attention