Sciweavers

HOTOS
2003
IEEE

Why Events Are a Bad Idea (for High-Concurrency Servers)

14 years 4 months ago
Why Events Are a Bad Idea (for High-Concurrency Servers)
Event-based programming has been highly touted in recent years as the best way to write highly concurrent applications. Having worked on several of these systems, we now believe this approach to be a mistake. Specifically, we believe that threads can achieve all of the strengths of events, including support for high concurrency, low overhead, and a simple concurrency model. Moreover, we argue that threads allow a simpler and more natural programming style. We examine the claimed strengths of events over threads and show that the weaknesses of threads are artifacts of specific threading implementations and not inherent to the threading paradigm. As evidence, we present a user-level thread package that scales to 100,000 threads and achieves excellent performance in a web server. We also refine the duality argument of Lauer and Needham, which implies that good implementations of thread systems and event systems will have similar performance. Finally, we argue that compiler support for...
J. Robert von Behren, Jeremy Condit, Eric A. Brewe
Added 04 Jul 2010
Updated 04 Jul 2010
Type Conference
Year 2003
Where HOTOS
Authors J. Robert von Behren, Jeremy Condit, Eric A. Brewer
Comments (0)