-
1. Re: How to dedicate nodes in a compute grid.
ckulenk Jan 12, 2012 2:43 PM (in response to greyfairer2)I think this is a good solution. You can wrap another ConsistentHash that handles any other keys. Maybe you can use the TopologyAwareAddress class with a special MachineId format to identify nodes with special hardware profiles.
-
2. Re: How to dedicate nodes in a compute grid.
matlach Jan 12, 2012 5:12 PM (in response to ckulenk)Hello Geert,
I'm in the same situation. I currently have a custom event system that dispatch cluster event through RMI ; some events need to be broadcasted onto all nodes, while some others only sent onto a specific node.
For the broadcast scenario, I would rely onto submitEverywhere(...) method, but then, how I manage to send an event onto a well defined node ?
I would really like to get rid of RMI and get my event go through the infinispan distributed executor framework.
To achieve this however, it seems, the only way of doing it is to rely on key locality.
Did you find anything yet to implement it ?
Thanks a lot,
Mat.
-
3. Re: How to dedicate nodes in a compute grid.
ckulenk Jan 12, 2012 7:11 PM (in response to matlach)How do you determine the specific nodes? I would love to see a simple Pub/Sub implementation for Infinispan.
I use a custom ConsistentHash for a university project:
//in ConsistentHash impl public List<Address> locate(Object key, int replCount) { if (key instanceof ToAddress) { return ((ToAddress) key).getAddresses(); } //... return childCh.locate(key, replCount); }
public interface ToAddress { List<Address> getAddresses(); }
Custom commands or modifying the ExecutorService might lead to a cleaner implementation. In my opinion going away from keys and key locality breaks the idea of infinispan and similar distributed systems. The problem is how to implement complex key-node-mappings (injecting data into a custom ConsistentHash implementation might lead to inconsistencies...).