SlideShare a Scribd company logo
SEDA: An Architecture for Well-
Conditioned, Scalable Internet Services
by Welsh, Culler, and Brewer
UC San Diego
CSE 294
Winter Quarter 2007
Barry Demchak
2
The Objective
 Services that support millions of users
 Responsive
 Robust
 Highly available
 Support large swings in load over time (100x)
 General purpose mechanisms
3
A Web Application Example: DNS
 Verisign’s root servers
 Two 10-high stacked 1U IBM eServers
running Solaris and Red Hat Linux
 26 billion requests/day (normal traffic) or
300K-500K requests per second
 In 2000, there were 1 billion requests/day
 In 2010, predicting 200 billion requests/day
-- InfoWorld, February 16, 2007, DNS Attack
Puts Web Security in Perspecitive,
Roger Grimes
4
SEDA
 Problem Background
 Survey of existing alternatives
 SEDA design
 Implementation results
 Applicability to ESBs (e.g., Mule)
 Applicability to THE picture
5
The Environment
 Static content becoming dynamic content
 Rapidly changing service logic
 Hosting on general purpose platforms
6
Non-Solutions
 Replication
 Traditional operating systems
 Traditional concurrency
7
Solution
 SEDA = Staged Event-Driven Architecture
 Applications decompose to stages
 Stages have incoming event queues
 Dynamic resource throttling
8
Definitions
 Well-conditioned
 Behaves like a simple pipeline: output rate
scales to input rate
 Excessive demand does not degrade pipeline
throughput
 Graceful degradation
 Under load, response time degrades linearly
with length of queue
 Degraded response time constant for all
clients (subject to service policies)
9
The Existing Choices
 Thread-based Concurrency
 Bounded Thread Pools
 Event-driven Concurrency
 Structured Event Queues
10
Thread-based Concurrency
 Thread-per-request model (RPC, JMI,
DCOM)
11
Thread-based Performance
12
Bounded Thread Pools
 Initial thread pool subject to expansion
 Fixed thread pools cause unfairness to clients
because of long waits when threads are
blocked
 Policies of reordering/prioritizing threads
based on expense of request are difficult
13
Event-driven Concurrency
 Queue-based scheduling of threads
 Threads execute finite state machines
14
Event-driven Performance
15
Structured Events Queues
 Sets of event queues
16
SEDA Goals
 Support massive concurrency
 Simplify construction of well-conditioned
services
 Enable introspection
 Support self-tuning resource management
17
SEDA Terms
 Stage = fundamental processing unit
 Event handler
 Incoming event queue
 Thread pool
 Controller = scheduler for a stage
18
A SEDA Application – Web server
19
Dynamic Resource Controllers
 Shields programmers from performance
tuning
 Observes stage’s runtime characteristics, and
adjusts allocation and scheduling parameters
to meet performance targets
20
Dynamic Resource Controllers
21
Thread Pool Controller Performance
22
Batching Controller Performance
23
Implementation: Sandstorm
 Internet-based service platform
 Each application implements handleEvents()
 APIs for:
 Naming, creating, destroying stages
 Performing queue operations
 Controlling queue thresholds
 Profiling and debugging
 Asynchronous I/O package
 7900 lines of Java
24
Asynchronous I/O
25
Asynchronous I/O Performance
26
Application and Evaluation
 Haboob: a high performance HTTP server
 Benchmarks
 Architecture
 Adaptive load shedding
 Gnutella packet router
 Architecture
27
Haboob Throughput
28
Haboob Response Time
29
SEDA Summary
 Establishes principles toward Internet-style
operating environments
 Stages ease concurrency complexity and
encourage modularity
 Dynamic controllers enable novel scheduling
and resource management strategies
 Challenges: detecting cause of overload
conditions, and control strategy to cure
overload
30
Mule
 From “Implementing an ESB using Mule” by
