[mnet-devel] Re: [mnet-cvs]kb-scaled timeouts

Zooko zooko at zooko.com
Fri May 2 14:22:15 BST 2003


> > So I don't see how it can be estimating way too small other than perhaps the
> > first time, if 60 happens to be way too small.
> 
> it turns out that there are differences in transmission time
> between 64kb messages and 1MB messages ...

Okay, so this is a way that timeouts could be chronically short -- they average 
both 64 KB 'put blocks' and 1 MB 'put blocks' together, so the estimate is low 
for the 1 MB messages.

This could cause some of the big 'put block' messages to incur "soft timeout" 
events, which could trigger unnecessary redundant attempts to put the same block 
(to a different blockserver).

Hm.

But maybe it *shouldn't* trigger redundant attempts to put the same block!

Maybe the pusher should launch a message for the first block, and then after the 
soft timeout it should launch a message for the *next* block, instead of 
launching a new attempt to push the first block.

That way, by the time the pusher had launched all 255 blocks, it is almost 
certain that the first one is either successfully ACKed or else is really lost 
in space.  Then if the pusher starts resending ones that have not been 
successfully ACKed, they will probably not be unnecessary resends.

There still might be an edge case where you've sent e.g. 252 of the blocks, and 
then you send the last 3 of them more times than you need to.

This isn't a big problem though.  Redundant successful sends *do* mean that the 
block is replicated to multiple redundant servers, rather than just wasted.  
Assuming that the resend attempt almost always tries to resend to a different 
server!

--Z



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
mnet-devel mailing list
mnet-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mnet-devel




More information about the Mnet-devel mailing list