I assume the number of vnodes cannot be changed at runtime, dynamically adapting to a changing environment ?
I understand everybody has to have the exact same number of vnodes for reads and writes to hit the correct node, right ? On 1/27/12 9:41 AM, Dan Berindei wrote: > Hi guys > > I've been working on a test to search for an optimal default value here: > https://github.com/danberindei/infinispan/commit/983c0328dc40be9609fcabb767dd46f9b98af464 > > I'm measuring both the number of keys for which a node is primary > owner and the number of keys for which it is one of the owners > compared to the ideal distribution (K/N keys on each node). The former > tells us how much more work the node could be expected to do, the > latter how much memory the node is likely to need. > > I'm only running 10000 loops, so the max figure is not the absolute > maximum. But it's certainly bigger than the 0.9999 percentile. > > The full results are here: > http://fpaste.org/cI1r/ > > The uniformity of the distribution goes up with the number of virtual > nodes but down with the number of physical nodes. I think we should go > with a default of 48 nodes (or 50 if you prefer decimal). With 32 > nodes, there's only a 0.1% chance that a node will hold more than 1.35 > * K/N keys, and a 0.1% chance that the node will be primary owner for > more than 1.5 * K/N keys. > > We could go higher, but we run against the risk of node addresses > colliding on the hash wheel. According to the formula on the Birthday > Paradox page (http://en.wikipedia.org/wiki/Birthday_problem), we only > need 2072 addresses on our 2^31 hash wheel to get a 0.1% chance of > collision. That means 21 nodes * 96 virtual nodes, 32 nodes * 64 > virtual nodes or 43 nodes * 48 virtual nodes. > > Cheers > Dan > > > On Fri, Jan 27, 2012 at 12:37 AM, Sanne Grinovero<sa...@infinispan.org> > wrote: >> On 26 January 2012 22:29, Manik Surtani<ma...@jboss.org> wrote: >>> >>> On 26 Jan 2012, at 20:16, Sanne Grinovero wrote: >>> >>> +1 >>> Which default? 100? A prime? >>> >>> We should also make sure the CH function is optimized for this being on. >>> >>> >>> Yes, we should profile a session with vnodes enabled. >> >> Manik, we're using VNodes in our performance tests. The proposal is if >> we can provide a good default value, as the feature is currently >> disabled by default. -- Bela Ban Lead JGroups (http://www.jgroups.org) JBoss / Red Hat _______________________________________________ infinispan-dev mailing list infinispan-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/infinispan-dev