[infinispan-dev] Distribution, take 2
Bela Ban
bban at redhat.com
Mon Jul 20 09:51:54 EDT 2009
General comments:
- It seems that this is a mechanism where you replicate to the
repl_count instances 'next' to you, ie. similar to Buddy Replication ?
- Are you tying your rebalancing mechanism to the consistent hash
implementation ? This would IMO be bad because it doesn't allow for
plugging in of a different CH algorithm !
More comments inline
Manik Surtani wrote:
> DIST, take 2!
>
> Previous design failed due to two flaws:
> 1. Transaction logs maintained on sender, for each recipient.
> Plenty of scope for races, or heavily synchronized.
> 2. Consistent hash attempted to be overly fair in evenly dispersing
> nodes across a hash space. Meant that there was an often large and
> unnecessary amount of rehashing to do, which exacerbated the problem
> in 1.
>
> So we have a new approach, based on the following premises.
>
> 1. Consistent hash (CH) based on fixed positions in the hash space
> rather than relative ones.
Do you have a description of how the fixed-positions CH works ? From the
bullets below it seems this is like Buddy Replication, where you store
the data on the N buddies next to you.
> 1.1. Pros: limited and finite rehashing, particularly when there
> is a leave.
> 1.1.1. If the leaver is L, only node (L - 1) and node (L + 1)
> will have to push state, and only (L + 1) and (L + replCount) will
> have to receive state.
> 1.2. Cons: uneven spread of load (mitigated with grid size)
> 4. Implementation notes:
> 4.4. InstallConsistentHashCommand - an RPC command that
> "installs" a consistent hash instance on remote nodes.
What does 'installing a consisten hash instance' mean ?
> 4.5. GetConsistentHashCommand - an RPC command that "asks" a node
> to serialize and transmit across its current CH impl.
Serialize what ? The state (I assume) ? Or the consistent hash ? How can
you serialize a CH in the latter case ?
--
Bela Ban
Lead JGroups / Clustering Team
JBoss
More information about the infinispan-dev
mailing list