« Database Method Performance in JE 2.1 (repost from 12/23/05 on Sleepycat blog) | Main | JE and 64b JVMs (Repost from 11/30/05 Sleepycat blog) »

Split Lock Table in JE 2.1 (repost from 12/15/05 on Sleepycat blog)

[The following is a repost of the 12/15/05 Sleepycat blog entry.]

JE 2.1 will have a lot of performance improvements. One of them is the Split Lock Table.
We noticed that the lock table was a concurrency bottleneck in some
multi-threaded benchmarks. To get around that, we split the lock table
into N lock tables, where N is a parameter (the default is 1). Then
locks are evenly distributed across those N tables (by taking nodeId
mod N, where nodeId is the lock table key). By choosing an appropriate
value for N (generally a prime, and generally something less than the
number of concurrent threads operating on an environment), performance
can be increased significantly.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

About This Entry

This page contains a single entry from the blog posted on September 22, 2006 1:37 PM.

The previous post in this blog was Database Method Performance in JE 2.1 (repost from 12/23/05 on Sleepycat blog).

The next post in this blog is JE and 64b JVMs (Repost from 11/30/05 Sleepycat blog).

Many more can be found on the main index page or by looking through the archives.

Top Tags

Powered by
Movable Type and Oracle