BTW I just thought of something (implementation detail): you have a
new LockManager impl here, right? DeadlockDetectingLockManagerImpl?
The default LockManagerImpl exposes stuff via JMX (and JOPR) using
annotations on the impl class. Can we move these annotations onto the
LockManager interface so that we don't need to repeat this for any
arbitrary interface? Should test that these annotations are still
picked up even if they are on the interface. Not sure if this is the
case.
Cheers
Manik
On 21 Jul 2009, at 11:19, Mircea Markus wrote:
Hi,
I've extended the original DLD design to also support deadlock
detection on local caches and updated design forum [1].
This, together with the replicated deadlock detection is implemented
in trunk (some minor stuff to do still: DLD for aggregation methods
like clear and addAll + unit test).
I've also created a benchmark to test what's the throughput (tx/min)
between caches running with and without DLD.
You can find full test description within test class:
http://anonsvn.jboss.org/repos/infinispan/trunk/core/src/test/java//org/i...
Local DLD does good job (cca 5.5 times better) but replicated DLD
does extraordinary: cca 101 better throughput (see attached).
I think DLD is cool stuff and differentiates us a bit from
competition, afaik none of them have a DLD.
One more thing that's worth mentioning: while running DLD tests I've
noticed that if all tx acquire locks on keys in same order, then no
deadlocks exists. This is logic and might seem obvious, but is not
stated anywhere and the performance increase by doing this might be
very dramatic. I think we should document this as a best practice
when it comes to transactions - any suggestion where?
I also intend to blog about it shortly.
Cheers,
Mircea
[1]
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4244838#...
<
DLD_local
.JPG
><DLD_replicated.JPG>_______________________________________________
infinispan-dev mailing list
infinispan-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev
--
Manik Surtani
manik(a)jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org