Re: The effect of slow nodes
toad <toad-EI5O+8PHWbJeeLb3ft/[email protected]>
| Newsgroups | gmane.network.freenet.technical |
|---|---|
| Message-ID | <[email protected]> |
On Wed, Dec 13, 2006 at 05:13:55PM +0000, Michael Rogers wrote: > toad wrote: > > Inserts are significantly slower than requests because: > > 1) An insert will touch a lot more nodes on average than a request. > > 2) This means the likelihood of getting a RejectedOverload is much > > higher. > > 3) It also means it takes much longer. > > 4) The RTT on a request is from sending it to finishing receiving data; > > the RTT on an insert is from sending it to receiving the all downstream > > transfers complete notification. > > To me, this suggests that we should have a single throttle without RTT > measurement. There's no point throttling inserts when the overall load > on the network is low. At the moment we have a single window and four different RTT measurements. The reason for having RTT is to be close to TCP's behaviour, but it is probably not a good model. AIMD is designed to determine the window size, that is, the number of requests that should be active at a given time, hence we have to either: a) Monitor the RTT and divide it by the window to decide how often to send requests (and/)OR b) Count how many requests are in flight and not allow more than the window. The problem with the latter is that right now the window is not often above 2 (this indicates a problem in the throttling, of course), so it wouldn't be very precise. Only allowing INT(window)+1 requests in flight at once would however prevent some short-term problems, so it might be useful, but I don't see it substituting for (a). Please could you simulate AIMD throttling without an RTT versus AIMD throttling with an RTT? As far as I can see AIMD is designed to determine window size, and without an RTT we don't have a window size. > > Cheers, > Michael _______________________________________________ Tech mailing list [email protected] http://emu.freenetproject.org/cgi-bin/mailman/listinfo/tech
signature.asc
(application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) iD8DBQFFgD5oA9rUluQ9pFARAg+RAJ92+nTz2cgSahEVkCHWk48xv4aMpgCcDEHC 7srX63HZToZJzf+Hk1nbWLs= =o+Hb -----END PGP SIGNATURE-----