[Spread-users] Re: Spread protocol architecture limitation?

John Schultz jschultz at spreadconcepts.com
Thu Nov 20 12:29:01 EST 2003

김혁래 wrote:

> I said before, as spread user guide, '30' daemons will not fit(?) 
> for low latency local network. But you said it will be stable 
> up to about 100 daemons. Thanks.
I said I _THINK_ it should be stable on up to 100 daemons on a low
latency, low loss network where the participating machines are lightly
loaded.  The largest stable ring actually deployed that I _KNOW_ of was
somewhere around 50 daemons, and that was under high load conditions.

> And here is my question,
> can you compare the performance with regard to NDDS?
I don't know how NDDS works internally or the exact semantics that it
provides.  That being said, NDDS claims that it is designed to work with
real-time applications, Spread currently is not.  Spread is wide area
network aware, meaning that it is optimized somewhat to work across the
wide area.

The main advantages of group communication are (1) that it provides a
very strong relationship between message ordering, message reliability
and the membership service and (2) that the topic area has been
thoroughly explored over the last 15+ years by many excellent research
groups.  In addition, Spread has been shown to be a fast network message
bus for applications that don't need all of its stronger guarantees.

> Does token ring decrease performance when it's node numbers 
> are increasing?
The answer depends on your usage of the system.  In our protocol,
daemons are only allowed to send messages on the network while they hold
the token.  After they finish sending some # of messages they send the
token to the next daemon in the ring.

Therefore, if all daemons have plenty of data to send, then throughput
and latency performance should not degrade at all (your network
throughput will probably be the limiting factor).

However, if only a fixed number of daemons consistently have traffic to
send (e.g. - 1 or 2 publishers, n receivers), then you will eventually
see throughput going down and latency going up as the # of daemons
increases.  This is because the token has to circulate through all the
daemons with no data traffic to send, before it gets back to the
actively sending daemons.

Please remember that a single Spread daemon can handle MANY (as many as
the machine can handle) clients (application processes).  So a Spread
configuration of 50 daemons _SHOULD_ easily handle a couple thousand
application processes.

John Lane Schultz
Spread Concepts LLC
Phn: 443 838 2200

More information about the Spread-users mailing list