[MUD-Dev] TECH: SEDA: An Architecture for Highly Concurrent Server Applications

Bruce Mitchener bruce at puremagic.com
Mon Sep 10 23:12:42 CEST 2001


SEDA: An Architecture for Highly Concurrent Server Applications:

  http://www.cs.berkeley.edu/~mdw/proj/seda/

>From the web page:

--- begin quote ---
My Ph.D. thesis work is focusing on the development of a robust,
high-performance platform for Internet services, called SEDA. The
goal is to build a system capable of supporting massive concurrency
(on the order of tens of thousands of simultaneous client
connections) and avoid the pitfalls which arise with traditional
thread and event-based approaches.

SEDA is an acronym for staged event-driven architecture, and
decomposes a complex, event-driven application into a set of stages
connected by queues. This design avoids the high overhead associated
with thread-based concurrency models, and decouples event and thread
scheduling from application logic. SEDA enables services to be
well-conditioned to load, preventing resources from being
overcommitted when demand exceeds service capacity. Decomposing
services into a set of stages also enables modularity and code
reuse, as well as the development of debugging tools for complex
event-driven applications.

Our current prototype of a SEDA-based services platform is called
Sandstorm. Sandstorm is implemented entirely in Java and uses the
NBIO package to provide nonblocking I/O support. We have implemented
a number of applications using Sandstorm, including Haboob, a
high-performance Web server that outperforms both Apache and Flash
(which are implemented in C) on a SPECWeb99-like benchmark. Other
applications include a Gnutella packet router and a Web-based email
service. See the SOSP'01 paper on SEDA for more details.
---- end quote ----

The prototype implementation is available from the website under an
open source license.

There are also a number of papers and talks in PDF form regarding
his work.

  - Bruce

_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev



More information about the mud-dev-archive mailing list