[p2p-hackers] Errata in the Chord paper ?

Michael Parker mgp at ucla.edu
Mon Sep 26 18:26:27 UTC 2005


Just to chime in quickly on the single point below... In Chord, you can easily
do away with the rigidity by allowing the first finger to point to any node in
the range [2^159, 2^160), not just the first node encountered clockwise 
in this
range. Likewise, the second finger can point to any node in the range [2^158,
2^159), and so forth. This affords you much greater flexibility for choosing
neighbors (indeed, your farthest finger can be chosen from approximately half
the nodes on the network), allowing you to exploit some sort of proximity
metric such as Vivaldi in neighbor selection. The average number of hops when
routing a message still remains (log N)/2. See the paper "The Impact of DHT
Routing Geometry on Resilience and Proximity" by Gummadi et al for a more
detailed discussion on this.

Everything else Bryan says is good advice :)

- Mike Parker


Quoting Bryan Turner <bryan.turner at pobox.com>:

> - Too Rigid
>
> 	Chord specifies that you must maintain exact successor/predecessor
> and finger tables at all times.  This requirement causes a significant
> amount of network overhead during network flapping events, and at times of
> the day when large swings in population occur.  Often, this traffic is
> enough to destabilize the network and cause routing to fail.
>
> 	Chord is one of many algorithms to build a Small World network.  It
> has been shown that perfectly aligned finger tables are not necessary (as
> some of their later papers mention).  Instead, keep tabs on your local
> neighborhood and keep "some" long-range pointers for efficient routing.
>
> 	Specifically, your long range pointers should connect to well
> established, well connected, well trusted nodes at various distant locations
> on the ring.




More information about the P2p-hackers mailing list