[ 
https://issues.apache.org/jira/browse/DERBY-2327?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Knut Anders Hatlen updated DERBY-2327:
--------------------------------------

    Attachment: ConcurrentHashMap.diff

I agree that ConcurrentHashMap is the way to go. ConcurrentHashMap.diff is an 
experimental patch which replaces the HashMap in LockSet with a 
ConcurrentHashMap. It seems to have good effect on the 1000x10000 join load 
from DERBY-1961 on multi-CPUs. It doesn't come for free in single-user 
environments though, but that could just as well be caused by stupid 
implementation by me. Note that the patch is in a very experimental state. It 
runs, but exotic features like deadlock detection certainly don't work. Also, 
in its current state it requires JDK6 to compile and run.

> Reduce monitor contention in LockSet
> ------------------------------------
>
>                 Key: DERBY-2327
>                 URL: https://issues.apache.org/jira/browse/DERBY-2327
>             Project: Derby
>          Issue Type: Sub-task
>          Components: Performance, Services
>    Affects Versions: 10.3.0.0
>            Reporter: Knut Anders Hatlen
>            Priority: Minor
>         Attachments: ConcurrentHashMap.diff
>
>
> When multiple threads enter the lock manager, only one can access the hash 
> table in LockSet. To improve scalability on multiple CPUs, it should be 
> possible to have more than one thread accessing the lock table at the same 
> time.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to