PDOS Home




  MIT > LCS > PDOS Home > 

Publications > 

Abstracts > Async-SMP


Projects
People
Software

By subject
By date

 Publication search:  

Multiprocessor Support for Event-Driven Programs

Nickolai Zeldovich and Alex Yip and Frank Dabek and Robert Morris and David Mazieres and Frans Kaashoek

Abstract

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 libasyncsmp 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.

In the Proceedings of USENIX 2003, San Antonio, Texas, 2003 (BibTeX entry)

Paper text: PDF, PS, gzipped PS