36
Grid Computing ととgoo とと とと” grid” ととととと grid ━━ n. とと とと () ; ととと ; ととと とととと とと () と ; ととととと ととととと とととと () ; とと ととと と [, ; とととととととと とととととと () ; ととととととと 【】 ととととと とと () , とととと

Grid Computing とは?

  • Upload
    elroy

  • View
    24

  • Download
    2

Embed Size (px)

DESCRIPTION

Grid Computing とは?. goo 辞書 での” grid” の翻訳結果 grid ━━ n. (鉄)格子 ; 焼き網 ; (地図・街路の)碁盤目 ; 【 電子工 】 (電子管の)グリッド ; 送電[交通,放送]網 ; (自動車レースの)スタート場所 ; 【 コンピュータ 】 (画面上の)格子 , グリッド. Grid Computing とは?. 格子、碁盤の目: 地理的に散らばっている計算機資源を、ネットワークで格子状につなげる。 送電[交通,放送]網: - PowerPoint PPT Presentation

Citation preview

Page 1: Grid Computing とは?

Grid Computing とは? goo 辞書での” grid”の翻訳結果• grid

━━ n. (鉄)格子 ; 焼き網 ; (地図・街路の)碁盤目 ; 【電子工】(電子管の)グリッド ; 送電[交通,放送]網 ; (自動車レースの)スタート場所 ; 【コンピュータ】(画面上の)格子 , グリッド

Page 2: Grid Computing とは?

Grid Computing とは?• 格子、碁盤の目:

– 地理的に散らばっている計算機資源を、ネットワークで格子状につなげる。

• 送電[交通,放送]網:– 電気を使うさい、どこで発電され、どんな経

路を辿って輸送されているか気にしないように、計算機資源も自由に、いつでもどこでも、必要なときに使う。

Page 3: Grid Computing とは?

Grid Computing とは?• グリッド・コンピューティングとは?

– 利用者の需要に必要な種類/量のリソースを世界中からその時々で集め、それらを高度に連携させて目的を果たし、その後は利用者の視界から消滅するソリューション、あるいはそのためのインフラである。

「グリッド・コンピューティングとは何か」日本アイ・ビー・エムシステム・エンジニアリング株式会社●著より、

Page 4: Grid Computing とは?

Grid Computing の分類• プロセッシング・グリッド• データ・グリッド• サービス・グリッド

Page 5: Grid Computing とは?

プロセッシング・グリッド• とは?

– 演算処理を行うための資源 (CPU やメモリなど)を仮想化して、共有・利用すること。

• クラスタマシンやスーパーコンピュータ同士の接続• PC 同士の接続

• その恩恵– 一時的に膨大なコストの演算が必要なとき、他

のコンピュータを借用して利用することができる。

– CPU の空き時間を利用して、膨大な計算を短時間で行うことができる。

Page 6: Grid Computing とは?

データ・グリッド• とは?

– 膨大なデータを地理的に異なった場所に分割して保存し、それらのデータを共有して利用すること。

• ファイルレベル・ブロックレベル・データベースレベルで仮想化できる。

• その恩恵– データを必要なマシンごとに、それぞれ全て配置し

なくてもすむ– データが破損・紛失しても、そのデータを保有して

いるマシンから入手する事ができる。

Page 7: Grid Computing とは?

サービス・グリッド• とは?

– ハードウェア・ソフトウェアの処理をサービスという形で仮想化して、共有・利用すること。

• Ex. WEB サービス• その恩恵

– あるサービスをする専用のマシンを作り、そのサービスを他のマシンが利用することで、効率化が図れる。

Page 8: Grid Computing とは?

Grid Challenge の課題について• 問題

– 「多数のマシンに分散する画像ファイルに含まれる「物体」の総数を求めよ。 」

• 初級 : 一つの物体は複数のファイルをまたがない . • 上級 : 一つの物体が複数のファイルをまたぐこと

がありうる .

Page 9: Grid Computing とは?

問題点1• 問題点1:

– 画像データが複数のマシンごとに分散されている。– 各マシンが全ての画像データを扱えるわけではない。– 課題上級では、直接扱えない画像データ(の一部)

が必要。• 妥協策:

– 初級では、各マシンは使える画像データのみを扱う。– 上級では、直接扱えない画像データは、所有してい

るマシンを探しだして、逐次画像データを送信してもらう。

Page 10: Grid Computing とは?

問題点1• 妥協策の問題点

– 初級では、マシンの計算パワーに対して、多すぎる画像データを保有している場合、そのマシンの処理がボトルネックになってしまう。

– 上級では、扱えない画像データがどこにいるのかを探し出す処理にコストがかかる。面倒な処理になるためプログラミングが困難。

Page 11: Grid Computing とは?

問題点1• Grid Computing を用いた解決案

– データ・グリッド技術を用いる。• それによりあらゆる場所にある画像データも、容易に扱うことができる。

• 自分のマシン内の画像データの処理が終わったら、他のマシンの画像データを処理をすることができる。

Page 12: Grid Computing とは?

問題点2• 問題点2

–個々のマシン内で数え上げた物体の総数を、全てのマシンで足し合わせないといけない。

– 上級では、隣接する画像データと比較して、境界に属する物体が一致するか調べないといけない。

• 妥協案– Linux のソケットを用いて、逐次必要なマシ

ンと通信する。

Page 13: Grid Computing とは?

問題点2• 妥協案の問題点

– どこのマシンと通信するべきかを常に考えないといけない。

– 通信するさい、正しいユーザからの通信かを確認することができない。もしくは、通信ごとに認証技術を用いる必要があり、面倒。

• Ex. 他のグリチャレ参加者からの妨害工作。グリチャレ主催者が賞をあげたくないがための妨害工作。

Page 14: Grid Computing とは?

問題点2• Grid Computing を用いた解決案

– グリッド技術における、基盤技術を用いる。• それにより、どこのマシンにあるプロセスと通信

するべきかを、意識する必要がなくなる。• シングル・サインオン技術を用いることで、複数

のサービスや機能を、一度の認証で利用可能になる。

Page 15: Grid Computing とは?

その他の活用• データの解凍、復号化、 Morton順序の解釈、数え上げ処理を、専用のマシンが処理することができる。(サービス・グリッド技術)–おそらく単一の処理をすることでの高速化より、

通信のオーバーヘッドの方が多くなり無意味。• マシンがクラッシュするなどで利用不可能

になったとき、他のマシンが代行して処理をすることができる。

Page 16: Grid Computing とは?

Grid Computing技術の具体化• グリッドコンピューティング技術を具体

化するにおいて、どのような機能が必要か?– Ian Foster博士の論文「 The Anatomy of the

Grid 」が提唱した、砂時計モデルを用いて考えていく。

• TCP/IP技術における、 OSI参照モデルのようなもの。

Page 17: Grid Computing とは?

砂時計モデル• グリッドコンピューティングを実現する

には、 CPU 、メモリ、ストレージなどのリソースを仮想化する必要がある。

• 砂時計モデルは、この仮想化のレベルを、5段階に分割して説明する。

Page 18: Grid Computing とは?

砂時計モデル

Page 19: Grid Computing とは?

各層の概略• ファブリック層:リソースとそのインタフェ

ース• コネクティビティ層:ファブリック層にアク

セスするためのセキュリティプロトコル• リソース層:仮想化された単一のリソース• コレクティブ層:仮想化されたリソースの扱

いを手助けするサービス• アプリケーション層:直接ユーザが操作・実

行するアプリケーション・ツール

Page 20: Grid Computing とは?

ファブリック層• ローカル・リソースをグリッド環境で利

用するためのインタフェースを上位層に提供する。

• 代表的なリソース– 処理能力: CPU 、メモリなど– ストレージ:ファイルの読み書き、転送など– ネットワーク:処理能力やストレージなどの遠隔アクセス

Page 21: Grid Computing とは?

コネクティビティ層• ファブリック層のリソースにアクセスす

るために必要な通信と認証のプロトコルを規定する。

• 通信は TCP/IP を用いる。• 必要な機能

– シングル・サインオン– デリゲーション– ローカルセキュリティへのマッピング

Page 22: Grid Computing とは?

シングルサインオン• それぞれに認証を要求する複数のサービ

スや機能を、一度の認証で利用可能とする認証システム– 集中的に認証管理をする、認証局を設置する。– これがないと、サービスを要求するごとに、

逐次認証する必要がでてくる。

Page 23: Grid Computing とは?

デリゲーション• ユーザからプログラムへ、プログラムか

らプログラムへ権限を委譲(デリゲート)する仕組み– これがないと、プログラムを起動するごとに、認証局に権限をもらいにいかないといけなくなる。

Page 24: Grid Computing とは?

ローカルセキュリティへのマッピング

• グリッド・レベルのセキュリティと、ローカル・レベルのセキュリティへと対応する仕組み。– グリッド・レベルでプログラムに権限を与え

たつもりになっても、実際に UNIX などが権限を与えていなければ意味がない。

Page 25: Grid Computing とは?

リソース層• 自分のマシンのリソースと、他人のマシンのリ

ソースを、 1 つの VO (仮想的な 1 つの組織)内のリソースとする。– コネクティビティ層により、セキュアにアクセス可能になる。

– 他人のマシンのリソースを、容易にアクセス可能になる。

• 必要な機能– インフォメーションプロトコル– マネジメントプロトコル

Page 26: Grid Computing とは?

インフォメーションプロトコル• リソースを利用するための、リソースの情報を提供する。– CPU 、 HDD 、メモリなどのリソースの種類– クロック数、容量などのリソースの能力– リソースの所有者

Page 27: Grid Computing とは?

マネジメントプロトコル• リソースの利用要求や、利用状況を管理

する。– リソースへのデータアクセス・転送を要求す

る–操作の状況(エラーなど)の管理– 所有者が違った場合の、リソース利用料の管

Page 28: Grid Computing とは?

コレクティブ層• リソース全体を扱い、総括や、相互作用

を管理するプロトコルおよびサービス– あると便利、必須ではない。

• 例– ディレクトリ・サービス– スケジューリングおよびブローカーサービス

Page 29: Grid Computing とは?

ディレクトリ・サービス• リソースのリストや、固有情報をまとめ

て、管理するサービス。– PC のディレクトリではなく、グリッド環境

全体のディレクトリになるイメージ。

Page 30: Grid Computing とは?

スケジューリングおよびブローカーサービス

• ユーザが必要なリソースを、要求に合わせて自動的に探し出してくれる。

• 複数の利用者に対して、動的にリソースを割り当てることができる。

Page 31: Grid Computing とは?

アプリケーション層• グリッド環境内で、実際に実行されるア

プリケーションやツール。• コレクティブ層、リソース層、コネクテ

ィビティ層を通してリソースにアクセスし、活用する。– コレクティブ層、リソース層は通さなくても良い。

– これにより、グリッド環境を意識せずにリソースを利用することができる。

Page 32: Grid Computing とは?

グリッド環境のためのツール• Globus Toolkit

• Ninf-G

• GXP

Page 33: Grid Computing とは?

Globus Toolkit

• 現在は、 Globus Toolkit 3が最新。• もうすぐ Globus Toolkit 4が出る。• グリチャレでは実績のある Globus Toolkit

2を用いる。• Grid Computingの実現に必要な機能をいくつか実装している、ツール群

Page 34: Grid Computing とは?

Globus Toolkit

• GSI:セキュリティ管理• GRAM:リソースとジョブの管理• MDS:リソース情報の収集• GridFTP:データの管理

Page 35: Grid Computing とは?

Ninf-G

• Globus Toolkitを用いたツール• グリッドにおける遠隔手続き呼び出しを可能とする、 GridRPCを実装している。

Page 36: Grid Computing とは?

GXP

• グリッド環境内のプロセスの一斉起動• ゾンビプロセスなどのクリーンナップ