2009年6月18日木曜日

SEDA: ソフトウェアシステムのスケーラビリティ実現手法

SEDA (Staged Event Driven Architecture) : タイムシェアリングによるスレッドベース、プロセスベースの並行処理により大量クライアントからのロードを処理するには、限界がある。スレッド方式は、スレッドハンドリングのオーバヘッドが高い。イベントドリブンの並行性を実現するには、単一スレッドが有限状態機械を自前で制御する必要がある。

 上記の論文で提案しているSEDA とは、ソフトウェアをステージに分け、各ステージはキューによって、リクエストを投入。各ステージにはスレッドプールが存在し、その中のスレッドが処理。筆者らは、SEDA ベースの Web サーバー Haboob を実装。Apache Web Server と Flash Web Server と比較し、10%の性能向上を達成。

0 件のコメント:

コメントを投稿