Characteristics of multithreading models for high-performance IO driven network applications.

link: http://arxiv.org/abs/0909.4934
Abstract

In a technological landscape that is quickly moving toward dense multi-CPU
and multi-core computer systems, where using multithreading is an increasingly
popular application design decision, it is important to choose a proper model
for distributing tasks across multiple threads that will result in the best
efficiency for the application and the system as a whole. The work described in
this paper creates, implements and evaluates various models of distributing
tasks to CPU threads and investigates their characteristics for use in modern
high-performance network servers. The results presented here comprise a roadmap
of models for building multithreaded server applications for modern server
hardware and Unix-like operating systems.