nextupprevious

Introduction

Previous work on Internet application servers motivated work to improve scalability of select() call.

Authors propose that best approach is to use event-based model with a moderate number of threads corresponding to number of CPUs.

Early Unix systems supported 15 descriptors per-process.

Web servers now handle 3000 HTTP requests/sec. If mean duration is 2 seconds, then on average have 6000 open connections/sec (will likely be more at some points given distribution).

Authors previously showed that scalability of select() could be improved, but select() activity increases with the square of event rate---more events and larger bitmap.

Paper explores problem with select() and propose a new API for Unix.

Also look at other event delivery mechanisms.