[infinispan-dev] Collocated nodes

Manik Surtani manik at jboss.org
Mon Sep 27 12:05:08 EDT 2010


On 27 Sep 2010, at 16:15, Elias Ross wrote:

> My original message bounced. In other words, if in practice you want N
> copies of something to exist, you can either select N nodes from the
> same hash wheel, or create N hash wheels. In this case you'd create at
> least two.

Perhaps even a simpler idea would be to naively place nodes on the hash wheel, and when you need to select nodes as hosts, pick the first one as usual, and for subsequent nodes, walk clockwise and pick nodes, discarding them if they have the same rack id and machine id.  Once you cycle back to the first node selected, repeat but this time discarding only for a machine id match.  And again, if you cycle back to the first node selected, don't discard any nodes, regardless of machine id/rack id match.  

Thoughts?



> 
> On Wed, Sep 22, 2010 at 7:37 AM, Elias Ross <genericelias at gmail.com> wrote:
> 
>> What about multiple hash wheels? One would exclude those nodes co-located, another would include all nodes.
>> -----Original Message-----
>> From: Vladimir Blagojevic <vblagoje at redhat.com>
>> Sender: infinispan-dev-bounces at lists.jboss.org
>> Date: Wed, 22 Sep 2010 09:44:54
>> To: infinispan -Dev List<infinispan-dev at lists.jboss.org>
>> Reply-To: infinispan -Dev List <infinispan-dev at lists.jboss.org>
>> Subject: Re: [infinispan-dev] Collocated nodes
>> 
>> The current function that places nodes on a hash wheel is deterministic in case of node joins and crashes/leaves. Even after a node leaves/crashes all surviving nodes in view V' are going be positioned to same hash wheel position as in view V. In another words, all surviving nodes in V' are deterministically placed on the same hash wheel positions absolutely and relatively to each other as they were in view V. The case for join is superfluous to my argument.
>> 
>> I am still learning about this topic but it seems that hash wheel node placing property defined above is necessary for everything to work properly. If so, I find it very hard to devise an algorithm that places nodes on hash wheel based on distance. As soon as one node crashes/leaves positioning surviving nodes in V' to same positions as they were in view V seems impossible since in distance based positioning we need to place nodes in relation to neighbouring nodes.
> 
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev

--
Manik Surtani
manik at jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org







More information about the infinispan-dev mailing list