[ http://issues.apache.org/jira/browse/DERBY-1704?page=all ]
Knut Anders Hatlen updated DERBY-1704:
--------------------------------------
Attachment: split-hashtables.diff
split-hashtables.stat
Attaching the patch used to partition the hash tables. It is only
attached for reference, not for inclusion. I have not updated or added
comments, and I have not tried very hard to make the names of
variables and methods meaningful. If someone wants to implement a new
lock manager based on the ideas in this patch, please feel free to do
so. FWIW, derbyall ran cleanly with the patch.
> Allow more concurrency in the lock manager
> ------------------------------------------
>
> Key: DERBY-1704
> URL: http://issues.apache.org/jira/browse/DERBY-1704
> Project: Derby
> Issue Type: Improvement
> Components: Services, Performance
> Affects Versions: 10.2.0.0
> Reporter: Knut Anders Hatlen
> Priority: Minor
> Attachments: 1cpu.png, 2cpu.png, 8cpu.png, split-hashtables.diff,
> split-hashtables.stat
>
>
> I have seen indications of severe monitor contention in SinglePool
> (the current lock manager) when multiple threads access a Derby
> database concurrently. When a thread wants to lock an object, it needs
> to obtain the monitor for both SinglePool and LockSet (both of them
> are global synchronization points). This leads to poor scalability.
> We should investigate how to allow more concurrency in the lock
> manager, and either extend SinglePool or implement a new manager.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira