390 likes | 499 Views
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
E N D
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
Ecrire Lire Ecrire Lire Problème de la cohérence Règle: chacun lit et écrit sa copie locale Copie de Paul Paul Copie de Jeanne Jeanne
Ecrire Ecrire Lire Lire Ecrire Ecrire Problème de la cohérencePremier exemple de solution : ROWA Règle: chacun lit sa copie locale mais écrit toutes les copies Paul Jeanne
Ecrire Ecrire Ecrire Ecrire Version ? Version ? Problème de la cohérenceDeuxiè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 Lire Version 0 1 1 Paul Lire Version 2 0 Nicolas Version 1 2 0 Jeanne
Quorumq - Ensemble minimum de copies impliquées dans une opération de lecture ou d’écriture afin que l’opération réussisse. CoterieC - Ensemble des quorums possibles pour un groupe de copies et un protocole donné Systèmes à quorums : définition • Intersection : • Minimalité :
Protocole de Agrawal et Abbadi [1] Systèmes à quorums : coterie en arbre 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
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 :
Problème P1 12 P2 P3 40 50 15 P4 P5 P6 P7 23 9 8 21 23 15 50 50 40 40 180
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
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
15 15 9 50 40 50 23 40 8 21 23 9 8 21 40 40 50 50 23 40 50 50 9 8 15 50 15 9 23 40 8 21 23 40 50 21 40 50 21 23 23 40 50 50 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 …
8 8 21 9 15 9 23 40 50 15 23 40 50 21 40 50 15 40 50 21 23 23 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
Politique de reconfiguration agréger les noeuds les plus chargés dans le même sous arbre 8 23 9 50 40 21 15 15 40 21 50 8 15 9 23 40 50 21 21 40 50 23 Protocole de permutation globale • Politique d’information périodique • Politique de déclenchement périodique
Prise en compte de la latence réseauTemps 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 :
Protocole de permutation hybride • Politique de reconfiguration • Permutation globale avec temps de réponse médians • 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
É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
Sans reconfiguration avec 7 noeuds Contexte LS Contexte LEQ Contexte LR
Protocole des permutations élémentairesContexte LS et 7 réplicas Sans reconfiguration Protocole des permutations élémentaires
Protocole de permutation globaleContexte LS et 31 réplicas Sans reconfiguration Protocole de permutation globale Période = 200K
Protocole de permutation hybrideContexte LEQ et 63 réplicas Sans reconfiguration Protocole de permutation hybride Période = 200K
Synthèse des résultats • Calcul du débit d’opérations (throughput) pour un temps de simulation fixé
Composants logiciels de ViSaGe Application Administration Et Monitoring Système de gestion de fichiers Concurrence et Cohérence Virtualisation Communication Fabrique
ViSaGe : carnet de route 1. Expression des besoins Aujourd’hui 2. Architecture et Design Prototypage 3.1 Prototypage Développement 3.2 Développement 4. Gridification Gridification 5. Tests in situ Tests 2 4 8 17 21 24 0 février 2005 mars 2007
Conclusion • Protocoles de reconfiguration : • 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
Perspectives • Protocoles de reconfiguration : • 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
Références Protocoles de reconfiguration : [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
Légende Un réplica 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 S2 S4 S3
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