Fast UNIX Servers: Difference between revisions

Line 56: Line 56:
* One or more event notifiers (<tt>epoll</tt> or <tt>kqueue</tt> fd)
* One or more event notifiers (<tt>epoll</tt> or <tt>kqueue</tt> fd)
* One or more event vectors, into which notifiers dump events
* One or more event vectors, into which notifiers dump events
** <tt>kqueue</tt> supports vectorized registration of event changes, extending the issue
** <tt>kqueue</tt> supports vectorized registration of event changes, generalizing the issue
* Threads -- one event notifier per? one shared event notifier with one event vector per? one shared event notifier feeding one shared event vector? work-stealing/handoff?
* Threads -- one event notifier per? one shared event notifier with one event vector per? one shared event notifier feeding one shared event vector? work-stealing/handoff?
** It is doubtful (but not, AFAIK, proven impossible) that one scheduling/sharing solution is optimal for all workloads
** It is doubtful (but not, AFAIK, proven impossible) that one scheduling/sharing solution is optimal for all workloads