Re: how can I utilise ZODB's parallel commit feature in my old application

Jim Fulton <[email protected]>
Newsgroups gmane.comp.web.zope.zodb
Message-ID <CAPDm-Fhu0mUJfUpsC=TmmNe4JEbcCzRfMAETsCYs5esZ1Ht6yA@mail.gmail.com>
On Thu, Sep 8, 2016 at 7:44 AM, Sanjay Rao <[email protected]> wrote:

> Hi,
>
> release notes of ZODB 4.4.0 mentions
>
> *4.4.0 (2016-06-30)* <https://pypi.python.org/pypi/ZODB/5.0.0#id35>
>
> *This release begins evolution to a more effcient commit protocol that
> allows storage implementations, like NEO <http://www.neoppod.org/>, to
> support multiple transactions committing at the same time, for greater
> write parallelism.*
>
>
> How can I utilise this feature in my old application.
>

Use NEO.


> Or
>
> Simply installing this version of ZODB is enough to get this working.
>

No.

The change cleans up some details of the commit protocol to allow storages
to perform the second phase of 2-phase commit in parallel.  NEO does this,
but previously had to monkey-patch ZODB.

WRT ZEO, ZEO allows parallel execution of the first phase of 2-phase
commit, but only allows one transaction to be in the second phase. I worked
on enabling multiple transactions to be in the second phase, but wasn't
able to get a meaningful performance improvement.  This appears to be
because when multiple clients are trying to commit at once, ZEO servers
become compute bound and clients end up waiting for CPU cycles instead of
commit locks.  My plan, eventually, is to try a non-Python implementation
of ZEO servers that's faster and that can more effectively use multiple
CPUs, at which point, the change to the commit protocol may yield more
benefits.

It's conceivable that RelStorage could be modified to take advantage of
this change.

Jim

-- 
Jim Fulton
http://jimfulton.info

-- 
You received this message because you are subscribed to the Google Groups "zodb" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.