SEDA – Staged Event-Driven Architecture

33 %
67 %
Information about SEDA – Staged Event-Driven Architecture
Technology

Published on February 26, 2014

Author: JoongjinBae

Source: slideshare.net

Description

Lightning Talk Slide for SEDA

SEDA(staged event-driven architecture) Joongjin Bae @bae_j

本題に入る前! • ConcurrencyとParallelismの説明はここでは割愛 します。 • 二つが混乱する方(me)は下記の資料をみてくだ さい。 http://talks.golang.org/2012/waza.slide#1 • 動画 http://blog.golang.org/concurrency-is-notparallelism

ここではConcurrencyの 話をします!

Index • 既存のConcurrencyの問題点 • SEDAの問題解決

既存のConcurrency • Thread-based concurrency • Bounded thread pool • Event-driven concurrency

Thread-based concurrency

Thread-based concurrencyの問題 • Overhead発生しやすい

Bounded thread pools • Thread-based concurrencyにスレッド制限を設 けた。 – Overheadが起きないように設定する – 設定値以上のリクエストが受けないためClientの 待ち発生

Thread-basedはThroughput低下

Event-driven concurrency

Event-driven concurrency • Throughput問題解決、latency犠牲 • Schedulerの実装が難しい

Structured event queue • Event-driven concurrencyの問題解決版 • event queueのセットを利用しmodule化とアプ リケーションの簡略化を狙う

SEDAとは • Efficient, event-driven concurrency • Dynamic thread pooling • Structured queues for code modularity and load management • Self-tuning resource management • 楽ですね!

Stage

Stage • Controller – リソース(threshold, rate-control, load shedding)の管理、スケジューリン グ • Event queue – Input • Thread pool – Queueからeventを取り出しハンドラーを呼出す – Poolは小さい • Event handler – Event処理、次のステージのQueueへ挿入 • Outgoing Event – Output

Overload Management Response Time(RT) Target設定:1 sec 90%のRTを監視し負荷が上がると Token Bucket Rateを調整しEvent Queueへの挿入制御

Overload Management

Application = network of stages

Result : Throughput and Fairness

Result : Response time

Conclusion • SEDAは ThroughputとLatency両方満足できる • SEDAフレームワークはhttp server • 一応NettyもSEDAの考え方を取り入れている Highly customizable thread model - single thread, one or more thread pools such as SEDA

Reference • http://www.eecs.harvard.edu/~mdw/papers/s eda-sosp01.pdf • http://netty.io/

Add a comment

Related presentations

Related pages

Staged event-driven architecture - Wikipedia, the free ...

The staged event-driven architecture (SEDA) refers to an approach to software architecture that decomposes a complex, event-driven application into a set ...
Read more

SEDA - Architecture for Highly-Concurrent Server Applications

SEDA is an acronym for staged event-driven architecture, ... the SEDA architecture is the ... Architecture for Highly Concurrent Server ...
Read more

stage - What is SEDA (Staged Event Driven Architecture ...

Stage is analog to "Event", to simplify the idea, think SEDA as a series of events sending messages between them. One reason to use this kind of ...
Read more

What is Staged Event-Driven Architecture (SEDA)? - Quora

Is SEDA (Staged Event Driven Architecture) a good choice for uploading huge batched files?
Read more

SEDA download | SourceForge.net

Linux Description. The Staged Event-Driven Architecture (SEDA) is a framework for building scalable, high-performance Internet services that are ...
Read more

SEDA Staged Event-Driven Architecture - Computer Science ...

SEDA Staged Event-Driven Architecture Problem/Motivations: – Internet applications catering to bursty, massively concurrent demands Responsive Robust
Read more

SEDA - Staged event-driven architecture - How is Staged ...

Acronym Definition; SEDA: Staff and Educational Development Association: SEDA: Social and Economic Data Analysis: SEDA: South East Drift Association: SEDA ...
Read more

SEDA - Staged Event Driven Architecture - Abbreviations.com

What does SEDA stand for? Definition of SEDA in the Abbreviations.com acronyms and abbreviations directory.
Read more

SEDA: An Architecture for Well-Conditioned, Scalable ...

We propose a new design framework for highly concurrent server applications, which we call the staged event-driven architecture (SEDA).1 SEDA combines ...
Read more

SEDA: an architecture for well-conditioned, scalable ...

We propose a new design for highly concurrent Internet services, which we call the staged event-driven architecture (SEDA). SEDA is intended to support ...
Read more