Ross Mason for JavaZone 2005
http://mule.mulesource.org/wiki/download/attachments/223/javazone-2005-mule-real-world-old.ppt?version=1
 ESB
 Loosely coupled components
 Event driven
 Highly distributed
 Intelligent Routing
 Data transformation
 Multiprotocol message bus …
31© 2005
Mule Topologies
Enterprise Service Bus
Client/Server and Hub n' Spoke
Peer Network
Pipeline
Enterprise Service Network
32
Messaging – JMS Style
 JMS = Java Messaging Service
 Connection-oriented API exposes point-to-
point and publish/subscribe communications
 Queue-oriented
33© 2005
Loan Broker Design
34© 2005
Design With Mule

More Related Content

PDF
Mobile computing : Indirect TCP
Sushant Kushwaha
 
PPT
Client Centric Consistency Model
Rajat Kumar
 
PPTX
Public Key Cryptosystem
Devakumar Kp
 
PDF
Design issues of dos
vanamali_vanu
 
PPT
Directory and discovery services
RamchandraRegmi
 
PDF
Transaction TCP
amardeepsingh1902
 
PDF
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
Kathirvel Ayyaswamy
 
PPTX
Replication in Distributed Systems
Kavya Barnadhya Hazarika
 
Mobile computing : Indirect TCP
Sushant Kushwaha
 
Client Centric Consistency Model
Rajat Kumar
 
Public Key Cryptosystem
Devakumar Kp
 
Design issues of dos
vanamali_vanu
 
Directory and discovery services
RamchandraRegmi
 
Transaction TCP
amardeepsingh1902
 
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
Kathirvel Ayyaswamy
 
Replication in Distributed Systems
Kavya Barnadhya Hazarika
 

What's hot (20)

PPT
X.509 Certificates
Sou Jana
 
PPTX
Fault tolerance in distributed systems
sumitjain2013
 
PPT
Secure Socket Layer
Naveen Kumar
 
PPTX
Transmission Control Protocol (TCP)
k33a
 
PPT
Process Management-Process Migration
MNM Jain Engineering College
 
PPT
Message Authentication Code & HMAC
Krishna Gehlot
 
PPT
Comet Cloud
pradeepas7
 
PPTX
Cryptography and Information Security
Dr Naim R Kidwai
 
PPT
Ppt of socket
Amandeep Kaur
 
DOC
Naming in Distributed System
MNM Jain Engineering College
 
PPTX
application layer protocols
bhavanatmithun
 
PPT
message passing
Ashish Kumar
 
PPTX
RSA Algorithm
Srinadh Muvva
 
PDF
TCP - Transmission Control Protocol
Peter R. Egli
 
PPT
Resource provisioning optimization in cloud computing
Masoumeh_tajvidi
 
PPT
Communications is distributed systems
SHATHAN
 
PPT
PGP S/MIME
Sou Jana
 
PPT
Clock Synchronization (Distributed computing)
Sri Prasanna
 
PPTX
Google file system GFS
zihad164
 
X.509 Certificates
Sou Jana
 
Fault tolerance in distributed systems
sumitjain2013
 
Secure Socket Layer
Naveen Kumar
 
Transmission Control Protocol (TCP)
k33a
 
Process Management-Process Migration
MNM Jain Engineering College
 
Message Authentication Code & HMAC
Krishna Gehlot
 
Comet Cloud
pradeepas7
 
Cryptography and Information Security
Dr Naim R Kidwai
 
Ppt of socket
Amandeep Kaur
 
Naming in Distributed System
MNM Jain Engineering College
 
application layer protocols
bhavanatmithun
 
message passing
Ashish Kumar
 
RSA Algorithm
Srinadh Muvva
 
TCP - Transmission Control Protocol
Peter R. Egli
 
Resource provisioning optimization in cloud computing
Masoumeh_tajvidi
 
Communications is distributed systems
SHATHAN
 
PGP S/MIME
Sou Jana
 
Clock Synchronization (Distributed computing)
Sri Prasanna
 
