jschultz at spreadconcepts.com
Tue Jun 22 18:58:51 EDT 2004
P. Krishna wrote:
> So, is it correct that even if a group is not using Agreed or Safe
> delivery but using a simple basic/fifo delivery method, those pkts for
> the group still have to traverse the "logical" ring and incur the
> similar latencies of Agreed/Safe messages?
I think you have a slight misunderstanding of how Spread 3 works. The
token only contains control information (SEQ#, ARU, etc.), it does not
contain messages inside it. Messages are sent when a daemon holds the
token and they are sent directly to the other daemons: multicast in the
local segment and unicast to the representatives of the other segments,
who then multicast it immediately in their segment.
In Spread 3 every message must wait for the token to get to its
originating daemon before it is sent on the Spread network. However,
the lower levels of service do not have to satisfy the same delivery
requirements as the higher ones. Meaning, for example, that a RELIABLE
message can be delivered as soon as it is received regardless of the
state of other messages.
In Spread 3, RELIABLE msgs are delivered immediately; FIFO, CAUSAL and
AGREED use the AGREED order rule (deliver by sequence # with no holes);
and SAFE msgs are delivered when all daemons in the view have the message.
There are stubs in Spread 3 to optimize FIFO delivery to only require
receiving all other messages from an originating server with no holes,
but that is not currently implemented.
John Lane Schultz
Spread Concepts LLC
Phn: 443 838 2200
More information about the Spread-users