Jusa Saari wrote:
Coming to think about it, isn't the whole concept of load-balancing
incompatible with routing ? We want a request to be routed to the node
that is most likely to return the data fastest (whatever that means...),
but the very definition of load-balancing means we give the request to the
node which has lowest load. If these don't happen to be the same, then
either routing will break or load-balancing will break.

When stated this way, they would appear to be at odds. However, which is more important ? You seem to say it is routing, with which I tend to agree. Take the original (preNGR) system, and think of NGR as being a "speed up" improvement. MANY more than one route exists, so let's try to choose a "more efficient" one. Not necessarily THE MOST efficient one at all times, but one of the better ones. There are so many ways to look at this stuff: if one route traverses many overloaded nodes, yet it is judged to be 'faster' , then it doesn't promote load balancing, and its judgement of fast really isn't accurate. Which implies that nodes are not sensing each other's load adequately. I think that routing based on specialization should take precedence over routing based on speed, although that doesn't mean we can't blend them to accomplish both. I believe we are not yet capable of balancing trailer load against query load. And distributed load balancing really IS A PART of routing. Routing is just an attempt at assigning some future load (for a successful transfer). One approach could be to commit the expected traffic load from each query at every hop, and compare how much load we are using to how much was committed, assuming a 100% query success rate. This is an optimistic approach that is wasteful, but it would prevent any node from ever reaching an overloaded state.

_______________________________________________
Devl mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to