ACM Home Page
Please provide us with feedback. Feedback
SEDA: an architecture for well-conditioned, scalable internet services
Full text PdfPdf (1.51 MB)
Source ACM SIGOPS Operating Systems Review archive
Volume 35 ,  Issue 5  (December 2001) table of contents
SESSION: Event-driven architectures table of contents
Pages: 230 - 243  
Year of Publication: 2001
ISSN:0163-5980
Also published in ...
Authors
Matt Welsh  University of California, Berkeley
David Culler  University of California, Berkeley
Eric Brewer  University of California, Berkeley
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 28,   Downloads (12 Months): 286,   Citation Count: 116
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues   peer to peer  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/502059.502057
What is a DOI?

ABSTRACT

We propose a new design for highly concurrent Internet services, which we call the staged event-driven architecture (SEDA). SEDA is intended to support massive concurrency demands and simplify the construction of well-conditioned services. In SEDA, applications consist of a network of event-driven stages connected by explicit queues. This architecture allows services to be well-conditioned to load, preventing resources from being overcommitted when demand exceeds service capacity. SEDA makes use of a set of dynamic resource controllers to keep stages within their operating regime despite large fluctuations in load. We describe several control mechanisms for automatic tuning and load conditioning, including thread pool sizing, event batching, and adaptive load shedding. We present the SEDA design and an implementation of an Internet services platform based on this architecture. We evaluate the use of SEDA through two applications: a high-performance HTTP server and a packet router for the Gnutella peer-to-peer file sharing network. These results show that SEDA applications exhibit higher performance than traditional service designs, and are robust to huge variations in load.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Akamai, Inc. h t t p : //www. akamai, coma
 
2
America Online Press Data Points. http ://corp.aol,com /press/ press datapoints.html.
 
3
Digital Island, Inc. http : //www. digitalisland, com/.
 
