grid computing とは?
DESCRIPTION
Grid Computing とは?. goo 辞書 での” grid” の翻訳結果 grid ━━ n. (鉄)格子 ; 焼き網 ; (地図・街路の)碁盤目 ; 【 電子工 】 (電子管の)グリッド ; 送電[交通,放送]網 ; (自動車レースの)スタート場所 ; 【 コンピュータ 】 (画面上の)格子 , グリッド. Grid Computing とは?. 格子、碁盤の目: 地理的に散らばっている計算機資源を、ネットワークで格子状につなげる。 送電[交通,放送]網: - PowerPoint PPT PresentationTRANSCRIPT
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
• グリッド環境内のプロセスの一斉起動• ゾンビプロセスなどのクリーンナップ