Event-driven programming for robust software

  • Authors:
  • Frank Dabek;Nickolai Zeldovich;Frans Kaashoek;David Mazières;Robert Morris

  • Affiliations:
  • MIT Laboratory for Computer Science;MIT Laboratory for Computer Science;MIT Laboratory for Computer Science;MIT Laboratory for Computer Science;MIT Laboratory for Computer Science

  • Venue:
  • EW 10 Proceedings of the 10th workshop on ACM SIGOPS European workshop
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Events are a better means of managing I/O concurrency in server software than threads: events help avoid bugs caused by the unnecessary CPU concurrency introduced by threads. Event-based programs also tend to have more stable performance under heavy load than threaded programs. We argue that our libasync non-blocking I/O library makes event-based programming convenient and evaluate extensions to the library that allow event-based programs to take advantage of multi-processors. We conclude that events provide all the benefits of threads, with substantially less complexity; the result is more robust software.