[infinispan-dev] DeadlockDetection (DLD) - benchmarks and status

Manik Surtani manik at jboss.org
Tue Jul 21 18:00:00 EDT 2009


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].

Does it also support async transports (1-phase commits)?

> 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/infinispan/profiling/DeadlockDetectionPerformanceTest.java
> Local DLD does good job (cca 5.5 times better) but replicated DLD  
> does extraordinary: cca 101 better throughput (see attached).

This is very interesting, but perhaps a little artificial since your  
key pool size is only 10.  So you do force a lot of deadlocks as a  
result.  And the time taken with the non-DLD case would depend on the  
TM's transaction timeout configuration which again would vary.  So as  
a result I'd be careful about quoting performance increase factors in  
a public blog (although you should definitely blog about this as a  
feature and how it *could* speed up transactions that would otherwise  
timeout).

Also, it would be interesting to see how the cache fares with and  
without DLD, in a test where there are absolutely no deadlocks.  E.g.,  
each thread's access patterns access the same keys, but in a way that  
would never deadlock.  I'd like to see if DLD adds much of an overhead.

Overall though, very cool stuff!  :)

Cheers
Manik

> 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#4244838
>
>
> < 
> DLD_local 
> .JPG 
> ><DLD_replicated.JPG>_______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev

--
Manik Surtani
manik at jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org







More information about the infinispan-dev mailing list