Conception des Systèmes Reparties – TD Jean-Marc PIERSON, Leandro FONTOURA CUPERTINO {pierson, fontoura}@irit.fr 2013/2014 1 Système P2P Le système P2P “Chord” repose sur la notion de table de hachage distribué (DHT). Une table de correspondance (finger table: FT) est située sur chaque noeud, de taille 4. Sachant que les noeuds sont numérotés entre 0 et 15, que les 5 noeuds présents ont comme identifiants {1, 6, 8, 13, 15} et que la fonction de hachage choisie est le modulo 16: 15 0 1 14 2 13 3 12 4 11 5 10 6 9 8 7 1.1 Rechercher le nœud hébergeant la donnée 131: (a) A partir du nœud 1. (b) A partir du nœud 8. Rappel: F Tp [i] = succ(p + 2i−1 ) 1.2 Ajouter des donnés {27, 31}. 1 1.3 En utilisant la fonction de hashage sgn(k − 8) + 1, où k est le hash modulo precedant, dans quels nœuds se trouvent les données de clé {131, 134, 135, 140, 143, 144}? Commenter ce résultat. Rappel: La fonction signe est définie comme: sgn(x) = 1 0 −1 , si x > 0 , si x = 0 , si x < 0 (1) 1.4 On suppose qu’un nouveau nœud se joint au réseau. Son identifiant est 4. Donner un algorithme qui permette d’insérer ce noeud dans le système de manière efficace. 1.5 Donner un algorithme qui permette d’enlever un nœud. Qu’est-ce qu’arrive si un nœud est mort? Bonus Scalable key location. Preuve que la recherche de clé nécessite O(log(N )) opérations, où N est le nombre de nœuds (à faire par récurrence). 2