La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Université de Nantes CHORD Vincent Trève. Introduction ● Problématique – Comment accéder efficacement aux données réparties sur un système pair à pair?

Présentations similaires


Présentation au sujet: "Université de Nantes CHORD Vincent Trève. Introduction ● Problématique – Comment accéder efficacement aux données réparties sur un système pair à pair?"— Transcription de la présentation:

1 Université de Nantes CHORD Vincent Trève

2 Introduction ● Problématique – Comment accéder efficacement aux données réparties sur un système pair à pair? – Comment trouver un bon compromis entre réplication, performance et fiabilité ? – Comment évider l'effondrement des performances lors du passage à l'échelle ?

3 Introduction ● Chord est un protocole de recherche distribuée, ● Il est basé sur l'utilisation d'une table de hachage distribuée, ● Il répond à une seule fonction : Faire correspondre une clef à un nœud Faire correspondre une clef à un nœud

4 Plan ● Un peu d'histoire ● Principes de base ● Caractéristiques ● Détails du protocole ● Utilisations et implémentations ● Bibliographie

5 Histoire ● Ion Stoica ● Robert Morris ● David Karger ● M. Frans Kaashoek ● Hari Balakrishnan Projet développé en 2001 au MIT

6 Principes de base ● Une clef est stockée sur son successeur. ● Chaque nœud gère une table d'index des nœuds suivants ● Lors d'une requête, si un nœud n'a pas la réponse, il fait suivre la requête au nœud le mieux placé pour répondre.

7 Caractéristiques ● Coût d'une recherche : – O(log(n)) messages envoyés ● Coût de rentrée ou de sortie de l'anneau : – O(log²(n)) messages envoyés

8 Détails du protocole ● La table d'index : – un nœud stocke log(n) entré dans sa table. – la table est composée de : ● une clef ● le successeur de la clef ● L'intervalle de clefs

9 Détails du protocole ● Le protocole de recherche d'un nœud responsable d'une clef

10 Détails du protocole ● Arrivé d'un nouveau nœud n – 2 invariants doivent toujours être vrais pour que la recherche soit correcte.: ● le successeur d'un nœud est toujours maintenu ● pour toute clef k, le successeur de k est le nœud responsable de k. – 3 taches a exécuter : ● Mettre a jour le prédécesseur de et la table d'index de n ● Répercuter les changements sur les autres nœuds ● Annoncé que le nœud est prêt

11 Détails du protocole ● Arrivé d'un nouveau nœud n – n initialise son prédécesseur et sa table d'index ● optimisation : récupérer ces informations de son propre successeur. – demande aux autre nœuds de se mettre à jour ● pas tous les nœuds, seulement ceux qui doivent référencer n, cf algorithme – Transférer les clefs dont il vient d'obtenir la responsabilité.

12 Détails du protocole

13 ● Départ ou perte d'un pair – Un nœud stocke plusieurs successeur, pour résister au pannes – Chaque nœud alerte régulièrement son successeur, cela permet : ● au nœud de vérifier que son successeur fonctionne ● au successeur, de savoir qui est son prédécesseur – Les donnes sont répliquer sur tout les successeurs ● recherche n'est pas biaisée ● la redistribution des clef est facilité.

14 Inconvénients ● Sécurité :un ensemble de participants mal intentionnés ou buggés peut offrit une vue incorrecte de l'anneau. ● mal adapté au réseau sous-jasent : 2 pairs voisins sur l'anneau peuvent être de part et d'autre du globe.

15 Avantages ● Équilibrage de charge : équilibrage de charge naturel, hérité de la fonction de hachage [sha- 1]. ● Disponibilité : On peut toujours trouver le nœud responsable d'une clef, même lorsque que le système est instable. ● Aucune contrainte sur le nom des clefs.

16 Avantages ● Décentralisé: Chord est complètement décentralisé: tous les nœuds sont au même niveau. Ce qui le rend robuste et adapté aux applications P2P peu organisés. ● Passage à l'échelle : le coût d'une recherche est fonction du logarithme du nombre de nœuds. ● Protocole prouvé : – stabilité, coût d'une recherche, coût d'une insertion.

17 Implémentation ● 2 implémentations références : – the Chord Project en C – Open Chord en Java

18 Utilisations ● Index distribué, pour retrouver un fichier, la clef est le nom du fichier, la valeur est l'endroit ou trouver le fichier. ● Calcul distribué, chaque clef est un fragment du calcul, le nœud exécute le calcul associé a ses clefs ●...

19 Bibliographie - Webographie ● http://pdos.csail.mit.edu/papers/chord:sigcomm01/ http://pdos.csail.mit.edu/papers/chord:sigcomm01/ ● http://pdos.csail.mit.edu/chord/ http://pdos.csail.mit.edu/chord/ ● http://en.wikipedia.org/ http://en.wikipedia.org/ ● http://open-chord.sourceforge.net/ http://open-chord.sourceforge.net/


Télécharger ppt "Université de Nantes CHORD Vincent Trève. Introduction ● Problématique – Comment accéder efficacement aux données réparties sur un système pair à pair?"

Présentations similaires


Annonces Google