190 likes | 297 Views
Modèles et protocoles de cohérence des données en environnement volatil. Grid Data Service IRISA (Rennes), LIP (Lyon) et LIP6 (Paris). Loïc Cudennec Superviseurs : Gabriel Antoniu, Luc Bougé, Sébastien Monnet.
E N D
Modèles et protocoles de cohérence des données en environnement volatil Grid Data Service IRISA (Rennes), LIP (Lyon) et LIP6 (Paris) Loïc Cudennec Superviseurs : Gabriel Antoniu, Luc Bougé, Sébastien Monnet
Proposition de l’équipe PARIS : JuxMem Un service de partage de données pour la grille • S’inspire des MVP et du PàP • Plate-forme d’expérimentation de protocoles de cohérence tolérants aux fautes • Repose sur la plate-forme pair-à-pair JXTA (Sun) • En lien avec Grid’5000, 9 sites en France • Depuis 2003 : 2 thèses, 2 stages de DEA • Langages • JAVA (11000 lignes de code) • C (6000 lignes de code, en cours de développement)
Home Tolérance aux fautes LDG (Local Data Group) GDG (Global Data Group) JuxMemCohérence et tolérance aux fautes • Modèle de cohérence relâchée : la cohérence à l’entrée • Association entre donnée et objet de synchronisation • Verrou en écriture et en lecture • Ecrivain unique • Lecteurs multiples Passage à l’échelle
Cohérence Adaptateur Communication de goupe Diffusion atomique Consensus Détecteurs de fautes Communication de groupe Application de mécanismes de tolérance aux fautes • Travail fondamentald’algorithmique distribuée • Propriétés souhaitées • Groupes auto-organisants • Diffusion atomique • Architecture en couches • Basé sur les travaux d’André Schiper (EPFL) • Travail de Sébastien Monnetet Jean-François Deverge (IRISA) • Détection hiérarchique de défaillancesMarin Bertier (LIP6)
Protocole de cohérenceProtocole hiérarchique de JuxMem (Jean-François Deverge) (2) Envoi du verrou en écriture (3) Demande du verrou en lecture (1) Demande du verrou en écriture
Ecriture Lecture Ecriture Lecture Donnée Lecture (observation) Motivations • Applications visées : • Applications basées sur le couplage de code • Visualisation d’un calcul • Objectif : améliorer l’observation d’une donnée partagée • Accélérer l’accès à une donnée • Ne pas dégrader les performances des autres sites • Moyen • Relâcher les contraintes de cohérence sur les observations
Processus utilisateur Protocole de cohérenceContribution 1 : analyse et formalisation du protocole • Analyse du fonctionnement à partir du code • Réalisation d’automates (15 états, 42 transitions)
Evaluation du protocole existant Contribution 2 : comportement d’un observateur • Le scénario de l’observateur • Producteur : 50 écritures • Consommateur : 50 lectures • Observateur : 50 lectures • La plate-forme experimentale : Grid’5000, site rennais • 7 nœuds bi-processeurs 2.2GHz, 2Go RAM • Réseau ethernet gigabit Observateur (lecteur) Producteur (écrivain) Consommateur (lecteur)
Temps d’accès moyens (1ko) • Producteur : 19 ms • Consommateur : 19 ms • Observateur : 19 ms Evaluation des performances La cohérence à l’entrée • Temps d’accès moyens (1ko) • Producteur : 19 ms • Consommateur : 19 ms
Proposition d’amélioration Contribution 3 : la lecture relâchée • Idée 1 : exploiter des copies « anciennes » • Copies disponibles sur le client et son LDG • Applications : visualisation, moteurs de recherche • Idée 2 : ne plus prendre le verrou en lecture • Rapidité de la lecture • Suppression du risque de famine • Autoriser les lectures en parallèle des écritures • Que peut-on garantir ?
LDG 1 LDG 2 D w c Proposition d’amélioration Contribution 3 : la lecture relâchée • Contrôler la fraîcheur de la donnée • Borner l’écart entre la version la plus récente et celle retournée par la lecture relâchée • Spécifier une fenêtre de lecture • Nouvelle primitive d’accès : rlxRead(tampon, fenetre) • Maîtriser la version de la donnée retournée • Limiter le nombre de prises de verrou en écriture successives (D) • Limiter l’écart des versions entre le client et son LDG (w)
LDG 1 LDG 2 D w c Lecture relâchée Modélisation UML VC >= VLDG – (w – D)
Evaluation du protocole existant Contribution 2 : comportement d’un observateur • Le scénario de l’observateur • Producteur : 50 écritures • Consommateur : 50 lectures • Observateur : 50 lectures • La plate-forme experimentale : Grid’5000, site rennais • 7 nœuds bi-processeurs 2.2GHz, 2Go RAM • Réseau ethernet gigabit Observateur (lecteur) rlxRead Producteur (écrivain) Consommateur (lecteur)
Evaluation des performances La cohérence à l’entrée, extension lecture relâchée • Temps d’accès moyens (1ko, D=0, w=0) • Producteur : 19 ms • Consommateur : 19 ms • Observateur : 9 ms
Temps d’accès moyens (1Mo, D=0, w=0) • Producteur : 69 ms • Consommateur : 63 ms • Observateur : 44 ms Evaluation des performances La cohérence à l’entrée, extension lecture relâchée • Temps d’accès moyens (1Mo, D=3, w=6) • Producteur : 60 ms • Consommateur : 61 ms • Observateur : 23 ms
Contributions • Formalisation d’un protocole de cohérence hiérarchique • Analyse du fonctionnement à partir du code • Réalisation d’automates (15 états, 42 transitions) • Proposition d’amélioration : lectures relâchées • Recherche bibliographique sur le « versioning » des données • Formalisation, extension du modèle de cohérence • Conception • diagrammes UML • extension et modification des automates (16 états, 45 transitions)
Contributions • Implémentation • Protocole existant plus fiable • Support de la primitive « rlxRead » • Evaluation des performances • Développement d’une application synthétique pour les tests • Mesures sur le site rennais de la plate-forme Grid’5000 • 10 types d’expérimentations réalisées • Gain de temps en lecture jusqu’à 50% • Mécanisme peu intrusif : pas de dégradation des performances
Conclusion Ouverture • Tests multi-sites • Déjà testé sur une centaine de nœuds répartis sur 4 sites • Auto-adaptabilité • Variation de la fenêtre de lecture • Adaptation en fonction de la charge réseau • Qualité d’observation • Article en cours de finalisation • Soumission à Cohérence des Données en Univers Réparti 2005 • Version étendue : HIPS de IPDPS 2006
Modèles et protocoles de cohérence des données en environnement volatil Grid Data Service IRISA (Rennes), LIP (Lyon) et LIP6 (Paris) Loïc Cudennec Superviseurs : Gabriel Antoniu, Luc Bougé, Sébastien Monnet