360 likes | 509 Views
Grid Computing とは?. goo 辞書 での” grid” の翻訳結果 grid ━━ n. (鉄)格子 ; 焼き網 ; (地図・街路の)碁盤目 ; 【 電子工 】 (電子管の)グリッド ; 送電[交通,放送]網 ; (自動車レースの)スタート場所 ; 【 コンピュータ 】 (画面上の)格子 , グリッド. Grid Computing とは?. 格子、碁盤の目: 地理的に散らばっている計算機資源を、ネットワークで格子状につなげる。 送電[交通,放送]網:
E N D
Grid Computingとは? goo 辞書での”grid”の翻訳結果 • grid━━ n.(鉄)格子; 焼き網; (地図・街路の)碁盤目; 【電子工】(電子管の)グリッド; 送電[交通,放送]網; (自動車レースの)スタート場所; 【コンピュータ】(画面上の)格子, グリッド
Grid Computingとは? • 格子、碁盤の目: • 地理的に散らばっている計算機資源を、ネットワークで格子状につなげる。 • 送電[交通,放送]網: • 電気を使うさい、どこで発電され、どんな経路を辿って輸送されているか気にしないように、計算機資源も自由に、いつでもどこでも、必要なときに使う。
Grid Computingとは? • グリッド・コンピューティングとは? • 利用者の需要に必要な種類/量のリソースを世界中からその時々で集め、それらを高度に連携させて目的を果たし、その後は利用者の視界から消滅するソリューション、あるいはそのためのインフラである。 「グリッド・コンピューティングとは何か」 日本アイ・ビー・エムシステム・エンジニアリング株式会社●著より、
Grid Computingの分類 • プロセッシング・グリッド • データ・グリッド • サービス・グリッド
プロセッシング・グリッド • とは? • 演算処理を行うための資源(CPUやメモリなど)を仮想化して、共有・利用すること。 • クラスタマシンやスーパーコンピュータ同士の接続 • PC同士の接続 • その恩恵 • 一時的に膨大なコストの演算が必要なとき、他のコンピュータを借用して利用することができる。 • CPUの空き時間を利用して、膨大な計算を短時間で行うことができる。
データ・グリッド • とは? • 膨大なデータを地理的に異なった場所に分割して保存し、それらのデータを共有して利用すること。 • ファイルレベル・ブロックレベル・データベースレベルで仮想化できる。 • その恩恵 • データを必要なマシンごとに、それぞれ全て配置しなくてもすむ • データが破損・紛失しても、そのデータを保有しているマシンから入手する事ができる。
サービス・グリッド • とは? • ハードウェア・ソフトウェアの処理をサービスという形で仮想化して、共有・利用すること。 • Ex. WEBサービス • その恩恵 • あるサービスをする専用のマシンを作り、そのサービスを他のマシンが利用することで、効率化が図れる。
Grid Challengeの課題について • 問題 • 「多数のマシンに分散する画像ファイルに含まれる「物体」の総数を求めよ。 」 • 初級: 一つの物体は複数のファイルをまたがない. • 上級: 一つの物体が複数のファイルをまたぐことがありうる.
問題点1 • 問題点1: • 画像データが複数のマシンごとに分散されている。 • 各マシンが全ての画像データを扱えるわけではない。 • 課題上級では、直接扱えない画像データ(の一部)が必要。 • 妥協策: • 初級では、各マシンは使える画像データのみを扱う。 • 上級では、直接扱えない画像データは、所有しているマシンを探しだして、逐次画像データを送信してもらう。
問題点1 • 妥協策の問題点 • 初級では、マシンの計算パワーに対して、多すぎる画像データを保有している場合、そのマシンの処理がボトルネックになってしまう。 • 上級では、扱えない画像データがどこにいるのかを探し出す処理にコストがかかる。面倒な処理になるためプログラミングが困難。
問題点1 • Grid Computingを用いた解決案 • データ・グリッド技術を用いる。 • それによりあらゆる場所にある画像データも、容易に扱うことができる。 • 自分のマシン内の画像データの処理が終わったら、他のマシンの画像データを処理をすることができる。
問題点2 • 問題点2 • 個々のマシン内で数え上げた物体の総数を、全てのマシンで足し合わせないといけない。 • 上級では、隣接する画像データと比較して、境界に属する物体が一致するか調べないといけない。 • 妥協案 • Linuxのソケットを用いて、逐次必要なマシンと通信する。
問題点2 • 妥協案の問題点 • どこのマシンと通信するべきかを常に考えないといけない。 • 通信するさい、正しいユーザからの通信かを確認することができない。もしくは、通信ごとに認証技術を用いる必要があり、面倒。 • Ex.他のグリチャレ参加者からの妨害工作。グリチャレ主催者が賞をあげたくないがための妨害工作。
問題点2 • Grid Computingを用いた解決案 • グリッド技術における、基盤技術を用いる。 • それにより、どこのマシンにあるプロセスと通信するべきかを、意識する必要がなくなる。 • シングル・サインオン技術を用いることで、複数のサービスや機能を、一度の認証で利用可能になる。
その他の活用 • データの解凍、復号化、Morton順序の解釈、数え上げ処理を、専用のマシンが処理することができる。(サービス・グリッド技術) • おそらく単一の処理をすることでの高速化より、通信のオーバーヘッドの方が多くなり無意味。 • マシンがクラッシュするなどで利用不可能になったとき、他のマシンが代行して処理をすることができる。
Grid Computing技術の具体化 • グリッドコンピューティング技術を具体化するにおいて、どのような機能が必要か? • Ian Foster博士の論文「The Anatomy of the Grid」が提唱した、砂時計モデルを用いて考えていく。 • TCP/IP技術における、OSI参照モデルのようなもの。
砂時計モデル • グリッドコンピューティングを実現するには、CPU、メモリ、ストレージなどのリソースを仮想化する必要がある。 • 砂時計モデルは、この仮想化のレベルを、5段階に分割して説明する。
各層の概略 • ファブリック層:リソースとそのインタフェース • コネクティビティ層:ファブリック層にアクセスするためのセキュリティプロトコル • リソース層:仮想化された単一のリソース • コレクティブ層:仮想化されたリソースの扱いを手助けするサービス • アプリケーション層:直接ユーザが操作・実行するアプリケーション・ツール
ファブリック層 • ローカル・リソースをグリッド環境で利用するためのインタフェースを上位層に提供する。 • 代表的なリソース • 処理能力:CPU、メモリなど • ストレージ:ファイルの読み書き、転送など • ネットワーク:処理能力やストレージなどの遠隔アクセス
コネクティビティ層 • ファブリック層のリソースにアクセスするために必要な通信と認証のプロトコルを規定する。 • 通信はTCP/IPを用いる。 • 必要な機能 • シングル・サインオン • デリゲーション • ローカルセキュリティへのマッピング
シングルサインオン • それぞれに認証を要求する複数のサービスや機能を、一度の認証で利用可能とする認証システム • 集中的に認証管理をする、認証局を設置する。 • これがないと、サービスを要求するごとに、逐次認証する必要がでてくる。
デリゲーション • ユーザからプログラムへ、プログラムからプログラムへ権限を委譲(デリゲート)する仕組み • これがないと、プログラムを起動するごとに、認証局に権限をもらいにいかないといけなくなる。
ローカルセキュリティへのマッピング • グリッド・レベルのセキュリティと、ローカル・レベルのセキュリティへと対応する仕組み。 • グリッド・レベルでプログラムに権限を与えたつもりになっても、実際にUNIXなどが権限を与えていなければ意味がない。
リソース層 • 自分のマシンのリソースと、他人のマシンのリソースを、1つのVO(仮想的な1つの組織)内のリソースとする。 • コネクティビティ層により、セキュアにアクセス可能になる。 • 他人のマシンのリソースを、容易にアクセス可能になる。 • 必要な機能 • インフォメーションプロトコル • マネジメントプロトコル
インフォメーションプロトコル • リソースを利用するための、リソースの情報を提供する。 • CPU、HDD、メモリなどのリソースの種類 • クロック数、容量などのリソースの能力 • リソースの所有者
マネジメントプロトコル • リソースの利用要求や、利用状況を管理する。 • リソースへのデータアクセス・転送を要求する • 操作の状況(エラーなど)の管理 • 所有者が違った場合の、リソース利用料の管理
コレクティブ層 • リソース全体を扱い、総括や、相互作用を管理するプロトコルおよびサービス • あると便利、必須ではない。 • 例 • ディレクトリ・サービス • スケジューリングおよびブローカーサービス
ディレクトリ・サービス • リソースのリストや、固有情報をまとめて、管理するサービス。 • PCのディレクトリではなく、グリッド環境全体のディレクトリになるイメージ。
スケジューリングおよびブローカーサービス • ユーザが必要なリソースを、要求に合わせて自動的に探し出してくれる。 • 複数の利用者に対して、動的にリソースを割り当てることができる。
アプリケーション層 • グリッド環境内で、実際に実行されるアプリケーションやツール。 • コレクティブ層、リソース層、コネクティビティ層を通してリソースにアクセスし、活用する。 • コレクティブ層、リソース層は通さなくても良い。 • これにより、グリッド環境を意識せずにリソースを利用することができる。
グリッド環境のためのツール • Globus Toolkit • Ninf-G • GXP
Globus Toolkit • 現在は、Globus Toolkit 3が最新。 • もうすぐGlobus Toolkit 4が出る。 • グリチャレでは実績のあるGlobus Toolkit 2を用いる。 • Grid Computingの実現に必要な機能をいくつか実装している、ツール群
Globus Toolkit • GSI:セキュリティ管理 • GRAM:リソースとジョブの管理 • MDS:リソース情報の収集 • GridFTP:データの管理
Ninf-G • Globus Toolkitを用いたツール • グリッドにおける遠隔手続き呼び出しを可能とする、GridRPCを実装している。
GXP • グリッド環境内のプロセスの一斉起動 • ゾンビプロセスなどのクリーンナップ