グリッドコンピューティング | 「ステュディオス」な生活

グリッドコンピューティング

グリッドって?


グリッドとは升目、格子のことですが、コンピュータの世界で使われるグリッドはコンピュータ同士を互いに接続し、ひとつの処理を多数のコンピュータで協調して処理させる仕組み、方法、システムのことです。
グリッドコンピューティングのメリットとは安価なコンピュータを複数使ってスーパーコンピュータに匹敵するほどの処理能力を実現できるということです。実現したい計算能力が高いほど台数がたくさん必要になりますが、夜間など会社のPCはほとんど使われなくなります。そういう時間にグリッドでPC同士をつなぎ大きなサーバを用意しなくても大量のバッチ処理をこなせるシステムを作ることも可能なわけです。このような大規模な処理能力を実現するためのグリッドをとくkにプロセシンググリッドといいます。それに対して最近注目されているのはビジネスグリッドです。これは処理能力ではなくシステムの可用性や信頼性、耐障害性を高めるためのグリッドです。たくさんのマシンを使って処理すればそのうち1台が故障しても残りのマシンでその分の仕事を肩代わりして処理を続行できるということですね。データベース管理システム大手ののOracle社は最新のOracle10gでビジネスグリッド技術を取り入れ話題となりました。

SETI@home プロジェクト


私が始めてグリッドコンピューティングなる言葉を聞いたのはまだ学生の頃だと思います。カルフォルニア大学バークレー校が地球外生命を探索するための電波望遠鏡のデータを解析するために「SETI@home」というプロジェクトを始めたというニュースでした。ボランティアで参加者を募り、あるソフトをダウンロードしてインストールしてもらうことで、参加者のPCの余剰パワーを集め、膨大な未解析データを解析しましょうというものでした。まるでドラゴンボールの悟空の元気玉の「みんなの元気をオラにわけてくれ!」みたいだなぁと思ったのを思えています。
このプロジェクトは今でも続いていて、サイトを訪れるとスクリーンセーバーをダウンロードすることができます。このスクリーンセーバー、普段は何もしないけれど、しばらくPCに触らないでいるとスクリーンセーバーとして起動し、その裏でせっせとSETIのサーバからデータをダウンロードして解析しては結果を返すという活動を始めます。多分全世界的に展開するグリッドコンピューティングを具体的に実現した最初のプロジェクトだと思ういます。
残念ながら、いまだ地球外生物の存在を裏付ける証拠は見つかっていません。

PS3にも


グリッドコンピューティングはCELLコンピューティングとも呼ばれることがあります。少し違うのはグリッドがどちらかというとバッチ的な一括処理なのに対してCELLが使われるときはリアルタイム性を重視されているようです。

時々ニュースに流れ始めたPlayStation3ですが、そのCPUの名前はずばりCELLです。PS3では合計9つのコアプロセッサが互いに協調しながら処理を実行する仕組みになるようです。仕組み的にはCELLプロセッサはネットワーク上の他の場所にあるCELLプロセッサと処理を分業できるようですがそれをするためにはどのような環境が必要になるのでしょうか。

これからのグリッド


グリッドコンピューティングは通信環境が充実してきたから登場した技術だともいえます。ブロードバンドが当たり前になりつつある現状では普及に必要な環境が整ってきているといえます。普及のために必要になるのは標準化です。同じようなグリッドを使ったシステムでも具体的なコンピュータ間のやり取りの手順が違えば連携できません。そうなるとせっかくコンピュータ同士をつなぐ技術なのにある狭い範囲でしかつながらないということになります。現在Global Grid Forumを中心に標準化活動が行われています。標準化されればそれに従った製品も増え、それを学ぶ技術者も増加し普及が加速していくことでしょう。

どのような物かをより深く体感するには実際に使ってみることです。Globus Allianceではグリッドを実現するのに必要な開発キットをフリーで提供しています。このツールは基本的なグリッドの仕組みを提供するので比較的容易にシステムを開発できるでしょう。また、このツールは事実上の標準になりつつあるものでもあります。