2009年5月22日金曜日

グリッドコンピューティングとストリームコンピューティングの違い

本質的な質問とは思えないが、グリッドとストリームコンピューティングの違いをよく聞かれるので、その回答を書く。

- 世間のグリッドの定義とグリッド研究者の定義は大きく異なる
(1) 世間は、多数のコンピュータを利用すればグリッド、ぐらいにしか考えていない
(2) グリッド研究者は、異なる管理ドメインにある組織上の計算資源を利用して巨大な
計算基盤を作るのがグリッドと定義している。これを実現するには、さまざまな レベルのHeterogeneity(OS, マシンアーキテクチャ、ネットワークなどの異種性) の問題を解かなければならない
- ただ、現実的には (2) のグリッドは、必ずしも実現しているとは言えず、(1) の 理解も認める必要がある

- 上記の (1) をグリッドと定義すると、グリッドは単にバッチ型の計算となる。リアルタイム性は気にすることなく、スループットを重視する。数理モデルのシミュレーションや、モンテカルロシミュレーションによる金融のリスク計算などシミュレーションが主な対象だ。

- グリッドとストリームコンピューティングの本質的な違いは以下の通りである。
  • ディスクに格納 vs. オンメモリ上で処理: グリッドなどバッチ型計算では、基本的にはデータを一旦すべて格納する。高エネルギー加速器から放出されるイベントデータはテラバイトにも及ぶが、これらの莫大なデータを貯めるために、他拠点のストレージを透過的に統合するデータ処理基盤を提供する。一方、ストリームコンピューティングは、データの受信と同時に処理をし、必要なデータのみを受信するか、必要なデータだけをディスクに格納することによって、データの爆発に対処する。

  • スループット vs. リアルタイム性: グリッドのようなバッチ型計算機とは異なり、リアルタイム性を重視する。また、グリッドにおけるジョブとは異なり、ストリームコンピューティングでは、常時データが流れ続け、かつデータのトラフィックが時間によって増減し、システムのキャパシティを越えるようなトラフィックが流れることもある。このように Bursty な状況でもリアルタイム性を如何に確保するかが Research Challenge でもあり、これがグリッドと本質的に異なる点である。


以上

0 件のコメント:

コメントを投稿