On Mon, Mar 23, 2009 at 01:02:25PM -0400, Jay Pipes wrote:
> FYI, there is a difference between a session scheduler and an I/O
> scheduler.  For an I/O scheduler, which has the responsibility of
> reading I/O events from sockets as they arrive from client connections,
> libevent may be an excellent fit.  But, for session schedulers, whose
> responsibility it is to prioritize the execution of a session's
> statements, the scheduler needs to be thought of in a different way..

Agreed, there is a difference and we could split this up. On the other
hand the two are very closely related since when a socket EAGAIN is
encountered, this notifies the thread scheduler it can safely switch
context to another session (giving you more concurrency and a LOT
less kernel context switches).

Prioritizing the sessions to be run will be a project in itself. Since
there could be connection options, parse options, and it may also
depend on the state of the session (for example, sessions in the
flushing data state should have priority since those will be fast
and the work is already done).

-Eric

_______________________________________________
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