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, | ** <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 | ||