Someone's noticed this before I hope. :)

I've noticed that my node consistantly ends up having references to
only one other node. The paticular node changes but it's always one
that is relatively stable. Of course if this node goes down... No
fun. :) Assuming other nodes have the same behaviour it stands to
reason that the Freenet network is strung out like a long string.
This could easilly be one of the sources of all our network problems.
Freenet probably has tonnes of storage space, but a crappy network
archetecure.


My theory for why this is happening is quite simple. References beget
references. Nodes tend to have huge datastores with hundreds of
elements in them. Therefore we can reason that we can potentially end
up with vast numbers of references from these nodes. Since nodes tend
to ask for data from nodes with lots of references already we get a
condition where the references to a big node crowd out all other
references.

Now as for a fix. I think we should just set a limit on the number of
references any individual node can get to a percentage of the total
number of references. On reference add if the number of references to
the node > total references / x fail. x should be the number of other
nodes we want to have references too.

I'm currently looking at the code trying to figure out how to
implement this. It's really, really simple except I don't have the
slightest clue what most of it does. :)

Now... What should we set x to?

-- 
retep at penguinpowered.com http://retep.tripod.com 

_______________________________________________
Devl mailing list
Devl at freenetproject.org
http://www.uprizer.com/mailman/listinfo/devl

Reply via email to