D2.3 D´efinition d’une architecture `a partir d’un syst`eme existant
Chapter 2
Pastry
Pastry [7] se base sur une structure en anneau. Les identifiants de nœud sont choisis al´eatoirement et
cod´es sur 128 bits, alors que les identifiants de ressources sont cod´es sur 160 bits (en rapport avec la
taille des hash SHA-1 ). Pastry fournit un syst`eme de routage et sugg`ere des contraintes pour un syst`eme
de transfert et de r´eplication efficace, assurant la p´erennit´e (en environnement coop´eratif) des donn´ees
pr´esentes dans la DHT.
Les donn´ees sont sous la responsabilit´e du nœud ayant l’identifiant le plus proche num´eriquement.
Le routage s’effectue en propageant le message vers un nœud partageant un plus grand pr´efixe commun
avec la ressource, ou `a d´efaut partageant un pr´efixe de mˆeme taille et plus proche num´eriquement de la
ressource cibl´ee.
2.1 Fonctionnement
Chaque nœud poss`ede un Leaf set et une table de routage. Le Leaf set contient Lvoisins dans l’espace
logique, typiquement 16 ou 32. Il sert `a donner au nœud une vision pr´ecise de sa localit´e, tout en
permettant `a certains nœuds de d´efaillir sans briser le r´eseau. Ce Leaf set est maintenu `a jour de
mani`ere agressive. La table de routage quant `a elle est une table par pr´efixe plus pr´ecise pour les nœuds
proches dans l’espace virtuel (Fig. 2.1). Elle est mise `a jour de mani`ere passive, en compl´etant les trous
des nœuds d´efaillants et en rempla¸cant les entr´ees par des nœuds plus proches.
Pour router un message, un nœud nv´erifie d’abord si la ressource rest sous le contrˆole de son Leaf
set. Si tel est le cas, ntransmet directement rau nœud responsable. Sinon, ncherche dans sa table de
routage un nœud partageant un pr´efixe plus long avec rpour lui transmettre le message. Si nne trouve
pas de nœud satisfaisant, alors il transmet le message `a un nœud partageant un pr´efixe de mˆeme taille
que lui avec r, mais qui est plus proche num´eriquement. Un tel nœud doit exister dans le Leaf set si le
taux de d´efaillance du r´eseau est tol´erable. Cet algorithme est en O(log(N).
2.2 Ad´equation
Le routage de Pastry est naturellement r´esistant `a la d´efaillance de nœuds, puisque la pr´esence d’un Leaf
set relativement important (20 par d´efaut) garantit la progression d’un message vers la ressource. Les
tables de routage sont quant `a elles r´epar´ees de mani`ere paresseuse, `a partir du moment o`u un nœud ne
r´epond plus `a une requˆete r´eelle (pas de surveillance active).
Les algorithmes de Pastry sont con¸cus pour maintenir la connectivit´e du r´eseau mˆeme en pr´esence
d’une tr`es grande volatilit´e des nœuds et pour des applications pair-`a-pair. Pour cela, chaque nœud
contient un nombre important de pointeurs vers d’autres nœuds, chacun de ces pointeurs ayant un
coˆut de maintenance. L’utilisation en environnement de clusters, avec des nœuds peu volatils et des
contraintes de performance ´elev´ees, demanderait l’adaptation du protocole.
ANR SPADES. 08-ANR-SEGI-025 Page 5