1 / 27

Premières études sur la gestion de la volatilité dans Pastis Fabio Picconi

Premières études sur la gestion de la volatilité dans Pastis Fabio Picconi Réunion GDS – 19/11/2004. Plan de l’exposé. Systèmes pair-à-pair Réseaux structurés : Pastry, PAST Pastis Rappel Mises à jour Problème de la volatilité KBR : routage cohérent DHT : accès aux blocs

burt
Télécharger la présentation

Premières études sur la gestion de la volatilité dans Pastis Fabio Picconi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Premières études sur la gestion de la volatilité dans Pastis Fabio Picconi Réunion GDS – 19/11/2004

  2. Plan de l’exposé • Systèmes pair-à-pair • Réseaux structurés : Pastry, PAST • Pastis • Rappel • Mises à jour • Problème de la volatilité • KBR : routage cohérent • DHT : accès aux blocs • Pastis : modèles de cohérence

  3. Systèmes pair-à-pair

  4. Systèmes pair-à-pair Couches pair-à-pair Application Syst. de fichiers réparti Pastis Tier 2 Tier 1 DHT : PAST Tier 0 KBR : Pastry

  5. Pastry 04F2 04F2 E25A C52A 834B k = 8958 5230 8909 3A79 route(m,8959) 8BB2 C52A 3A79 k = 8959 AC78 8954 E25A 5230 8BB2 AC78 root ofkey 8959 8957 895D 8957 8954 895D 8909 834B Address space

  6. PAST Interface • void put( Key k, Block b ); • Block b = get( Key k );

  7. PAST 04F2 04F2 E25A C52A 834B k = 8958 5230 8909 3A79 put(8959,block) 8BB2 C52A 3A79 k = 8959 AC78 8954 E25A 5230 8BB2 replica AC78 root ofkey 8959 8957 895D 8957 block 8954 895D 8909 replica 834B Address space

  8. Pastis

  9. Pastis Caractéristiques • Simplicité • Complètement décentralisé • Passant à l’échelle

  10. Pastis Structure similaire à l’UFS (Unix File System) • inodes stockés dans des User Certificate Blocks (UCB, modifiables) • données stockées dans Content-Hash Blocks (CHB, immuables) directory inode directory contents file inode metadata @CHB1 @CHB2 … @CHBi @CHBii @CHBiii file contents file1 @UCB2 file2 @UCB3 file3 … … metadata @CHB3 … … … … … … CHB1 CHB3 UCB1 directory contents indirect block UCB2 file4 @UCBj file5 @UCBk file6 … … @CHBx @CHBy @CHBz --- empty --- CHBx CHBi

  11. Pastis – mises à jour • insérer les nouvelles données (CHBs) • réinsérer l’inode (UCB) qui pointe vers les nouveaux CHBs directory inode file inode file contents directory contents metadata @CHB1 @CHB2 … @CHBi @CHBii @CHBiii metadata @CHB3 … … … … … foo file1 @UCB2 file2 @UCB3 file3 … … CHB3 CHB1 UCB1 UCB2

  12. Pastis – mises à jour • insérer les nouvelles données (CHBs) • réinsérer l’inode (UCB) qui pointe vers les nouveaux CHBs directory inode file inode file contents directory contents metadata @CHB1 @CHB2 … @CHBi @CHBii @CHBiii metadata @CHB3 … … … … … foo file1 @UCB2 file2 @UCB3 file3 … … CHB3 CHB1 new file contents foo bar UCB1 UCB2 Insert new CHB into the DHT CHB4

  13. Pastis – mises à jour • insérer les nouvelles données (CHBs) • réinsérer l’inode (UCB) qui pointe vers les nouveaux CHBs directory inode file inode file contents directory contents metadata @CHB1 @CHB2 … @CHBi @CHBii @CHBiii metadata @CHB4 … … … … … foo file1 @UCB2 file2 @UCB3 file3 … … CHB3 CHB1 new file contents foo bar UCB1 UCB2 Update file inode to point to new CHB CHB4

  14. Pastis – mises à jour • insérer les nouvelles données (CHBs) • réinsérer l’inode (UCB) qui pointe vers les nouveaux CHBs directory inode file inode file contents directory contents metadata @CHB1 @CHB2 … @CHBi @CHBii @CHBiii metadata @CHB4 … … … … … foo file1 @UCB2 file2 @UCB3 file3 … … CHB3 CHB1 new file contents foo bar UCB1 UCB2 Reinsert inode UCB into the DHT CHB4

  15. Volatilité dans les systèmes pair-à-pair

  16. Problématique Réseaux structurés • Routage efficace [O(log N)] • Routage correcte : le message est délivré à la racine de la clef • Il faut maintenir des tables de routage correctes Resistance à la volatilité : • Résilience statique • Mesures de temps de session sur des réseaux existants • Comportement des prototypes existants en présence d’une forte volatilité • Effets sur les couches DHT et Pastis

  17. Volatilité Résilience statique Capacité d’un algorithme de routage pair-à-pair de délivrer un message à sa destination après défaillance d’un ensemble de nœuds Gummadi et al. (2003) :

  18. Volatilité Mesures de temps de session • Effectuées sur des réseaux existants • Méthodes actives (crawling, probing) et passives (tracing) • Résultats très différents

  19. Volatilité Comportement des prototypes existants • Injection de fautes selon un processus de Poisson • Mesures : pourcentage de lookups cohérents, latence du lookup Rhea et al. (2004) :

  20. Volatilité Effets d’un routage défaillant KBR • Messages délivrés à de fausses racines(un nœud croit, à tort, être la racine  leafsets incorrects) DHT • Vision incohérente, voir partitionnement du replica set • Mises à jour effectuées sur des répliques différentes • Données existantes non retrouvées (répliques flottantes) Pastis • Non respect du modèle de cohérence

  21. Volatilité – Effets sur le KBR 04F2 E25A 3A79 k = 8959 C52A AC78 k = 8959 root seen by node 3A79 5230 8BB2 895D 8957 root seen by node 5230 8954 8909 834B Address space

  22. Volatilité – Effets sur la DHT 04F2 E25A 3A79 C52A AC78 k = 8959 5230 8BB2 895D 8957 8954 répliques 8909 834B Address space

  23. Volatilité – Effets sur la DHT 04F2 E25A 3A79 C52A AC78 k = 8959 5230 8BB2 895D 8957 8954 répliques déconnectées 8909 834B Address space

  24. Volatilité – Effets sur la DHT 04F2 E25A 3A79 C52A AC78 k = 8959 5230 8BB2 895D 8957 8954 répliques reconnectées 8909 834B Address space

  25. Volatilité Premiers systèmes adressant la volatilité au niveau KBR : • Bamboo (Berkeley, basé sur Pastry) • Maintenance périodique au lieu de réactive • MSPastry (Microsoft, évolution de Pastry) • Heartbeats, active probing • Propagation des leaf sets correctes Difficultés • Comportement prototypes difficile à analyser par seule simulation • Absence de preuve des algorithmes • Modèle de communication peu clair • DHT : protocole de réplication (répliques flottantes)

  26. Volatilité Directions • Peut-on caractériser le comportement défaillant des couches KBR et DHT en présence d’une forte volatilité ? • Peut-on les fiabiliser ? • Détection de routage défaillant • Déviation maximale par rapport à la vraie racine • Disposant d’un KBR non fiable, peut-on construire au-dessus une DHT fiable ? • Protocole de réplication (niveau DHT) • Quorum dynamiques ? • Peut-on envisager de fiabiliser la couche tier 2 (Pastis) à partir d’une DHT et KBR non fiables ?

  27. Questions ?

More Related