Last-modified: 2003-12-03 (水) 07:21:42 (7443d)
2003.11.04

 ここ数ヶ月、IT業界では「グリッド」がトレンドになっている。プロジェクトに参加して得た知識を元に、グリッドに関してまとめてみた。

 

グリッドとは

 グリッドコンピューティングとは、ネットワークで接続された多数のコンピュータの資源を総合することで、大規模な処理能力を実現するためのアーキテクチャである。「グリッド」という言葉は「高圧線送電網(power grid)」からきており、物理的に分散したコンピュータを組み合わせることで、その処理能力を、あたかも電気のようにソースを気にせず使いたい分だけ使いたいという発想からきている。

グリッドの分類

 一口にグリッドと言っても、その目的や利用法によって様々である。下図にその分類の一例を示した。

grid02.png
figure. グリッドの分類

 まず大きく、特定のシステムを意識して連携させサービスを構築する本来のグリッドシステムと、使われていないリソースを有効活用するためにグリッド技術が用いられる場合の2種類に分けられる。本来のグリッドもその目的によって数種に分けられるが、発展するにつれてその境界は曖昧になっていくと思われる。

グリッドとクラスタの差異

 水平方向のスケーラビリティによってHPC(High Performance Computing)を実現する仕組みとしてはクラスタも同様である。では、グリッドとクラスタの差異は何であろうか?
 その答えは、グリッドのメインコンセプトである「異機種分散」にある。クラスタは同一の機種で、物理的に近傍に配置し、完全にパフォーマンスだけを第一に考えて利用される。グリッドは、至るところに分散している様々な機種のマシンを統合・仮想化するところにその第一義がある

grid05.png
figure. グリッドとクラスタ

 超大規模システムにおいては、「各組織が組織内にもつクラスタシステムやスーパーコンピュータを、グリッド技術を用いて、インターネット上で統合・仮想化する」という使い分けになるであろう。つまり、インターネットにはグリッドを、イントラネットにはクラスタを適応することになる。

グリッドを用いた事例

 ここ2,3年、グリッドを用いた事例が急増している。代表的なものでは

大手ベンダーのグリッド対応

 大手のベンダーも、他社に先んじようと積極的に動き出している。ビジネスへの適応は既に始まっているのだ。以下に代表を挙げよう。

IBM WebSphere Application Server 5.0.2DB2 Information Integratorがグリッド対応を謳っている。また、同社はオープンソースの開発コミュニティであるGlobus Projectとの共同作業を進行しており、グリッドコンピューティングの標準案であるOGSA(Open Grid Service Architecture)の策定を行った。
Sun Microsystems 2000年にGridwareを買収し、Sun ONE Grid Engineで本格的にグリッド市場に参入した。同社のグリッドの事例は、すでに5000社に達している。次世代のグリッド構想として「N1」を打ち出している。
Oracle アプリケーション、ストレージ、データベースという3つのレイヤーでグリッドに対応した10gというバージョンをリリースした。
Microsoft オープンソースプロジェクトに疎遠な同社でさえも、Globus Projectへの投資を行っている。

GGFとは

 ベンダーの動きと並行して、オープンコミュニティによる標準化の動きもある。
 GGF(Global Grid Forum)とは、グリッド・コンピューティングの標準化国際団体である。2000年11月に設立し、全体会議は年3回行われている。OGSA(Open Grid Services Architecure)によるグリッドアーキテクチャの標準化を推進している。第7回の会議は、2003年3月、日本で行われた

 日本におけるグリッドコンピューティングにおける取り組みは、産総研や各ベンダの技術者から構成されるグリッド協議会を中心に活動している。

OGSAとは

 グリッドは「異機種分散」を目的とする。しかし、従来のグリッドシステムでは、機能毎に様々な下位プロトコルを利用していることが、異機種分散コンピューティングの妨げであった。
 OGSAは、Webサービスの各種仕様とその実装を活用して、分散コンピューティングを実現しようとするアーキテクチャである。グリッドの下位インフラを全てWebサービスとすることで、様々なプラットフォームが容易に接続・切断できるというWebサービスのメリットをグリッドにも生かそうとしている
 また、Webサービス関連の仕様や実装、スキルをもった技術者は、既に、各所で進化・発展を続けている。OGSAはそれらの成果や資産を、そのままグリッドコンピューティングの世界に横展開しようというのである。

 OGSAを実現する仕様としてOGSI(Open Grid Services Infrastructure)が策定されている。これはWebサービスを拡張したものだ。OGSI仕様に沿ったWebサービスは「グリッドサービス」と呼ばれる。