Google file system GFS
zihad164
 
Ad

Viewers also liked (20)

PDF
F8 tech talk_pinterest_v4
malorie_pinterest
 
PPTX
Facebook's TAO & Unicorn data storage and search platforms
Nitish Upreti
 
PPTX
Data Driven Growth
Discover Pinterest
 
PPTX
IDEs y Frameworks mas utilizados
George Navarro Gomez
 
PPTX
Presto: Distributed Machine Learning and Graph Processing with Sparse Matrices
Qian Lin
 
PPTX
Cassandra Summit - What's New In Apache TinkerPop?
Stephen Mallette
 
PDF
Real World Tales of Repair (Alexander Dejanovski, The Last Pickle) | Cassandr...
DataStax
 
PDF
Configurando o Geany para Python - 03/2012
Marco Mendes
 
PDF
Configurando o geany_para_python
Marco Mendes
 
PDF
Introduction to cassandra 2014
Patrick McFadin
 
PPTX
Epiphany: Connecting Millions of Events to Thirty Billion Data Points in Real...
DataWorks Summit
 
PDF
The Gremlin Graph Traversal Language
Marko Rodriguez
 
PDF
Quantum Processes in Graph Computing
Marko Rodriguez
 
PPTX
Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...
DataStax
 
PDF
Cassandra Virtual Node talk
Patrick McFadin
 
PDF
Gremlin's Graph Traversal Machinery
Marko Rodriguez
 
PPTX
HBaseCon 2015 General Session: Zen - A Graph Data Model on HBase
HBaseCon
 
PDF
HBaseCon 2015: S2Graph - A Large-scale Graph Database with HBase
HBaseCon
 
