Hi!

Many months ago Mark pushed the scheduler framework into the tree. This last weekend, in part prompted by Mark Callaghan's comments, I pulled the existing framework into the plugin and removed any vestiges of it not being pluggable.

Right now we have two models. One is the pool of threads, and another which causes the server to handle connections one at a time with no threads. I have a multi-thread scheduler almost complete, but I need to finish it up by getting rid of a memory leak in it.

So right now there are some obvious problems I see in the schedulers:
1) The lock for max connection needs to be pushed down into the scheduler. This is ham stringing performance (it is also making the scheduler sort of tricky). 2) The libevent usage is far from excellent. While it is making good use of bringing up only active IO, release of IO is not being done well (compared to say Memcached/Gearman/etc). 3) We should have a scheduler which is more cost based so that you can make sure you never get hamstrung on slow queries. I have a few ideas on this, but I need to think it through a bit more.

One thing to note, all scheduler code is now plugin based. If you have an open build, you need to do a rm -r -f autom4te.cache/ and then do a .//config/autorun.sh

If anyone is interested in writing a plugin for this, either start here or find me on IRC (where IRC is better for faster back and forth conversation)

Cheers,
        -Brian

--
_______________________________________________________
Brian "Krow" Aker, brian at tangent.org
Seattle, Washington
http://krow.net/                     <-- Me
http://tangent.org/                <-- Software
_______________________________________________________
You can't grep a dead tree.




_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to