On Wed, 2003-11-19 at 04:56, Ian Clarke wrote:
> Niklas Bergh wrote:
> > NGR is designed to take into account a nodes available bw and include
> > that fact in routing decisions. Instead of overloading an already
> > overloaded (bw-wise) node even more NGR would be sending the Q to
> > another node.
> > 
> > A bw-caused QR will completely hide the actual bw problem from other
> > nodes' NGRT:s since the 'load' that is actually causing a QR includes
> > multiple other factors.
> 
> I think I agree, NGR should handle bandwidth limitations, using QRs is 
> too crude a tool and as Niklas points out, may even hide the problem 
> from NGR forcing us to rely on the backoff mechanism.
> 

It seems to me that NGR can't possibly do certain things.  
When the standard deviation exceeds the mean, you can't 
even predict the sign of your random variable.

NGR doesn't seem to be figuring variances of the estimators.  
If it did, sometimes they might be very large.  Differences 
between estimators which are less than 1 s.d. are not 
statistically significant.  Making decisions based on them 
is simply making random decisions.  Worse than that, it
may be making non-random choices between equally good
alternatives, when a random choice is far better.

In the case of bandwidth, suppose we have 10 nodes (call 
them servers) which are all reasonably good at the same 
region of keyspace.  Then initially, NGR has no reason to 
favor one over the others, but insignificant differences 
in estimators will cause one to be favorite of the clients.  
This one server gets an excessive number of trailers going, 
and pretty soon, all of the clients decide it is no good 
at what it actually is good at.  Then they go after one 
of the others, and pretty soon all of the clients have
decided that none of the 10 servers is any good at what
they are all actually good at.  This happens because of
failure to QR when too many trailers are active.

Also, suppose that the servers go down once a day.  If
each server has a 25 hour backlog, then none of the trailers
will finish, and all of the servers get a bad reputation.

But if the servers accept a few requests and do a good job
on those, then the estimators in different clients' routing
tables will diverge depending on which node served the
request, and which QR'ed it.  This is exactly what we
want.  NGR should be arranging for 1/10 of the clients
to use each of the 10 qualified servers.

Also, NGR should be doing a statistical significance
calculation, and when the difference between several
servers is insignificant, it should choose randomly.
This will cause different clients to favor different
equally qualified servers, distributing the load.

Comments?

-- Ed Huff

Attachment: signature.asc
Description: This is a digitally signed message part

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

Reply via email to