USENIX 2003 Annual Technical Conference, General Track Abstract
|Pp. 239-252 of the Proceedings|
Multiprocessor Support for Event-Driven Programs
Nickolai Zeldovich, Stanford University; Alexander Yip, Frank Dabek, and Robert T. Morris, Massachusetts Institute of Technology; David Mazières, New York University; Frans Kaashoek, Massachusetts Institute of Technology
This paper presents a new asynchronous programming library (libasync-smp) that
allows event-driven applications to take advantage of multiprocessors
by running code for event handlers in parallel. To control the
concurrency between events, the programmer can specify a color for
each event: events with the same color (the default case) are handled
serially; events with different colors can be handled in parallel.
The programmer can incrementally expose parallelism in existing
event-driven applications by assigning different colors to
computationally-intensive events that do not share mutable state.
An evaluation of libasync-smp demonstrates that applications achieve
multiprocessor speedup with little programming effort. As an
example, parallelizing the cryptography in the SFS file server
required about 90 lines of changed code in two modules, out of a total
of about 12,000 lines. Multiple clients were able to read large cached
files from the libasync-smp SFS server running on a 4-CPU machine 2.5 times
as fast as from an unmodified uniprocessor SFS server on one CPU.
Applications without computationally intensive tasks also benefit: an
event-driven Web server achieves 1.5 speedup on four CPUs with
multiple clients reading small cached files.
- View the full text of this paper in
Until June 2004, you will need your USENIX membership identification in order to access the full papers. The Proceedings are published as a collective work, © 2003 by the USENIX Association. All Rights Reserved. Rights to individual papers remain with the author or the author's employer. Permission is granted for the noncommercial reproduction of the complete work for educational or research purposes. USENIX acknowledges all trademarks within this paper.
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.