Systèmes à quorums dynamiques et projet ViSaGe Ivan Frain Institut de Recherche en Informatique de Toulouse (IRIT)
Plan Cohérence des réplicas et systèmes à quorums Problème de la charge des noeuds Protocoles de reconfiguration de systèmes à quorums Un cadre de construction Prise en compte de la charge des nœuds de stockage Prise en compte de la latence réseau ViSaGe : intergiciel de stockage pour grille Architecture logicielle Carnet de route Conclusion et Perspectives Grenoble - 17/11/2006
Problème de la cohérence Règle: chacun lit et écrit sa copie locale Copie de Paul Ecrire Lire Paul Copie de Jeanne Ecrire Lire Jeanne Grenoble - 17/11/2006
Problème de la cohérence Premier exemple de solution : ROWA Règle: chacun lit sa copie locale mais écrit toutes les copies Ecrire Ecrire Lire Paul Ecrire Ecrire Lire Jeanne Grenoble - 17/11/2006
Problème de la cohérence Deuxième exemple de solution : un système à quorums Règle : chacun lit et écrit une majorité de copies Remarque : ajout d’un numéro de version aux copies Ecrire Lire Version 1 1 Version ? Paul Ecrire Lire Version 2 Nicolas Version ? Ecrire Ecrire Version 2 1 Jeanne Grenoble - 17/11/2006
Systèmes à quorums : définition Quorum q - Ensemble minimum de copies impliquées dans une opération de lecture ou d’écriture afin que l’opération réussisse. Coterie C - Ensemble des quorums possibles pour un groupe de copies et un protocole donné Intersection : Minimalité : Grenoble - 17/11/2006
Systèmes à quorums : coterie en arbre Protocole de Agrawal et Abbadi [1] P1 Nœuds organisés logiquement en arbre Quorum = un chemin de la racine à une feuille = {P1,P2,P4} Coterie = {{P1,P2,P4},{P1,P2,P5}, {P1,P3,P6},{P1,P3,P7}} P2 P3 P4 P5 P6 P7 Sur quel critère construire la coterie ? Les solutions existantes : latence réseau Notre solution : charge des noeuds Grenoble - 17/11/2006
Charge d’une coterie : définition Un nœud possédant une réplique : Charge d’un nœud : Charge d’un Quorum : Charge d’une Coterie : Grenoble - 17/11/2006
Problème P1 12 P2 P3 15 40 50 P4 P5 P6 P7 23 9 8 21 23 15 50 50 40 40 180 Grenoble - 17/11/2006
Protocoles de reconfiguration de systèmes à quorums Reconfiguration = changement de coterie But : utiliser une coterie mieux adaptée à l’environnement Un protocole de reconfiguration : Quand effectuer une reconfiguration? Politique de récupération des informations Récupération à la demande Récupération périodique Politique de déclenchement Déclenchement à la demande Déclenchement périodique Comment effectuer une reconfiguration? Politique de reconfiguration Grenoble - 17/11/2006
Trois protocoles de reconfiguration pour systèmes à quorums en arbre Reconfiguration en fonction de la charge des nœuds Protocole des permutations élémentaires Protocole de permutation globale Reconfiguration en fonction de la charge et de la latence réseau Protocole de permutation hybride Grenoble - 17/11/2006
Protocole des permutations élémentaires (1/2) Politique de reconfiguration Permuter deux nœuds parents si le père est plus chargé que le fils 40 9 15 8 21 50 23 15 9 40 8 21 50 23 Attention on passe d’une coterie à une autre il faut faire attention à cela dans l’algorithme de lecture / écriture 23 40 50 9 15 8 21 8 15 40 50 21 9 23 … Grenoble - 17/11/2006
Protocole des permutations élémentaires (2/2) Politique d’information à la demande Un des clients est choisit A chacune de ses opérations de lecture ou d’écriture (un quorum) Politique de déclenchement à la demande Si une permutation élémentaire est possible dans le quorum contacté lors d’une opération de lecture ou d’écriture Problème Les nœuds les plus chargés se trouvent dans les feuilles 8 15 40 50 21 9 23 8 21 40 50 15 9 23 Grenoble - 17/11/2006
Protocole de permutation globale Politique de reconfiguration agréger les noeuds les plus chargés dans le même sous arbre 8 15 40 50 21 9 23 8 23 40 21 15 9 50 Politique d’information périodique Politique de déclenchement périodique Grenoble - 17/11/2006
Prise en compte de la latence réseau Temps de réponse d’une coterie Temps de réponse d’un nœud Pj vis-à-vis d’un autre nœud Pi : Temps de réponse d’un quorum vis-à-vis d’un noeud Pi : Temps de réponse d’une coterie vis-à-vis d’un nœud Pi : Grenoble - 17/11/2006
Le problème Grenoble - 17/11/2006 P1 P2 P3 P4 P5 P6 P7 80 20 90 40 110 50 30 Grenoble - 17/11/2006
Protocole de permutation hybride Politique de reconfiguration Permutation globale avec temps de réponse médians Pj P1 P2 P3 P4 P5 P6 P7 180 120 290 240 310 50 30 80 20 190 140 210 150 130 90 40 110 250 230 Médiane Politique d’information périodique Récupération de la latence la première fois Récupération des charges les autres fois Politique de déclenchement périodique Grenoble - 17/11/2006
Évaluation des protocoles de reconfiguration Algorithme de Shvartsman et Lynch Plusieurs lecteurs et plusieurs rédacteurs Supporte la reconfiguration dynamique de coterie Propriété d’intersection entre deux coteries Implémentation dans le simulateur Neko de Urban, Défago et Schiper La grille simulée utilise 7, 15, 31, 63 et 127 réplicas (nœuds) La charge d’un nœud n’évolue pas trop vite Les nœuds ne sont pas dédiés au système de stockage 3 contextes de simulation : La latence au niveau des serveurs est dominante (contexte LS) La latence réseau est dominante (contexte LR) Les latences serveur et réseau sont équivalentes (contexte LEQ) Temps de simulation fixe Grenoble - 17/11/2006
Sans reconfiguration avec 7 noeuds Contexte LS Contexte LEQ Contexte LR Grenoble - 17/11/2006
Protocole des permutations élémentaires Contexte LS et 7 réplicas Sans reconfiguration Protocole des permutations élémentaires Grenoble - 17/11/2006
Protocole de permutation globale Contexte LS et 31 réplicas Sans reconfiguration Protocole de permutation globale Période = 200K Grenoble - 17/11/2006
Protocole de permutation hybride Contexte LEQ et 63 réplicas Sans reconfiguration Protocole de permutation hybride Période = 200K Grenoble - 17/11/2006
Synthèse des résultats Calcul du débit d’opérations (throughput) pour un temps de simulation fixé Contexte Nœuds LS LR LEQ 7 Elem Sans Hybride 100K 15 Hybride 300K 31 Globale 200K 63 Hybride 400K Hybride 200K 127 Grenoble - 17/11/2006
Grenoble - 17/11/2006
Architecture physique d’une grille Grenoble - 17/11/2006
Composants logiciels de ViSaGe Application Administration Et Monitoring Système de gestion de fichiers Concurrence et Cohérence Virtualisation Communication Fabrique Grenoble - 17/11/2006
ViSaGe : carnet de route 1. Expression des besoins Aujourd’hui 2. Architecture et Design Prototypage 3.1 Prototypage 3.2 Développement Développement 4. Gridification Gridification 5. Tests in situ Tests 2 4 8 17 21 24 février 2005 mars 2007 Grenoble - 17/11/2006
Conclusion Protocoles de reconfiguration : Projet ViSaGe : Définition de la charge et du temps de réponse d’une coterie Variation de la charge des nœuds est un problème Protocoles de reconfiguration Permutations élémentaires Permutation globale Permutation hybride Amélioration du débit d’opération sous certaines conditions Projet ViSaGe : Proposition d’un nouvel intergiciel dédié a stockage de données sur grille : ViSaGe Interface fichier fournissant une certaine qualité de service Différentes méthodes de gestion de la cohérence Grenoble - 17/11/2006
Perspectives Protocoles de reconfiguration : Projet ViSaGe : Preuve de l’algorithme des permutations globales Comparaison avec un plus grand nombre de systèmes à quorums : grilles, hiérarchique… Évaluation en environnement réel : projet ViSaGe Quels sont les critères de charges à prendre en compte ? Identification de seuils pour effectuer une reconfiguration Historique de l’état des nœuds… Projet ViSaGe : Terminer l’intégration et les tests Mars 2007 Déploiement et tests sur Grid 5000 Tester avec d’autres applications … des partenariats? ViSaGe comme stockage pour une BD distribuée Grenoble - 17/11/2006
Références Protocoles de reconfiguration : Projet ViSaGe : [1] I. Frain, R. Basmadjian, J-P. Bahsoun and A. M’zoughi. How to improve the scalability of read/write operations with dynamic reconfiguration of a tree-structured coterie. In ICPP’06 workshops, pages 123-134, August 2006. [2] I. Frain, A. M’zoughi and J-P. Bahsoun. How to achieve high throughput with dynamic tree-structured coterie. In the 5th International Symposium on Parallel and Distributed Computing (ISPDC’06), July 2006. Projet ViSaGe : [3] F.Thiebolt, I.Frain et A. M’zoughi. Virtualisation du stockage dans les grilles informatiques. Dans les 16ème rencontres francophones de parallèlisme, (Renpar’05), avril 2005. [4] http://www.irit.fr/visage Grenoble - 17/11/2006
Opération de lecture ou d’écriture Grenoble - 17/11/2006
Opération de reconfiguration Grenoble - 17/11/2006
Protocole de permutation élémentaire Grenoble - 17/11/2006
Protocoles de permutation globale et de permutation hybride Grenoble - 17/11/2006
Permutation élémentaire : éléments de preuve Grenoble - 17/11/2006
La place de ViSaGe au sein des intergiciels existants Grenoble - 17/11/2006
Contexte : les grappes de grappes Grappe de grappes Réplication de données entre sites distants Charge des nœuds de stockage et latence réseau Client GRILLE (WAN) S1 S5 Légende Un réplica S2 S4 S3 Grenoble - 17/11/2006
Composants logiciels de ViSaGe ViSaGe est découpé en 5 composants principaux vcom : un système de communication entre composants vrt : un composant de virtualisation des ressources de stockage visagefs : un système de gestion de fichiers au niveau grille vccc : une librairie de gestion de la concurrence des accès et de gestion de la cohérence des réplicas vam : service d’administration et de monitoring de ViSaGe Un module d’administration Un module de monitoring Les composants sont déployés à tous les niveaux de la grille: Hôtes frontaux Hôtes contrôleurs Nœuds de calcul et de stockage Grenoble - 17/11/2006
Gestion de la cohérence dans ViSaGe : le composant vccc Grenoble - 17/11/2006