db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <derby-...@db.apache.org>
Subject [jira] Updated: (DERBY-1704) Allow more concurrency in the lock manager
Date Wed, 16 Aug 2006 12:36:14 GMT
     [ http://issues.apache.org/jira/browse/DERBY-1704?page=all ]

Knut Anders Hatlen updated DERBY-1704:

    Attachment: split-hashtables.diff

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:
>            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


View raw message