PDF
Clock Skew and Other Annoying Realities in Distributed Systems (Donny Nadolny...
DataStax
 
PDF
PagerDuty: Span the WAN? Yes you can!
DataStax Academy
 
F8 tech talk_pinterest_v4
malorie_pinterest
 
Facebook's TAO & Unicorn data storage and search platforms
Nitish Upreti
 
Data Driven Growth
Discover Pinterest
 
IDEs y Frameworks mas utilizados
George Navarro Gomez
 
Presto: Distributed Machine Learning and Graph Processing with Sparse Matrices
Qian Lin
 
Cassandra Summit - What's New In Apache TinkerPop?
Stephen Mallette
 
Real World Tales of Repair (Alexander Dejanovski, The Last Pickle) | Cassandr...
DataStax
 
Configurando o Geany para Python - 03/2012
Marco Mendes
 
Configurando o geany_para_python
Marco Mendes
 
Introduction to cassandra 2014
Patrick McFadin
 
Epiphany: Connecting Millions of Events to Thirty Billion Data Points in Real...
DataWorks Summit
 
The Gremlin Graph Traversal Language
Marko Rodriguez
 
Quantum Processes in Graph Computing
Marko Rodriguez
 
Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...
DataStax
 
Cassandra Virtual Node talk
Patrick McFadin
 
Gremlin's Graph Traversal Machinery
Marko Rodriguez
 
HBaseCon 2015 General Session: Zen - A Graph Data Model on HBase
HBaseCon
 
HBaseCon 2015: S2Graph - A Large-scale Graph Database with HBase
HBaseCon
 
Clock Skew and Other Annoying Realities in Distributed Systems (Donny Nadolny...
DataStax
 
PagerDuty: Span the WAN? Yes you can!
DataStax Academy
 
Ad

Similar to Seda an architecture for well-conditioned scalable internet services (20)

PPTX
Seda(staged event driven architecture)
Ramanjaneyulu Chennupati
 
PPTX
Thread Management In Mule
VenkataNaveen Kumar
 
PPTX
Using seda in mule
Anirban Sen Chowdhary
 
PPTX
Mule threading profile & processing strategy
chetan singhal
 
PDF
Decision CAMP 2014 - Mariano de Maio
Decision CAMP
 
KEY
Seda与Java并行编程点滴
Benjamin Tan
 
PPTX
TechDays 2010 Portugal - Event Driven Architectures - 16x9
Nuno Godinho
 
PDF
Sharing Digital Transformation Experiences using the Event Mesh - Real Time, ...
Phil Scanlon
 
PDF
Modern software architectures - PHP UK Conference 2015
Ricard Clau
 
PDF
SOA Pattern Event Driven Messaging
WSO2
 
PDF
An eventful tour from enterprise integration to serverless and functions
Christian Posta
 
PDF
What is Reactive programming?
Kevin Webber
 
PDF
Software Architecture for Cloud Infrastructure
Tapio Rautonen
 
PPTX
10th Manila MuleSoft Meetup Aug 2021
Ryan Anthony Andal
 
PPTX
Cassandra Lunch #88: Cadence
Anant Corporation
 
PDF
The Event Mesh: real-time, event-driven, responsive APIs and beyond
Solace
 
PPTX
Event Driven Software Architecture Pattern
jeetendra mandal
 
PPTX
Event Driven Architecture
Sistek Yazılım
 
PDF
Concurrency (Fisher Syer S2GX 2010)
Dave Syer
 
PPTX
Enterprise Application Architectures by Dr. Indika Kumara
Thejan Wijesinghe
 
Seda(staged event driven architecture)
Ramanjaneyulu Chennupati
 
Thread Management In Mule
VenkataNaveen Kumar
 
Using seda in mule
Anirban Sen Chowdhary
 
Mule threading profile & processing strategy
chetan singhal
 
Decision CAMP 2014 - Mariano de Maio
Decision CAMP
 
Seda与Java并行编程点滴
Benjamin Tan
 
TechDays 2010 Portugal - Event Driven Architectures - 16x9
Nuno Godinho
 
Sharing Digital Transformation Experiences using the Event Mesh - Real Time, ...
Phil Scanlon
 
Modern software architectures - PHP UK Conference 2015
Ricard Clau
 
SOA Pattern Event Driven Messaging
WSO2
 
An eventful tour from enterprise integration to serverless and functions
Christian Posta
 
What is Reactive programming?
Kevin Webber
 
Software Architecture for Cloud Infrastructure
Tapio Rautonen
 
10th Manila MuleSoft Meetup Aug 2021
Ryan Anthony Andal
 
Cassandra Lunch #88: Cadence
Anant Corporation
 
The Event Mesh: real-time, event-driven, responsive APIs and beyond
Solace
 
Event Driven Software Architecture Pattern
jeetendra mandal
 
Event Driven Architecture
Sistek Yazılım
 
Concurrency (Fisher Syer S2GX 2010)
Dave Syer
 
Enterprise Application Architectures by Dr. Indika Kumara
Thejan Wijesinghe
 

More from bdemchak (20)

PPTX
Cytoscape Network Visualization and Analysis
bdemchak
 
PDF
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
bdemchak
 
PDF
Cytoscape Cyberinfrastructure
bdemchak
 
PDF
No More Silos! Cytoscape CI Enables Interoperability
bdemchak
 
PPTX
Cytoscape CI Chapter 2
bdemchak
 
PPT
Composable Chat Introduction
bdemchak
 
PPT
Rich Services: Composable chat
bdemchak
 
PPT
Ucsd tum workshop bd
bdemchak
 
PPT
Rich Feeds for RESCUE and PALMS
bdemchak
 
PPT
Iscram 2008 presentation
bdemchak
 
PPT
Rich feeds policy, the cloud, and CAP
bdemchak
 
PPT
Rich services to the Rescue
bdemchak
 
PPTX
Hicss 2012 presentation
bdemchak
 
PPTX
Policy 2012 presentation
bdemchak
 
PPT
Rich feeds for rescue an integration story
bdemchak
 
PPT
Background scenario drivers and critical issues with a focus on technology ...
bdemchak
 
PPT
Rich feeds for rescue, palms cyberinfrastructure integration stories
bdemchak
 
PPT
Data quality and uncertainty visualization
bdemchak
 
PPTX
Web programming in clojure
bdemchak
 
PPTX
Structure and interpretation of computer programs modularity, objects, and ...
bdemchak
 
Cytoscape Network Visualization and Analysis
bdemchak
 
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
bdemchak
 
Cytoscape Cyberinfrastructure
bdemchak
 
No More Silos! Cytoscape CI Enables Interoperability
bdemchak
 
Cytoscape CI Chapter 2
bdemchak
 
Composable Chat Introduction
bdemchak
 
Rich Services: Composable chat
bdemchak
 
Ucsd tum workshop bd
bdemchak
 
Rich Feeds for RESCUE and PALMS
bdemchak
 
Iscram 2008 presentation
bdemchak
 
Rich feeds policy, the cloud, and CAP
bdemchak
 
Rich services to the Rescue
bdemchak
 
Hicss 2012 presentation
bdemchak
 
Policy 2012 presentation
bdemchak
 
Rich feeds for rescue an integration story
bdemchak
 
Background scenario drivers and critical issues with a focus on technology ...
bdemchak
 
Rich feeds for rescue, palms cyberinfrastructure integration stories
bdemchak
 
Data quality and uncertainty visualization
bdemchak
 
Web programming in clojure
bdemchak
 
Structure and interpretation of computer programs modularity, objects, and ...
bdemchak
 

Recently uploaded (20)

PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PPTX
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
PPTX
Presentation about variables and constant.pptx
kr2589474
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PDF
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
PPTX
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
PPTX
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
PDF
Bandai Playdia The Book - David Glotz
BluePanther6
 
PDF
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
PDF
Exploring AI Agents in Process Industries
amoreira6
 
PDF
Summary Of Odoo 18.1 to 18.4 : The Way For Odoo 19
CandidRoot Solutions Private Limited
 
PDF
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
PDF
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
PPTX
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
PDF
What to consider before purchasing Microsoft 365 Business Premium_PDF.pdf
Q-Advise
 
PDF
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
PPTX
Presentation about variables and constant.pptx
safalsingh810
 
PDF
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
PPTX
Presentation about Database and Database Administrator
abhishekchauhan86963
 
PDF
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
Presentation about variables and constant.pptx
kr2589474
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
Bandai Playdia The Book - David Glotz
BluePanther6
 
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
Exploring AI Agents in Process Industries
amoreira6
 
Summary Of Odoo 18.1 to 18.4 : The Way For Odoo 19
CandidRoot Solutions Private Limited
 
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
What to consider before purchasing Microsoft 365 Business Premium_PDF.pdf
Q-Advise
 
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
Presentation about variables and constant.pptx
safalsingh810
 
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
Presentation about Database and Database Administrator
abhishekchauhan86963
 
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 

Seda an architecture for well-conditioned scalable internet services

Editor's Notes

  • #3: Internet hits translate to several I/O and network requests -> enormous load on underlying resources As of 2001: Yahoo gets 1.2 billion hits per day, AOL gets over 10 billion page views per day
  • #5: SEDA = Staged Event-Driven Architecture
  • #6: Static -> dynamic: Extensive computation and I/O Changing service logic: increasing engineering complexity and deployment General purpose platforms: Not specially engineered platforms
  • #7: Replication – cannot scale to orders of magnitude Traditional OS and concurrency – brittle under large loads Traditional OS focuses on giving providing transparency through virtual machines. Thread switching has high overhead, threads have large memory overhead. Internet applications need massive concurrency and better control over resource usage … better control makes a big difference at the margin of excessive load.
  • #8: Stages are robust building blocks subject to thresholding and filtering according to load Allows informed scheduling and resource-management decisions, including request reordering, filtering, and aggregation. Dynamic resource throttling allows control over resource allocation and scheduling of components Demonstration: High performance HTTP server (… remember CSE222a?? … multiple threads vs Select statement?)
  • #9: Well-conditioned: output latency is determined by the length of the queue/pipeline This property holds regardless of the number of stages in the pipeline, subject to queueing/dequeing times In a non-pipelined design, clients wait for entire operation to complete before moving on to next one.
  • #12: Overheads: cache and TLB misses, scheduling overhead, and lock contention Threads = multiprogramming … virtualization hides global resource management SPIN, Exokernel, Nemesis = examples of OS attempts to solve this
  • #13: Apache, IIS, Netscape Enterprise Server, BEA Weblogic, IBM WebSphere Bad case: cached static pages (cheap) vs large pages not in cache (expensive)
  • #14: Flash, thttpd, Zeus, JAWS Complex scheduler … hard to maintain … complex FSM maintenance, too … modularity difficult to achieve Needs helper threads that do blocked I/O Has well-conditioned, graceful degradation --
  • #16: Sets of event queues … promote modularity Seems to be a generic class of solutions
  • #17: Support massive concurrency = event-driven execution where possible Simplify construction of well-conditioned services = shields the application from details of scheduling and resource management … supports modular construction, support for debugging and profiling Enable introspection = applications analyze the stream to adapt behavior to load … prioritize and filter services to support degraded service under load Support self-tuning resource management = tune resource parameters to load … e.g., allocate threads to a stage based on load instead of hard-coding it apriori
  • #18: Threads pull events from queue, schedule events on downstream queues, and waits for more Controller adjusts resource allocation and scheduler dynamically Note that threads are stage resources, not task resources. Thread count can be dynamically allocated based on load. Stages can run in serial or parallel, or both. Event handler can implement its own scheduling policy irrespective of how the system filled the queue
  • #19: Set of stages separated by queues Private thread pool per stage Each state can be independently managed Stages can be run in serial or parallel Each stage can be independently load conditioned … more threads for heavy loads (thresholding) Important point: queues can be finite, which means that a stage can fail to queue an event … meaning next stage is very busy. Stage can make a decision to block (backpressure), or drop event (load shedding) and take some remedial action Question: should two modules communicate via method call or queue? A queue system promotes modularity, isolation, and load management … cost: latency Important point: debugging, billing, memory usage, and queue profiling can occur by attaching processors between stages and queues
  • #21: Thread pool controller Adjusts the number of threads executing within each stage Periodically examines queue and adds threads if queue exceeds some threshold … or removes them if they’re idle for some amount of time Batching controller Adjusts the number of events processed by each invocation of the event handler (i.e., a batching factor) This increases throughput due to cache locality Tries to strike a balance … large batching factors can degrade *overall* performance … so try to select a small batching factor … kind of like a PLL *** Controllers are a great way of enforcing performance policy ***
  • #22: This is for the Haboob web server Thread pool adjusted based on length of corresponding queue Queue length sampled every 2 seconds, thread added to pool if queue exceeded 100 entries … max 20 threads Threads are removed from the pool idle for more than 5 seconds AsyncFile used a threshold of 10 queue entries to exaggerate the behavior
  • #23: Shows single stage generating events at an oscillating rate When the output rate increases, controller decreases batching factor … and visa versa *** The point: controllers allow application to adapt to changing conditions regardless of the particular algorithms used by the operating system … or the application ***
  • #25: They’re eating their own dog food. Completed I/O goes back into the next stage’s queue
  • #26: Clients issue bursts of 8KB packets Server responds with ACK for every 1000 packets Assume GB ethernet and all Linux boxes Slight degradation for SEDA is due to non-scalability in Linux network stack Threaded implementation stops at 512 connections due to Linux thread limitations SEDA implementation had 120 threads to handle socket writes.
  • #29: Apache and Flash often perform faster, but the tails are fierce. Haboob gives consistent response time under load
  • #31: Highly Scalable!