GridASPの機能

産総研グリッド研究センター[2]では、経済産業省主導のビジネスグリッドコンピューティングプロジェクトの一環として、GridASPビジネスモデルを実現するためのソフトウェアを開発している。

このシステムでは、ポータル事業者(SP)が運営するポータルがGridASPの中核となり、エンドユーザおよび各事業者の管理者がポータルを介して様々なやり取りを実現している(図2 GridASPの中核を成すポータルシステム)。

GridASPでは、エンドユーザがポータルにアクセスして、APが提供するアプリケーションを、RPが提供する計算機リソース上で実行することができる。これを実現するためには、AP管理者がアプリケーションを提供するインタフェース、RP管理者がアプリケーションを自分の計算機に配備するインタフェース、エンドユーザがアプリケーションと入力データを指定してジョブを投入するインタフェースなどが必要であり、ポータルシステムを構築するためのコンポーネント群として実装している。以下、GridASPを実現するソフトウェアの各機能コンポーネントについて述べる。

計算機資源

RPの計算機環境は、複数の計算ノードが一つの管理ノードにより管理・制御されていると想定する。典型的には、PCクラスタがこれにあたり、LSF [3]、Open PBS[4]、SGE[5]などのキューイングシステムが管理ノードにインストールされ、計算ノードへのジョブ実行を管理している。ポータルからは、管理ノードのキューイングシステムへジョブを遠隔から投入することになる。

GridASPではポータル(SP)と計算機資源(RP)との間の連携にグリッドミドルウェアのデファクト標準であるGlobus Toolkit 4.0(GT4)[6]を採用している。GT4の一つのコンポーネントにMMJFS(Master Managed Job Factory Service)と呼ばれる遠隔からのコマンド実行サービスがある。エンドユーザが指定したジョブをポータルがMMJFSに合わせたフォーマットに変換してRPの管理ノードに投入する形となる。

セキュアジョブ実行機能

GridASPでは、エンドユーザの振る舞いの多くを事業者から隠蔽することができる。ポータル事業者(SP)はエンドユーザが誰であるかを認識する必要があるが、リソース提供者(RP)は認識の必要がない。一方、リソース提供者(RP)は何を計算するか知る必要があるが、ポータル事業者(SP)は知る必要がない。従って、「誰」が「何」をの両方を知る事業者をなくすことができる(図3)。

通常グリッドのポータル環境では、公開鍵暗号とX.509証明書を用いたGSI(Grid Security Infrastructure)と呼ばれる方法によってユーザ認証が行われる。ユーザを認証したポータルシステムはリモートの計算機にジョブを投入するために、Proxy証明書と呼ばれる一時的なユーザ証明書のコピーを作成し、ユーザが誰であるかを伝えている。計算機側では、登録済みのユーザアカウントと渡されたユーザ証明書を照らし合わせ、利用が認可されているかどうかを判別する。GSIを利用することによって、登録されていないユーザが計算機を勝手に利用できない仕組みが実現されている。

GridASPのポータルシステムでも、GSIを用いることで計算機の不正利用を防止している。ただし、GridASPでは、ユーザが誰であるかを RPに特定させないため、Proxy証明書を作成する際に、実際のエンドユーザではなく、匿名のユーザ名を用いている。RPでは、計算機に登録済みの匿名アカウントに対応付けし、ジョブの実行を行う。Proxy証明書の中には、SPが発行したものであることが示されているので、RPはSPを信用してジョブを実行することができる。

