-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Matthew Toseland wrote:
> - If we simply move on to the next node (since backed off nodes are
>   ignored for routing at present and that seems to work), then to some
>   degree the load will go to where it is least overloaded...

...but at the cost of extra hops. This is a hard one. Longer paths waste
bandwidth, but so do rejected requests. If the sender retries when a
request is rejected and the request follows the same path, it will just
keep getting rejected.

> a very slow node at a good point in the
> keyspace will then inflict great harm.

Agreed, I think at some point we have to try to route around slow nodes.
 I suppose the question is where on the path the re-routing should occur
- - near the source or near the bottleneck?

> What do you mean by sliding window flow control? Doesn't AIMD suffice?

In TCP the sending rate is limited by the minimum of the congestion
window and the receiver window. The congestion window represents the
capacity of the link, and grows and shrinks in response to packet loss.
The receiver window represents the capacity of the receiver - the front
of the window is moved forward when the receiving process removes data
from the buffer, and the back of the window is moved forward when
incoming data is added to the buffer. The receiver specifies the window
size in acks and keepalives ("ack, send 3 more... ack, send 2 more"). If
the receiving process stalls then the back of the window catches up with
the front and the sender can't send any more data, no matter how large
the congestion window.

So instead of pinging your neighbours to see how overloaded they are,
the receiver window should tell you when they're ready to receive more data.

> Maybe... IMHO if we can implement a form of load balancing that doesn't
> have the problems associated with the current one then it would be
> worthwhile for me to do it immediately; we just have to thrash out the
> design... that is assuming the design is 100% bulletproof...

Cool, it would definitely be better if you implemented it. I'm writing a
simulator at the moment for some other work so hopefully I'll be able to
do some simulations if you need any.

Cheers,
Michael
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)

iD8DBQFESWDiyua14OQlJ3sRApxdAJ41mJa/pi8HYOdYNwgi0GPdYvPaKgCcD6R6
wnNoXCcdJPUY8p68DxhJB4A=
=0BwN
-----END PGP SIGNATURE-----
_______________________________________________
Devl mailing list
Devl@freenetproject.org
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to