[p2p-hackers] Re: scalability (was: p2p framework)

coderman coderman at gmail.com
Wed Nov 30 21:38:46 UTC 2005


On 11/30/05, Daniel Stutzbach <agthorr at cs.uoregon.edu> wrote:
> Instead of saying "Gnutella does not scale", I think it would be more
> accurate to say "Gnutella does not perform the operation I am
> interested in".

perhaps the following are more accurate observations:
- it is difficult to protect gnutella protocol against malicious /
aggressive peers
- it is difficult to conserve bandwidth consumption for large gnutella
peer groups

i implemented a weighted iterative discovery protocol a while back
called 'alpine' that ordered destination peer lists used for resource
discovery by the relative quality associated with a given peer derived
from past interactions (past responses, usefulness of resources
provided, etc).

the transport level was a logical UDP connection based protocol that
persisted between application instances and supported reconnecting
when endpoints changed (NAT, etc).  this made scaling characteristics
simple as bandwidth and memory were the limiting factors.  (i tested a
4.5million logical connection pool between two gigabit servers at
OSDL)

the reason i prefer an iterative unicast without forwarding is that it
greatly improves the ability to optimize queries and avoid resource
consumption attacks.  a peer performing a search is in direct control
of the rate of discovery, can terminate early, and may order the
search according to local criteria.  lack of forwarding makes it
difficult for a peer to abuse the resources of another (in gnutella a
well connected silent client can inject a large number of queries
which propagate according to TTL / other metrics.  a single query
packet consumes many times more peer resources than the originating
sender expended.

one major point of note with this approach is that it requires much
larger peer groups since they must all be directly addressed.  i
considered 1k to 10k peers a common size but expected individual nodes
with bandwidth to be capable of 100k or more.

transitive introduction was also weighted by peer quality with the
expectation that high quality peers would know additional high quality
peers that share similar interests / relevant resources.

the list archives and archive.org have additional details if you are
curious / bored.

best regards,



More information about the P2p-hackers mailing list