[Spread-users] Spread daemon -8 and -11 errors

John Schultz jschultz at commedia.cnds.jhu.edu
Wed Dec 24 11:21:48 EST 2003

Flow control is application specific.  One application might want to slow
to the speed of the slowest member and try to prevent any process from
being disconnected.  Another application might want to go as fast as
possible while potentially disconnecting some slow apps.  Another app. 
might want to be somewhere in the middle.

Usually people think they want the first option, but don't realize that
doing so can cause their whole distributed system to hang due to a single
client halting or progressing very slowly (which can happen for myriad
reasons).  Because flow control is not one size fits all, Spread takes the 
highest performance option it can, which is to implement flow control 
between daemons but not end-to-end between clients.

Due to all of this, we should not introduce app. flow control to the basic
Spread client library.  However, there should be a layer that is easily
slapped over the basic library that allows configurable app. lvl flow
control on a group-by-group basis.  I've been advocating this for some
time now, but haven't had the time to implement one myself and no else has
volunteered one.

With a little bit of work the no-loss option can be realized (I've been
wanting to do this as a general library for some time now).  How do we
address the middle ground in between those two extremes though?  What kind
of parameters could we allow the user to specify (e.g. - rate, etc.)?  
How do we do this while maintaining a semblance of Spread's raw

John Lane Schultz
Spread Concepts, LLC
Phn: 443 838 2200

More information about the Spread-users mailing list