前回は,マネジメント層向けにグリッドを直感的に分かりやすく説明するという課題に挑戦してみた。今回は,もう少し具体的な中身に入って考えてみることとしよう。

 グリッド・コンピューティングの厳密な定義は人により異なる。それゆえ,「このシステムはグリッドではなく,クラスタだ」などという議論が起きてしまうわけである。グリッドの権威ある定義としては,グリッド向けのツールキットをオープン・ソース・プロセスで開発しているGlobusプロジェクト(http://www.globus.org/)のアウトプットが参考になるだろう。Globusには,米IBMや米Microsoftなどが投資しており,そのツールキットは多くのグリッドの実装で使用されている。

◆グリッド・コンピューティング=分散サービス・コンピューティング

 Globusのグリッド基盤に関するドキュメントを見ると,その内容はCOM[用語解説] やCORBA[用語解説] などの従来からある分散オブジェクト・コンピューティング・アーキテクチャに類似していることが分かる。つまり,遠隔地にあるソフトウエア・コンポーネントの定義,ネーミング,発見,呼び出し,セキュリティ認証などに関するプロトコルとAPIが定義されている。

 一言で言えば,グリッドとは「分散サービス・コンピューティング」なのである。ここでサービスとは,あらかじめ定められたインタフェースで呼び出し可能なソフトウエア部品と考えれば良い。

 では,分散サービスと分散オブジェクトの違いはどこにあるのだろうか? 一般に,サービスはオブジェクトよりも粒度が粗い,また,サービスはソフトウエア機能の部品化と抽象化のみをサポートしており,オブジェクトにおけるクラスや継承(インヘリタンス)をサポートしていなくてもよいなど,技術的な面での相違はある。しかし,現実には,両用語は,少なくともビジネス向けITの世界では相当ルーズに使われており,本来サービスと呼ぶべきものをオブジェクトと呼んでしまっていることも多い。

 いずれにせよ,グリッド・コンピューティングの基本は,過去から数多く提唱されてきた分散コンピューティング・アーキテクチャと大きく変わることはないのである。グリッドならではという点は,インターネット環境で必須となるスケーラビリティ,セキュリティ,ダイナミック性,異機種混在性のサポートが強化されている点である。

◆実は表裏一体のWebサービスとグリッド

 上記の「サービス」という言葉の意味は,まさに,Webサービスの「サービス」と同じである。実は,Webサービスとグリッドは極めて近いテクノロジであり,Webサービスの重要な応用のひとつがグリッド・コンピューティングであると言っても良いだろう。

 実際,Globusプロジェクトにおいても,OGSA(Open Grid Services Architecture)という次世代アーキテクチャとしてグリッドとWebサービスの融合が図られている。具体的には,Webサービスの重要な標準とみなされているWSDL(Web Service Definition Language)[用語解説] が,グリッドのサービスを定義するために使用されている。WSDLは,Webサービスのインタフェースを定義するための仕様であり,COMやCORBAの世界ではIDL(Interface Definition Language)[用語解説] と呼ばれているものに相当する。

◆具体的なアプリケーションは?

 今までの議論はグリッドの基盤の話であった。当然ながらその基盤の上でどのようなアプリケーションを実現できるかが重要である。

 もっともストレートな適用領域は,もともと並列性が高い大規模な科学技術計算である。計算処理を複数のタスクに分割し,多くのコンピュータで並列的に実行することで全体的な処理性能を向上することが容易にできるからである。SETI@Homeなどで見られる大量データのパターン・マッチング処理も,並列化が比較的容易という点では同様である。

 また,コラボレーション系のアプリケーション,つまり,共用データに対して地理的に分散した複数のユーザーが同時並行的に作業をする形態,たとえば,コンカレント・エンジニアリングや遠隔医療などもグリッドの自然な応用として考えられるし,この分野の研究も進んでいるようだ。

 しかし,その一方で,よりデータ中心型であり複雑性も高い(つまり,並列性が出しにくい)エンタープライズ・コンピューティング(ここでは,トランザクション処理やデータウエアハウスなどのことを言っている)において,グリッドがどの程度適用可能になるかは議論の余地がある。この問題こそが,前回述べたガートナーのハイプ曲線上での科学技術計算向けグリッドとビジネス向けグリッドの位置の違いとして出てくるわけである。

 今現在,グリッドのエンタープライズ・コンピューティングへの適用について,IT業界では明らかに過大評価があると思える。次回は,この問題についてもう少し追及してみることとしよう。