The array/stripes of sub maps underneath each CDM/CDSM I think serves two
purposes. The first is that any one clustered object lives exclusively on
a single active terracotta server. Without the submaps the data would
homed on a single server and you may not take advantage of a cluster with
multiple active servers. 

The other reason I think has to do with getting a more mutation
concurrency. At the lowest level in the terracotta server a clustered
object can only have changes applied to it by a single thread.

-----Original Message-----
From: tc-dev-boun...@lists.terracotta.org
[mailto:tc-dev-boun...@lists.terracotta.org] On Behalf Of Sergio Bossa
Sent: Thursday, April 07, 2011 2:59 AM
To: tc-dev
Subject: [tc-dev] Purpose of concurrency level in
ConcurrentDistributed(Server)Map

Hi guys,

I was looking at the ConcurrentDistributed(Server)Map code and I was
wondering what's the purpose of having the concurrency level setting
and so use multiple ConcurrentDistributed(Server)MapDso objects.
I mean, Terracotta already implements (distributed) lock striping with
lock strategies inside *MapDso objects, so why having another (higher)
level of striping/indirection?
Maybe I'm missing something obvious, but in the end I'd like to
understand how to properly configure the concurrency level.

Thanks!
Cheers,

Sergio B.

-- 
Sergio Bossa
http://www.linkedin.com/in/sergiob
_______________________________________________
tc-dev mailing list
tc-dev@lists.terracotta.org
http://lists.terracotta.org/mailman/listinfo/tc-dev
_______________________________________________
tc-dev mailing list
tc-dev@lists.terracotta.org
http://lists.terracotta.org/mailman/listinfo/tc-dev

Reply via email to