[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openais
Subject:    Re: [Openais] GMI
From:       Steven Dake <sdake () mvista ! com>
Date:       2005-10-27 11:06:24
Message-ID: 1130411184.3796.32.camel () unnamed ! az ! mvista ! com
[Download RAW message or body]

On Thu, 2005-10-27 at 15:31 +0530, Arunachalam wrote:
> Sir,
> 
>             
> 
>             Can u clarify the difference between Agreed Ordering &
> Causal ordering. From one of the discussion from OpenAis I got to know
> that GMI is based on Agreed ordering. But I also came to know that
> causal is a receive time protocol & that is not there in GMI (Ring
> Protocol). 
> 

causal ordering is defined as follows: if one message is sent before
another in the same configuration, and the processor delivers the second
of the messages, it should also deliver the first.

agreed ordering ensures that the order in which these messages are
delivered is the same logically for all processors.

agreed ordering is a stronger semantic which provides causal ordering at
"no extra charge" in the totem implementation.

>  
> 
>             The Agreedness in the GMI is based on seq.no: in the
> token, right?
> 

In January of this year, the "gmi" protocol was replaced with totem as
specified in the totem single ring paper.

the agreed ordering is achieved by using the token->seq to apply a
globally unique (within a configuration) sequence number which is used
by the receiver to sort inbound messages and deliver them in order.

>  
> 
>             Safe Ordering is also maintained in GMI right?
> 

safe ordering is not implemented, although its pretty easy to do.  There
hasn't been a direct need in openais at this point.  If we had safe
ordering, we could do less work during a synchronization after a merge
which would improve performance and reduce blocking.

A rework of the synchronization system could also reduce blocking by
keeping "active synchronized replicas" and "unsynchornized replicas" and
synchronizing them as necessary.  Then all data access could execute
with the active replicas, while the unsynchronized replicas are
synchronized with the active.  This is an idea I've had for awhile, but
have not had time to try it out.

>  
> 
> How the totem-protocol is different from GMI?
> 
major difference has to do with the number of states (4, vs 5) and how
the virtual synchrony model is delivered (the RECOVERY, EVS states).
The totem protocol in  my opinion has a better system for executing
recovery then did gmi.  Totem requires smaller commit tokens and is less
likely to exceed the ethernet frame size improving ability to complete
under poor network conditions.  It is also possible to provide
configuration flushing.  Please read the flushed totem protocol
description on this mailing list in a previous discussion to understand
why.

Regards
-steve
>             
> 
>  
> 
> Regards
> 
> A P Sarathy
> 
>  
> 
> 
> _______________________________________________
> Openais mailing list
> Openais@lists.osdl.org
> https://lists.osdl.org/mailman/listinfo/openais



_______________________________________________
Openais mailing list
Openais@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/openais


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic