On 17 Jun 2011, at 14:51, Bela Ban wrote:
On 6/17/11 2:49 PM, Mircea Markus wrote:
> Now this might sound a bit too radical but do we really need REPLICATED mode?
> This is not fully brewed, but if e.g. we set numOwners = Integer.MAX_INTEGER the
cluster is effectively in replicated mode, so can't we just drop the REPLICATION
entirely? This would reduce the code size significantly...
This is not the same as replicated mode. With numOwners > cluster size
N, we send N unicasts for updates. This is inefficient, a multicast is
much better here. Also, for gets, we pick a node, which might not be the
local node, whereas in replicated mode, we always pick the local node.
Agreed. But
DIST code can be easily changed to have the same behaviour.
Plus, we'd have to de-activate the entire rebalancing code, as it's not
needed in replicated mode.
If we go with the approach I suggested we can use
rebalancing code to achieve replicated mode's state transfer:
- less code to maintain (i.e. all the replicated code will be removed)
- potentially faster state transfer as it will now happen from all the nodes in the
cluster in parallel
One thought though is to see if we should (internally) switch to
replicated mode if numOwners > cluster size. A bit dangerous though
because if this condition changes (e.g. more nodes are addded), we'd
have to switch back...
--
Bela Ban
Lead JGroups / Clustering Team
JBoss
_______________________________________________
infinispan-dev mailing list
infinispan-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev