[Spread-users] Ordering

P. Krishna pkrishna at revasystems.com
Fri Jun 25 10:12:29 EDT 2004

On Tue, 2004-06-22 at 18:58, John Schultz wrote:
> 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?
> > 
> > Krishna
> > 
> 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.

Then what is RELIABLE doing? I thought RELIABLE should ensure per-source

Thank you,

More information about the Spread-users mailing list