グリッドサービスとWebサービスの差異

 では、グリッドサービスとWebサービスの違いは何だろうか?
 一言で言うと「WebサービスはRPCでしかないが、グリッドサービスは分散オブジェクトを実現する」ということである。

grid03.png

 WebサービスのデファクトといってよいSOAP1.2には、セッション管理のための仕様が含まれていない。そのため、複数のリクエスト間でサービスの状態を共有することは実現しにくい。結果、WebサービスはRPCの代替として設計され、Webサービスを用いたシステムのモデリングは、サービス指向の範疇に留まらざるを得ない。

grid04.png
figure. グリッドサービス

 グリッドサービスは、一般のローカルオブジェクトと同じように、サービスオブジェクトのインスタンスを作成し、そのインスタンスに対してリクエストするという形をとる。インスタンスには当然インスタンス変数が保持できる。更に、一般のオブジェクトと同じように、(1)インスタンス生成(2)活性期間(3)インスタンスの破棄というライフサイクルをとる。つまり、ローカルオブジェクトと同じように、オブジェクト指向設計の中に組み込んでしまえるのである。

 ただ、インスタンスの破棄のタイミングには注意が必要である。ローカルなインスタンスはガーベジコレクタによって破棄されるのが一般的だが、グリッドサービスでは"ライフタイム"というサービス生存期間を設定できるようにすることにより、インスタンスの破棄を実現している。両者の動作タイミングは異なる。

Globus Toolkit 3(GT3)について

 さて、上記のような仕様の策定を受けて、その実装を提供しているのがThe Globus Allianceという団体である。The Globus Allianceは、Globus Toolkitというオープンソースのグリッド実装を提供していたが、そのVersion 3でOGSIに対応し、リファレンス実装の地位を得ている。
 2003年11月現在、Globus Toolkit最新バージョンは3.0.2であるが、今回の******実証実験では、3.0.1というバージョンを用いた。両バージョンの相違はセキュリティ対策とバグフィックスであり、機能的に大きな違いはないと言ってよい。

今後のグリッドの進化

 最後に、今後のグリッド技術の展望を述べたい。
 数年前までグリッド技術とは、多量の計算資源を集約・連携させた「仮想高速演算スーパーコンピュータ」のことを意味していたが、現在では「ユーティリティコンピューティングの基盤技術」として期待されている。
 そこへ辿り付くまでのマイルストーンが、下図になる

grid01.png
figure. グリッドの進化

 現在主流となっているグリッドはプロセシングの部類に入るものだが、今後エンタープライズな分野に浸透していくにつれて、データグリッド、次世代のフォールトレランスシステム、そしてオンデマンドへと進化していくであろう。これを踏まえて今回の******実証実験ではデータグリッドの扉を叩いたわけである。

 Globus Toolkitは、グリッドの基盤として、多くの実システムに適応できるポテンシャルを持っている。GT3上で動作し、特定の目的にカスタマイズされたフレームワークも出てきている。
 今、我々ソリューションプロバイダは、ユーザのニーズを解決する手段の1つとして、グリッド技術を準備しておくべきであろう。

 
 

[あとがき]
 この文章を第一章にして、「第二章 GT3のインストール」「第三章 グリッドサービスの開発とセキュリティ設定」と書き綴ろうと思っていましたが、力尽きました。折を見て、提供できたらと思います。

  • 今回のプロジェクトのような「ProcessGridとDataGridの融合」というパターンは、データマイニングのような分野で必要になってくるかもしれませんね。 -- じょもら? 2003-12-02 (火) 13:20:04

添付ファイル: filegrid05.png 2234件 [詳細] filegrid04.png 2246件 [詳細] filegrid03.png 2200件 [詳細] filegrid02.png 2223件 [詳細] filegrid01.png 2180件 [詳細]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS