On 7 March 2012 12:05, Galder Zamarreño <[email protected]> wrote:
> Hi,
>
> I was reading up about Java's Semaphores 
> (http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Semaphore.html)
>  and a couple of ideas came to my mind:
>
> 1. Wouldn't it make sense to use binary semaphores instead of locks in 
> Infinispan? We're already having to override ReentrantLock in order to have 
> locks owned by Transactions rather than threads. Initially I thought it might 
> make easier for deadlock detection, but not so sure right now cos we're 
> already changing things to avoid thread ownership of locks.
>
> 2. Could lock striping become lock pooling with a simple object pool based on 
> a Semaphore? In theory, we'd avoid the current issue with lock striping where 
> two diff locks hash to the same segment and we have deadlocks. We could use, 
> as the current lock striping logic does, the concurrency level to decide the 
> number of semaphore permits.

Concurrency level -> number of permits ?
I don't get that, the way I'm reading it, it sounds like the more
efficient version would be to remove the semaphore ;)

>
> I'll prototype this on the side and see if I can make such conversion and see 
> if it brings any benefits… :)
>
> In the mean time, if you have any feedback to provide, it'd be appreciated.
>
> Cheers,
> --
> Galder Zamarreño
> Sr. Software Engineer
> Infinispan, JBoss Cache
>
>
> _______________________________________________
> infinispan-dev mailing list
> [email protected]
> https://lists.jboss.org/mailman/listinfo/infinispan-dev

_______________________________________________
infinispan-dev mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/infinispan-dev

Reply via email to