[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#3665) Multi-Listener Thread Support

At 08:24 AM 4/17/2005, Howard Chu wrote:
>Overall I'm not totally convinced that this is the right place to be dividing the labor. It would make more sense to me to keep the single listener, and hand off each triggered event to the thread pool, so that reading and parsing is multithreaded.

I note that a tricky part of a lightweight dispatcher is dealing
with selects on the listening descriptors.   If you queue only
one worker thread on each selected descriptor, you effectively
serialize accepts/connection building... and that's a major
bottle neck today in handling large number of short lived
sessions.  So, the dispatcher needs some tricks to avoid
serialization of accepts/connection building.

As I noted in my response to David, Sang is actually exploring
a number of different approaches.   I should also note that Sang
will be looking a one or two lightweight dispatcher approaches.
It should be interesting to see which approach demonstrates itself
to be generally "best".