[Spread-users] Spread daemon -8 and -11 errors
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
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