[infinispan-dev] Concurrent hashmaps parameters
Bela Ban
bban at redhat.com
Tue Sep 15 11:59:32 EDT 2009
FYI,
This might be important for you guys as well (if you haven't done so):
I'll add code to configure ConcurrentHashMaps based on system
properties, e.g. capacity, load factory etc.
This will be important for large clusters. E.g. when we have 1000 nodes
in the cluster, most hashmaps in JGroups will contain 1000 entries, and
if we only have 16 buckets (the default IIRC), there would be a lot of
contention.
https://jira.jboss.org/jira/browse/JGRP-1049
ConcurrentHashMap
-----------------
CCHMs have a default initial capacity (16), load factor (0.75) and
concurrency level (16). These are OK for most
scenarios, but we have to investigate whether these values are
sufficient for 1000 node clusters.
When for example 1000 threads from different senders access the same
CCHM, we need to make sure we don't have high
contention, ie. by spreading a 1000 senders over 16 buckets.
Investigate whether we should add CCHM initial sizes, load factors and
concurrency levels as properties.
With ergonomics [1], we could for example set bucket sizes for CCHMs
dynamically, e.g. based on cluster size.
[1] https://jira.jboss.org/jira/browse/JGRP-1037
--
Bela Ban
Lead JGroups / Clustering Team
JBoss
More information about the infinispan-dev
mailing list