【文件属性】:
文件名称:SEDA-sosp.pdf
文件大小:304KB
文件格式:PDF
更新时间:2013-07-02 03:09:13
SEDA
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 construc-
tion of well-conditioned services. In SEDA, applications consist of a
network of event-driven stages connected by explicit queues. This ar-
chitecture allows services to be well-conditioned to load, preventing
resources from being overcommitted when demand exceeds service ca-
pacity. 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 implemen-
tation 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 shar-
ing network. These results show that SEDA applications exhibit higher
performance than traditional service designs, and are robust to huge
variations in load.