一方、アプリケーションの入力ファイルには、企業が機密とする情報が含まれる場合がある。製造業における新製品の設計データ、例えば、薬物候補分子、新しい自動車のデザインなどがそれにあたる。企業ではそのようなデータが外部に漏れる可能性を抑えたい。GridASPでは、エンドユーザとRPの間で暗号鍵を共有し、SPから隠蔽している。共通鍵はポータルとは独立のサーバで生成され、それぞれの公開鍵で暗号化された状態でポータルを通ってエンドユーザとRPに配布される。エンドユーザがアプリケーションへの入力ファイルを手元のマシンからポータルへアップロードする際に、入力ファイルは自動的に暗号化され、ポータルのファイルシステムに置かれる。RPへのジョブの投入と同時に暗号化されたファイルもRPへ転送され、RPへ届いた後に共通鍵で復号化される。アプリケーションの実行後、出力された結果ファイルについても同様にRPで暗号化され、ポータルを介してエンドユーザにダウンロードされる際に、自動的に複合化される。

RPに対する匿名ユーザ名の利用とSPに対する入力ファイルの暗号化により、「誰」が「何」をの両方を知る事業者をなくすことが可能となった。

アプリケーション配備機能

アプリケーション配備機能は、APが所有するアプリケーションをRPの計算機システムに配備し、アプリケーションをいつでも実行可能な状態にする機能である。

一般の計算機システムへのアプリケーションインストールは、容易な場合は計算機の管理者が必要なファイルを取得して実施する。インストールが複雑で困難な場合はアプリケーションベンダーが計算機管理者の監視のもと実施する。

しかし、GridASPでは、計算機資源は仮想化されていることを前提にしているため、アプリケーションは必要に応じて配備できることが望ましい。そこで、APがアプリケーションをインストールするためのスクリプトを事前に用意し、配備が必要となった時点でRPがスクリプトの実行を行うという方法をとっている(図4)。アプリケーション配備機能を以下の四つのサブ機能から構成している。

アプリケーション登録・変更・削除機能

APが所有するアプリケーションをパッケージ化し、ポータルに登録・変更・削除する機能。アプリケーションのパッケージは、本体であるバイナリファイルのほか、アプリケーションの説明、ジョブ投入時のインタフェース、インストール・アンインストール・テスト実行用のスクリプトなどを含んでいる。

リソース登録・変更・削除機能

RPが所有する計算機リソースのスペック情報をポータルに登録・変更・削除する機能。

アプリケーション配備・配備解除の指示、および完了報告機能

APとRPの間でアプリケーションの配備および配備解除に関して、要請と完了報告を行うための機能。APはポータル上に登録されたRPのリソースの中からアプリケーションの実行に適したものを選択し、RPに対してアプリケーションの配備を要請する。RPはAPからの要請を受け、次に示すサブ機能である配備実行機能を使って配備を行った後に、このサブ機能によって配備が完了したことをAPに報告する。配備解除も同様である。

アプリケーション配備・配備解除の実行機能

RPがリソースにアプリケーションを配備(解除)するための機能であり、APが用意した(アン)インストールスクリプトの実行をポータルからリモートで実施する。

シナリオ編集機能

エンドユーザの業務の多くは、単一のアプリケーションを実行するだけの場合より、いくつかのアプリケーションを連続実行させたり並列実行させたりする場合が多い。例えば、自動車の設計では、メッシュ生成、構造解析、流体解析、衝突解析、結果の可視化などを必要に応じて実施する。また、熱流体解析と構造解析など複数のアプリケーションを連成実行するニーズもある。その他、設計のパラメータを複数の場合で計算し、最適な解を得る場合にも並列実行は有効である。

そのようなニーズに応えるため、GridASPではシナリオ編集機能を提供している。ここでシナリオとはアプリケーションのワークフローを意味する。登録済みのアプリケーションを選択し、連続的な実行や並列的な実行をGUIにより指定する方法を提供している(図5)。作成したシナリオはテンプレートとして保存でき、パラメータを変えて実行するなど再利用が可能である。


  1. はじめに

  2. GridASPの概要

  3. GridASPの機能
  4. GridASPを用いた大規模シミュレーション

  5. 今後の予定

GridASP.ja JP/Functions (last edited 2006-09-20 06:41:25 by HirotakaOgawa)