SlideShare a Scribd company logo
1 of 5
SEDA
Staged Event Driven Architecture
Abstract
• 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.
Staged Event Driven Architecture
• The fundamental unit of processing within SEDA is the stage.
• A stage is a self-contained application component consisting of an event
handler, an incoming event queue, and a thread pool.
• Each stage is managed by a controller that affects scheduling and thread
allocation.
• Stage threads operate by pulling a batch of events off of the incoming event
queue and invoking the application-supplied event handler
Contd..
• Support massive concurrency: To avoid performance degradation due to
threads, SEDA makes use of event-driven execution wherever possible. This
also requires that the system provide efficient and scalable I/O primitives.
• Simplify the construction of well-conditioned services: To reduce the
complexity of building Internet services, SEDA shields application
programmers from many of the details of scheduling and resource
management. The design also supports modular construction of these
applications, and provides support for debugging and performance profiling.
Primary Goals of SEDA
• Enable introspection: Applications should be able to analyze the request stream to
adapt behavior to changing load conditions. For example, the system should be able
to prioritize and filter requests to support degraded service under heavy load
• Support self-tuning resource management: Rather than mandate a priori
knowledge of application resource requirements and client load characteristics, the
system should adjust its resource management parameters dynamically to meet
performance targets. For example, the number of threads allocated to a stage can be
determined automatically based on perceived concurrency demands, rather than
hard-coded by the programmer or administrator

More Related Content

What's hot

Database as a Service for Private Clouds
Database as a Service for Private CloudsDatabase as a Service for Private Clouds
Database as a Service for Private Cloudsmerbey
 
SQL Server 2008 R2 - Implementing High Availabilitty
SQL Server 2008 R2 - Implementing High AvailabilittySQL Server 2008 R2 - Implementing High Availabilitty
SQL Server 2008 R2 - Implementing High AvailabilittyRishu Mehra
 
SACME power point presentation
SACME power point presentationSACME power point presentation
SACME power point presentationJoshua Wagner
 
CloudPilot Application Migration Tools Datasheet - CloudOrigin®
CloudPilot Application Migration Tools Datasheet - CloudOrigin®CloudPilot Application Migration Tools Datasheet - CloudOrigin®
CloudPilot Application Migration Tools Datasheet - CloudOrigin®UnifyCloud
 
Dynamics CRM Performance map
Dynamics CRM Performance mapDynamics CRM Performance map
Dynamics CRM Performance mapKristian Svantorp
 
Architecture Concepts
Architecture ConceptsArchitecture Concepts
Architecture ConceptsPratip Mallik
 
HIA Case Manager
HIA Case ManagerHIA Case Manager
HIA Case ManagerFoundations
 
Datawarehouse and reporting in service manager
Datawarehouse and reporting in service manager Datawarehouse and reporting in service manager
Datawarehouse and reporting in service manager Eduardo Castro
 

What's hot (9)

Database as a Service for Private Clouds
Database as a Service for Private CloudsDatabase as a Service for Private Clouds
Database as a Service for Private Clouds
 
KARPAGAM
KARPAGAMKARPAGAM
KARPAGAM
 
SQL Server 2008 R2 - Implementing High Availabilitty
SQL Server 2008 R2 - Implementing High AvailabilittySQL Server 2008 R2 - Implementing High Availabilitty
SQL Server 2008 R2 - Implementing High Availabilitty
 
SACME power point presentation
SACME power point presentationSACME power point presentation
SACME power point presentation
 
CloudPilot Application Migration Tools Datasheet - CloudOrigin®
CloudPilot Application Migration Tools Datasheet - CloudOrigin®CloudPilot Application Migration Tools Datasheet - CloudOrigin®
CloudPilot Application Migration Tools Datasheet - CloudOrigin®
 
Dynamics CRM Performance map
Dynamics CRM Performance mapDynamics CRM Performance map
Dynamics CRM Performance map
 
Architecture Concepts
Architecture ConceptsArchitecture Concepts
Architecture Concepts
 
HIA Case Manager
HIA Case ManagerHIA Case Manager
HIA Case Manager
 
Datawarehouse and reporting in service manager
Datawarehouse and reporting in service manager Datawarehouse and reporting in service manager
Datawarehouse and reporting in service manager
 

Similar to SEDA Architecture for Massive Concurrency

Serverless Architecture Optimizing Scalability and Cost Efficiency in Cloud T...
Serverless Architecture Optimizing Scalability and Cost Efficiency in Cloud T...Serverless Architecture Optimizing Scalability and Cost Efficiency in Cloud T...
Serverless Architecture Optimizing Scalability and Cost Efficiency in Cloud T...Skillmine
 
Transforming Legacy Applications Into Dynamically Scalable Web Services
Transforming Legacy Applications Into Dynamically Scalable Web ServicesTransforming Legacy Applications Into Dynamically Scalable Web Services
Transforming Legacy Applications Into Dynamically Scalable Web ServicesAdam Takvam
 
Odbc and data access objects
Odbc and data access objectsOdbc and data access objects
Odbc and data access objectsSangeetha Sg
 
Cloud application services (saa s) – multi tenant data architecture
Cloud application services (saa s) – multi tenant data architectureCloud application services (saa s) – multi tenant data architecture
Cloud application services (saa s) – multi tenant data architectureJohnny Le
 
AppViewX|Case study - Largest US telecommunication company builds agile adc i...
AppViewX|Case study - Largest US telecommunication company builds agile adc i...AppViewX|Case study - Largest US telecommunication company builds agile adc i...
AppViewX|Case study - Largest US telecommunication company builds agile adc i...AppViewX
 
Enterprise java unit-1_chapter-2
Enterprise java unit-1_chapter-2Enterprise java unit-1_chapter-2
Enterprise java unit-1_chapter-2sandeep54552
 
enterprisejavaunit-1chapter-2-210914075956.pdf
enterprisejavaunit-1chapter-2-210914075956.pdfenterprisejavaunit-1chapter-2-210914075956.pdf
enterprisejavaunit-1chapter-2-210914075956.pdfEidTahir
 
Client server architecture
Client server architectureClient server architecture
Client server architectureRituBhargava7
 
Enterprise Application to Infrastructure Integration - SDN Apps
Enterprise Application to Infrastructure Integration - SDN AppsEnterprise Application to Infrastructure Integration - SDN Apps
Enterprise Application to Infrastructure Integration - SDN AppsMiftakhZein1
 
DEVNET-1153 Enterprise Application to Infrastructure Integration – SDN Apps
DEVNET-1153	Enterprise Application to Infrastructure Integration – SDN AppsDEVNET-1153	Enterprise Application to Infrastructure Integration – SDN Apps
DEVNET-1153 Enterprise Application to Infrastructure Integration – SDN AppsCisco DevNet
 
Software Architecture for Cloud Infrastructure
Software Architecture for Cloud InfrastructureSoftware Architecture for Cloud Infrastructure
Software Architecture for Cloud InfrastructureTapio Rautonen
 
#ATAGTR2021 Presentation : "Performance Evaluation Strategy of multi-access e...
#ATAGTR2021 Presentation : "Performance Evaluation Strategy of multi-access e...#ATAGTR2021 Presentation : "Performance Evaluation Strategy of multi-access e...
#ATAGTR2021 Presentation : "Performance Evaluation Strategy of multi-access e...Agile Testing Alliance
 
Modern Context-Aware Data Center Design
Modern Context-Aware Data Center DesignModern Context-Aware Data Center Design
Modern Context-Aware Data Center DesignShiva DS
 
unit 5 cloud.pptx
unit 5 cloud.pptxunit 5 cloud.pptx
unit 5 cloud.pptxMrPrathapG
 
UNIT IV RESOURCE MANAGEMENT AND SECURITY
UNIT IV RESOURCE MANAGEMENT AND SECURITYUNIT IV RESOURCE MANAGEMENT AND SECURITY
UNIT IV RESOURCE MANAGEMENT AND SECURITYSheik Mohideen
 

Similar to SEDA Architecture for Massive Concurrency (20)

Serverless Architecture Optimizing Scalability and Cost Efficiency in Cloud T...
Serverless Architecture Optimizing Scalability and Cost Efficiency in Cloud T...Serverless Architecture Optimizing Scalability and Cost Efficiency in Cloud T...
Serverless Architecture Optimizing Scalability and Cost Efficiency in Cloud T...
 
Transforming Legacy Applications Into Dynamically Scalable Web Services
Transforming Legacy Applications Into Dynamically Scalable Web ServicesTransforming Legacy Applications Into Dynamically Scalable Web Services
Transforming Legacy Applications Into Dynamically Scalable Web Services
 
Odbc and data access objects
Odbc and data access objectsOdbc and data access objects
Odbc and data access objects
 
M 94 4
M 94 4M 94 4
M 94 4
 
Cloud application services (saa s) – multi tenant data architecture
Cloud application services (saa s) – multi tenant data architectureCloud application services (saa s) – multi tenant data architecture
Cloud application services (saa s) – multi tenant data architecture
 
Enterprise Cloud Transformation
Enterprise Cloud TransformationEnterprise Cloud Transformation
Enterprise Cloud Transformation
 
AppViewX|Case study - Largest US telecommunication company builds agile adc i...
AppViewX|Case study - Largest US telecommunication company builds agile adc i...AppViewX|Case study - Largest US telecommunication company builds agile adc i...
AppViewX|Case study - Largest US telecommunication company builds agile adc i...
 
Technical Architectures
Technical ArchitecturesTechnical Architectures
Technical Architectures
 
Enterprise java unit-1_chapter-2
Enterprise java unit-1_chapter-2Enterprise java unit-1_chapter-2
Enterprise java unit-1_chapter-2
 
enterprisejavaunit-1chapter-2-210914075956.pdf
enterprisejavaunit-1chapter-2-210914075956.pdfenterprisejavaunit-1chapter-2-210914075956.pdf
enterprisejavaunit-1chapter-2-210914075956.pdf
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
 
Enterprise Application to Infrastructure Integration - SDN Apps
Enterprise Application to Infrastructure Integration - SDN AppsEnterprise Application to Infrastructure Integration - SDN Apps
Enterprise Application to Infrastructure Integration - SDN Apps
 
DEVNET-1153 Enterprise Application to Infrastructure Integration – SDN Apps
DEVNET-1153	Enterprise Application to Infrastructure Integration – SDN AppsDEVNET-1153	Enterprise Application to Infrastructure Integration – SDN Apps
DEVNET-1153 Enterprise Application to Infrastructure Integration – SDN Apps
 
Software Architecture for Cloud Infrastructure
Software Architecture for Cloud InfrastructureSoftware Architecture for Cloud Infrastructure
Software Architecture for Cloud Infrastructure
 
#ATAGTR2021 Presentation : "Performance Evaluation Strategy of multi-access e...
#ATAGTR2021 Presentation : "Performance Evaluation Strategy of multi-access e...#ATAGTR2021 Presentation : "Performance Evaluation Strategy of multi-access e...
#ATAGTR2021 Presentation : "Performance Evaluation Strategy of multi-access e...
 
Modern Context-Aware Data Center Design
Modern Context-Aware Data Center DesignModern Context-Aware Data Center Design
Modern Context-Aware Data Center Design
 
Atrinet - Lifecycle Service Manager
Atrinet - Lifecycle  Service  Manager                              Atrinet - Lifecycle  Service  Manager
Atrinet - Lifecycle Service Manager
 
unit 5 cloud.pptx
unit 5 cloud.pptxunit 5 cloud.pptx
unit 5 cloud.pptx
 
UNIT IV RESOURCE MANAGEMENT AND SECURITY
UNIT IV RESOURCE MANAGEMENT AND SECURITYUNIT IV RESOURCE MANAGEMENT AND SECURITY
UNIT IV RESOURCE MANAGEMENT AND SECURITY
 
Chapter1-Introduction
Chapter1-IntroductionChapter1-Introduction
Chapter1-Introduction
 

Recently uploaded

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 

Recently uploaded (20)

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 

SEDA Architecture for Massive Concurrency

  • 2. Abstract • 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.
  • 3. Staged Event Driven Architecture • The fundamental unit of processing within SEDA is the stage. • A stage is a self-contained application component consisting of an event handler, an incoming event queue, and a thread pool. • Each stage is managed by a controller that affects scheduling and thread allocation. • Stage threads operate by pulling a batch of events off of the incoming event queue and invoking the application-supplied event handler
  • 4. Contd.. • Support massive concurrency: To avoid performance degradation due to threads, SEDA makes use of event-driven execution wherever possible. This also requires that the system provide efficient and scalable I/O primitives. • Simplify the construction of well-conditioned services: To reduce the complexity of building Internet services, SEDA shields application programmers from many of the details of scheduling and resource management. The design also supports modular construction of these applications, and provides support for debugging and performance profiling.
  • 5. Primary Goals of SEDA • Enable introspection: Applications should be able to analyze the request stream to adapt behavior to changing load conditions. For example, the system should be able to prioritize and filter requests to support degraded service under heavy load • Support self-tuning resource management: Rather than mandate a priori knowledge of application resource requirements and client load characteristics, the system should adjust its resource management parameters dynamically to meet performance targets. For example, the number of threads allocated to a stage can be determined automatically based on perceived concurrency demands, rather than hard-coded by the programmer or administrator