[openstack-dev] Asynchrounous programming: replace eventlet with asyncio

Joshua Harlow harlowja at yahoo-inc.com
Thu Feb 6 03:22:44 UTC 2014


Any mysql DB drivers (I think the majority of openstack deployments use
mysql?).

How about sqlalchemy (what would possibly need to change there for it to
work)? The pain that I see is that to connect all these libraries into
asyncio they have to invert how they work (sqlalchemy would have to become
asyncio compatible (?), which probably means a big rewrite). This is where
it would be great to have a 'eventlet' like-thing built ontop of asyncio
(letting existing libraries work without rewrites). Eventually I guess
in-time (if tulip succeeds) then this 'eventlet' like-thing could be
removed.

Has there been commitment from library developers to start adjusting there
libraries to follow this new model (openstack has over 100+ dependencies
so each one would seem to have to change, especially if it has any sort of
I/O capabilities)?

-----Original Message-----
From: victor stinner <victor.stinner at enovance.com>
Reply-To: "OpenStack Development Mailing List (not for usage questions)"
<openstack-dev at lists.openstack.org>
Date: Wednesday, February 5, 2014 at 3:00 AM
To: "OpenStack Development Mailing List (not for usage questions)"
<openstack-dev at lists.openstack.org>
Subject: Re: [openstack-dev] Asynchrounous programming:
replace	eventlet	with asyncio

>Hi,
>
>Chris Behrens wrote:
>> Interesting thread. I have been working on a side project that is a
>> gevent/eventlet replacement [1] that focuses on thread-safety and
>> performance. This came about because of an outstanding bug we have with
>> eventlet not being Thread safe. (We cannot safely enable thread pooling
>>for
>> DB calls so that they will not block.)
>
>There are DB drivers compatible with asyncio: PostgreSQL, MongoDB, Redis
>and memcached.
>
>There is also a driver for ZeroMQ which can be used in Oslo Messaging to
>have a more efficient (asynchronous) driver.
>
>There also many event loops for: gevent (geventreactor, gevent3),
>greenlet, libuv, GLib and Tornado.
>
>See the full list:
>http://code.google.com/p/tulip/wiki/ThirdParty
>
>Victor
>
>_______________________________________________
>OpenStack-dev mailing list
>OpenStack-dev at lists.openstack.org
>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




More information about the OpenStack-dev mailing list