4
Acme Labs. thttpd: Tiny/Turbo{rhrottling HTrP Server. http : //www. acrae, com/software/tht tpd/.
5
 
6
Apache Software Foundation. The Apache web server, http : //www. apache, org.
 
7
 
8
G.BangaandJ. C. Mogul. Scalable kernel performance for lnternet servers under realistic loads. In Prec. 1998 Annual Usenix Technical Conference, New Orleans, LA, June 1998.
 
9
G. Banga, J. C. Mogul, and P. Druscbel. A scalable and explicit event delivery mechanism for UNIX. In Prec. USENIX 1999 Annual Technical Conference, Monterey, CA, June 1999.
 
10
BEA Systems. BEA WebLogic. http://www.beasys.com/ product s/weblogic/.
11
 
12
A. Chankhunthod, P. B. Danzig, C. Neerdaels, M. E Schwartz, and K. J. Worrell. A hierarchical Internet object cache. In Prec. 1996 Usenix Annual Technical Conference, pages 153-163, January 1996.
13
 
14
 
15
M. Crovella, R. Frangioso, and M. Harchol-Balter. Connection scheduling in Web servers. In Prec. 1999 USENIX Symposium on lnternet Technologies and Systems ( USITS "99), October 1999.
 
16
M.L. Dertouzos. The future of computing. Scientific American, July 1999.
 
17
18
 
19
Gnutella. http : //gnutella .wego. com.
 
20
S. Oribble, E. Brewer, J. Hellersteln, and D. Culler. Scalable, distributed data structures for interact service construction. In Prec. Fourth Symposium on Operating Systems Design and Implementation ( OSD12000), October 2000.
 
21
S. Gribble, M. Welsh, R. yon Behren, E. Brewer, D. Culler, N. Borisov, S. Czerwinski, R. Gummadi, J. Hill, A. Joseph, R. Katz, Z. Mao, S. Ross, and B. Zhao. The Ninja architecture for robust Intemet-scale systems and services. Computer Networks, June 2000. Special Issue on Pervasive Computing.
 
22
Hewlett-Packard Corporation. e-speak Open Services Platform. http: //www. e- speak, net/.
 
23
J. Hu, S. Mungee, and D. Schmidt. Techniques for developing and measuring high-performance Web servers over ATM networks. In Prec. IN- FOCOM '98, March/April 1998.
 
24
J. C. Hu, I. Pyarali, and D. C. Schmidt. High performance Web servers on Windows NT: Design and performance. In Prec. USENIX Windows NT Workshop 1997, August 1997.
 
25
IBM Corporation. IBM WebSphere Application Server. http :// www-4, ibm. com/so f tware/webservers/.
 
26
S. M. Inc. Java Server Pages API. http://java.sun.com/ product s /jsp.
 
27
R. Jain, D. Chiu, and W. Hawe. A quantitative measure of fairness and discrimination for resource allocation in shared computer systems. Technical Report TR-301, DEC Research, September 1984.
28
 
29
D. Kegel. The C10K problem, http://www.kegel .com/cl0k. html.
30
 
31
J. Larus and M. Parkes. Using cohort scheduling to enhance server performance. Technical Report MSR-TR-2001-39, Microsoft Research, March 2001.
 
32
H. Lauer and R. Needhant On the duality of operating system structures. In Proc. Second International Symposium on Operating Systems, IRIA, October 1978.
 
33
J. Lemon. FreeBSD kernel event queue patch, http://www. flugsvamp,com/~jlemon/fbsd/.
 
34
I. Leslie, D. McAuley, R. Black, T. Roscoe, E Barbara, D. Evers, R. Fairbairns, and E. Hyden. The design and implementation of an operating system to support distributed multimedia applications. IEEE Journal on Selected Areas in Communications, 14:1280-1297, September 1996.
 
35
A. S. Lett and W L. Konigsford. TSS/360: A time-shared operating system. In Proc. Fall Joint Computer Conference, Volume 33, Part 1, pages 15-28, 1968.
 
36
 
37
Microsoft Corporation. DCOM Technical Overview. h t t p : //msdn. mi croso ft. com/I ibrary/backgrnd/html/msdn_ dcomt ec. htm.
 
38
Microsoft Corporation. IIS 5.0 Overview. http ://w. microsoft, com/windows2000 / i ibrary/howitworks / iis / iis5techove%rview, asp.
39
40
41
 
42
Netscape Corporation. Netscape Enterprise Server. http: //home. net scape, com/enterprise/v3.6 / index, html.
 
43
 
44
V.S. Pal, P. Druschel, and W. Zwaenepoel. Flash: An efficient and portable Web server. In Proc. 1999 Annual Usenix Technical Conference, June 1999.
 
45
S. Parekh, N. Gandhi, J. L. Hellerstein, D. Tilbury, T. Jayram, and J. Bigus. Using control theory to achieve service level objectives in performance management. In Proc. IFIP/IEEE International Symposium on Integrated Network Management, Seattle, WA, May 2001.
 
46
N. Provos and C. Lever. Scalable network I/O in Linux. Technical Report CITI-TR-00-4, University of Michigan Center for Information Technology Integration, May 2000.
47
 
48
M. Russinovich. Inside lgO completion ports, http://www. sysinternals, com/comport, htm.
 
49
 
50
Standard Performance Evaluation Corporation. The SPECweb99 benchmark. http : //www. spec. org/osg/web99/.
 
51
 
52
Sun Microsystems. RPC: Remote Procedure Call Protocol Specification Version 2. Internet Network Working Group RFC1057, June 1988.
 
53
Sun Microsysterns Inc. Enterprise Java Beans Technology. http :// java. sun. com/products/ejb/.
 
54
Sun Microsystems, Inc. Java Remote Method Invocation. http:// java.sun.com/products/jdk/rmi/.
 
55
Sun Microsysterns Inc. Jini Connection Technology. http: //www. sun. com/j ini/.
 
56
M. Vandevoorde and E. Roberts. Work crows: An abstraction for controlling parallelism. Technical Report Research Report 42, Digital Equipment Corporation Systems Research Center, February 1988.
 
57
 
58
L. A. Wald and S. Schwarz. The 1999 Southern California Seismic Network Bulletin. Seismological Research Letters, 71(4), July/August 2000.
59
 
60
M. Welsh. NBIO: Nonhlocking I/O for Java. http: //www.cs. berkeley, edu/~mdw/pro j / java- nbio.
 
61
 
62
Yahoo! Inc. Yahoo! reports Second Quarter 2001 financial results, http : //docs. yahoo, com/docs/pr / rel ease794, html.
 
63
Zeus Technology. Zeus Web Server. http://www.zeus.co.uk/ products/ws/.

CITED BY  116
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Collaborative Colleagues:
Matt Welsh: colleagues
David Culler: colleagues
Eric Brewer: colleagues

Peer to Peer - Readers of this Article have also read: