グリッドミドルウェア入門

Grid World 2008 チュートリアル
グリッドミドルウェア入門
産業技術総合研究所 情報技術研究部門
田中 良夫
グリッドとは
複数の組織にあるリソースを、必要に応じ
て、動的に、安全に共有し、仮想的な利用
環境を構築する技術およびインフラ。
はじめに
•
今日はグリッドの技術的課題と、それを解決する代表的ミドルウェアを紹
介します。
– フリーソフトウェアとして公開されているグリッドミドルウェアを俯瞰的に見渡し、
機能や実装ごとに整理して紹介。
– 代表的なものを紹介していますが、すべてをカバーできているわけではあり
ません。
– PC Grid (P2P)については含めていません。
– 各社さんが出されているビジネスグリッドミドルウェアについては展示コー
ナーにて ☺
•
話の内容
–
–
–
–
•
グリッドの紹介と技術的課題
代表的ミドルウェア紹介
ミドルウェアの利用例
今後の課題と方向性
ごめんなさい
– お手元の資料8ページ目から、スライド10枚追加してしまいました...
– 今日のスライドは、後日グリッド協議会のホームページに掲載されます。
– スライドの分量が多いですが、話の中では飛ばします。あとは資料としてご覧
ください。
グリッドが支える第四の科学(eサイエンス)!
• 情報技術の高度利用に立脚した新しい科学技術研究手法
– ネットワークで接続された様々な高機能資源(高性能計算機、高
速ネットワーク、大規模データベース、実験装置など)を統合的に
活用することにより、科学技術における新たな発見や融合研究
領域などの新たな研究分野を創出することを目指す。
高性能計算機
ソフトウェア
ユーザ
高速ネットワーク
センサー、装置
視覚装置
専門家
記憶装置
ユーザ
ユーザ
eScience とそれを支えるグリッド技術(例)
大規模データ処理
分散処理
地質情報科学
user
disaster
resource
investigation prevention
Environment
Storage
Satellite
Web Service: Meta
Database
Cluster
Computer
Cluster
Computer
DB @ DB @
Thailand Japan
Mirror DB
Data Grid: Grid File
Systems
ハイスループット計算
Variable
Region
Antigen
Classical
Mechanics
Light
Heavy
Chaing
Chain
Constant
Region
Job Job
1 Job
2 3
Job Job
4 Job
5 6
Job Job
7 Job
8 9
Job Job
10 Job
11 12
Job Job
13 Job
14 15
Job Job
16 Job
17 18
Quantum
Mechanics
メタコンピューティング
eScience とそれを支えるグリッド技術(例)
大規模データ処理
データベース連携
地質情報科学
user
disaster
resource
investigation prevention
Satellite
分散処理
実験装置と計算機の
統合利用
Environment
Storage
Web Service: Meta
Database
Cluster
Computer
Cluster
Computer
DB @ DB @
Thailand Japan
Mirror DB
Data Grid: Grid File
グリッドファイルシステム
Systems
ハイスループット計算
分散計算環境でのClassical
Variable
Antigen
Region計算の割り振り Mechanics
Quantum
Mechanics
メタコンピューティング
グリッドプログラミング
開発・実行
Light
Heavy
Chaing
Chain
Constant
Region
Job Job
1 Job
2 3
Job Job
4 Job
5 6
Job Job
7 Job
8 9
Job Job
10 Job
11 12
セキュリティ
Job Job
13 Job
14 15
Job Job
16 Job
17 18
ポータル、GUI、WFT
スケジューラ
情報サービス
グリッドに対する技術的要請
•
Virtual Organization, Virtual
Computerの形成
– セキュリティ・安全性
•
• 資源の動的な変化は日常茶
飯事
• Single sign-on
• 複雑な資源アクセス
• コード、プロセスなどの移動
– 資源配分
• VOの計算資源、データ資源
リモートセンサーなど
• QoSをどのように保証?
• 全体で安定するか?どのよう
なモデルが適切?
– 資源の名前の管理
• グローバルなIDの管理
• 資源の動的な挙動に対処
– Heterogeneityへの対処
• 言語、OS、ハードウェア、管理
ポリシ、などなど
• ミドルウェアレイヤでSingle
System Image
• サイトの独立性(root権限なし)
動的な資源の管理
– 資源の動的拡張性
– 耐故障性、自己組織化
– スケーラビリティ
• 世界規模のインフラ
•
高性能
– HPC, HTC
– 高バンド幅+高レーテンシ対応
これらの技術的課題を解決するミドルウェアが多数開発・提供されている
-コマンド、API、GUI等で機能を提供-
- 複数のミドルウェアを組み合わせて上位のミドルウェアを実装可能 -
Slide courtesy by S. Matsuoka
代表的グリッドミドルウェア一覧(機能別分類)
•
セキュリティ
– Globus Toolkit (Globus Alliance)
• GSIを実装
• Simple CA
– VOMS (Virtual Organization Membership Service) (EGEE)
• VOの構成、管理等を実現
• 代理証明書に属性情報を埋め込む
• VO管理ツールとしてデファクトになりつつある
– CAS (Community Authorization Service) (Globus Alliance)
• コミュニティレベルでの認可の仕組みを提供
– MyProxy (NCSA)
• Credential Repository
– GAMA (Grid Account Management Architecture) (SDSC)
• ユーザアカウント&証明書管理ツール。
• GridSphere(後述)とのインタフェースを実装
– PURSE (Porta-based User Registration Service) (Globus Alliance)
• ユーザアカウント&証明書管理ツール
– KX.509, KCA, and PKINIT (U. Michigan & IETF)
• KerberosとGSIのつなぎ
– GridShib, ShibGrid, …
• ShibbolethとGSIのつなぎ
代表的グリッドミドルウェア一覧(機能別分類)
• モニタリング、情報サービス
– Globus Toolkit (Globus Alliance)
• Globus Index Service (MDS)
– MonALISA (CERN)
• Java JINIとWebサービスを用いたモニタリングシステム
– Inca (TeraGrid)
• ソフトウェアインストール状況テストツール
– NWS (Network Weather Service) (UCB)
• ネットワークの状態監視、予測
– Ganglia (UCB)
• クラスタ(群)モニタリングツールキット
– SCMSWeb (Kasetsart U.)
• クラスタ(群)モニタリングツールキット
– NAREGI GridVM (NAREGI)
• ジョブのモニタリング、アカウンティング情報管理などを行う
– gLite Information Service (EGEE)
• BDII, GRIS/GIISを利用
– NAREGI Information Service (NAREGI)
• OGSA-DAIを利用
代表的グリッドミドルウェア一覧(機能別分類)
• スケジューリング
– GridWay (GridWayプロジェクト、Spain)
• Globus Incubator Projectの1つ
• 複数のバッチ(PBS, SGE等)に跨るメタバッチシステム的インタフェースを提
供
• リモートにはGlobus GRAMを利用
– CSF (Community Scheduling Framework) (Platform Computing,
Jilin U.)
• 複数のバッチ(LSF, PBS等)に跨るメタバッチシステム的インタフェースを提
供
• リモートにはGlobus GRAMを利用
– Condor (U. Wisconsin)
• マッチメーキング機能により、メタスケジューラの機能も持つ
– gLite WMS (Workload Management System) (EGEE)
• マッチメーキング機能により、メタスケジューリングを実現
– NAREGI Super Scheduler (NAREGI)
• 事前予約に基づき、複数サイトでのコアロケーションを実現
– GridARS (Grid Advanced Reservation Service) (AIST)
• 事前予約に基づき、計算機とネットワークのコアロケーションを実現
代表的グリッドミドルウェア一覧(機能別分類)
• 遠隔ジョブ実行・資源管理
– Globus Toolkit (Globus Alliance)
• WS GRAM, Pre-WS GRAM
• GSI認証による遠隔プロセス起動
• バッチ経由でのプロセス起動が可能
– Condor (U. Wisconsin)
• リソースのプール(Condor Pool)へのジョブ投入
• プロセスマイグレーション等の機能を提供
– GridSAM (OMII UK)
• Webサービスに基づくジョブ投入および監視ツール
代表的グリッドミドルウェア一覧(機能別分類)
• データ管理、データグリッド
– ファイル転送
• Globus Toolkit (Globus Alliance)
– globus-url-copy
– Reliable File Transfer
• GridFTP (ANL)
– Grid版FTP
• UberFTP (NCSA)
– テキストベースのGridFTPクライアント
• GSI-SCP, GSI-SFTP (NCSA)
– GSI認証によるSCP, SFTP
– ストレージ管理
• NeST (U. Wisconsin)
– 複数のストレージをたばね、様々なプロトコルを介して提供
• gLite SRM (Storage Resource Management )(EGEE)
– ストレージ管理のためのプロトコル
• Storage Resource Broker (SDSC)
– クライアント・サーバ型による分散ストレージ管理システム
代表的グリッドミドルウェア一覧(機能別分類)
• データ管理、データグリッド (続き)
– データベース
• OGSA-DAI (OMII UK)
– データベースへのアクセス、統合を実現
– ファイル管理
• NAREGI DataGrid (NAREGI)
– ファイルシステムレベルでのデータ共有を実現
• Gfarm (AIST / U. Tsukuba)
– グリッドファイルシステム
– メタデータ、複製管理
• MCS (Metadata Catalogue Service) (Globus Alliance)
– OGSA準拠のメタデータカタログサービス
• Replica Location Service (Globus Alliance)
– 複製管理ツール
– その他
• DataCutter (Ohio State U.)
– ストリームデータを加工する。様々なグリッドツールとのインタフェースを持つ。
代表的グリッドミドルウェア一覧(機能別分類)
• プログラミング
– MPI
• GridMPI (NAREGI / AIST / U. Tokyo)
• MPICH-G2 (Globus Alliance)
• PAX MPI (High Performance Computing Stuttgart)
– RPC
•
•
•
•
Ninf-G (NAREGI / AIST)
GridSolve (U. Tennessee)
DIET (Inria)
OmniRPC (U. Tsukuba)
代表的グリッドミドルウェア一覧(機能別分類)
• Workflow, PSE, Portal
– ポータルツールキット
• GridSphere (GridLab Project)
• GridPort (NPACI)
– ワークフローツール、エンジン
•
•
•
•
•
•
Taverna Workbench (OMII UK)
OMII BPEL (OMII UK)
Kepler (Kepler project)
Condor DAGman (U. Wisconsin)
NAREGI WFT (NAREGI)
UNICORE (UNICORE Project)
– PSE
• AHE (Application Hosting Environment) (OMII UK)
• NAREGI PSE (NAREGI)
– コラボレーションツール
• SHEFF/Sakai (Sakai project)
• OGCE (Open Grid Computing Environment) (OGCE Project)
• Access Grid (ANL)
ミドルウェアの提供方法
• コンポーネントごと
– Globus Toolkitをはじめ多数
– 必要なものを必要に応じて利用
– バージョンアップへの対応が容易
• Middlewae Repository
– OMII UK
– NSF Middleware Initiative (終了)
• 全体パッケージ
–
–
–
–
NAREGI
gLite
UNICORE
これだけインストールすれば大丈夫
グリッドミドルウェア
NMI (NSF Middleware Initiative)より
•
•
•
•
•
•
•
•
•
•
APST
Condor-G
DataCutter/STORM
Globus Toolkit
GPT
GridConfig
GridPort
GridSolve
GSI-OpenSSH
gx-map
•
•
•
•
•
•
•
•
•
Inca
KX.509
MPICH-G2
MxProxy
Ninf-G
NWS
PyGlobus
SRB Client
UberFTP
今日紹介するミドルウェア
• Globus Toolkit
–
–
–
–
資源管理
情報サービス
データ管理
セキュリティ
• Condor
– 遠隔ジョブ実行
– スケジューラ
• OGSA-DAI
– データ管理
• gLite, NAREGI
–
–
–
–
–
スケジューラ
資源管理
情報サービス
セキュリティ
UI(WFT等)
• Ninf-G
– プログラミング
機能ごとに分類
• 資源管理
–
–
–
–
Globus Toolkit (GRAM)
Condor
NAREGI GridVM
gLite WMS
• スケジューラ
– NAREGI SS
– Condor
• セキュリティ
– Globus Toolkit
– NAREGI
– gLite (VOMS)
• データ管理
– Globus Toolkit
(GridFTP, RFT, RLS)
– OGSA-DAI
– gLite (SRM)
– NAREGI
• プログラミング
– Ninf-G
– GridMPI
– MPICH-G2
Globus ToolkitTM
Globus Toolkitで何ができるのか?
• グリッドのアプリケーション/システムを構築するための道具箱
– Grid環境での要求
• セキュリティ
• 情報サービス
• 資源管理
• データ管理
....
安全でなければならない
安全でなければならない
どこに何があるか
どこに何があるか
Globus Toolkit
データ転送したい
データ転送したい
計算機を利用したい
計算機を利用したい
基本機能を提供
• グリッドアプリケーション構築のためのライブラリー、コマンド
ツール群
– システムではない
– 一部のツールだけでも選択して導入可能
Globus Toolkit のアーキテクチャ
砂時計モデルによる実装の容易化
ツールとアプリケーション
ディレクトリ、
診断、監視
リソースと
サービスへの
セキュア・
アクセス
ユーザー・アプリケーション
コレクティブ・サービス
Globus Toolkit
リソース
コネクティビティ
多様な資源
コンピュータ、ストレージ、
ネットワーク、センサーなど
ファブリック
GT4が提供する機能
• Common Runtime
– GT4のweb / pre-web サービスに対する実行環境を提供
• Execution Management
– ジョブの初期化、モニタリング、管理、スケジュール、調整
の機能を提供
• Data Management
– データ転送、レプリケーションの機能を提供
• Information Services
– グリッド上のリソース/サービスを発見、モニタリングする
機能を提供
• Security
– ユーザー/サービスの認証、認可、安全な通信、クリデン
シャル管理、グループ管理の機能を提供
Globus Toolkit version 2 (GT2)
Web Services
Components
Pre-WS
AuthenticationGridFTP
Authorization
Security
Data Mgmt
Grid ResourceMonitoring
Alloc. Mgmt & Discovery
(GRAM)
(MDS)
Execution
Mgmt
Info
Services
C Common
Libraries
Non-WS
Components
Common
Runtime
Slide by courtesy of Ian Foster
Globus Toolkit version 4 (GT4)
Core
Contrib/
Preview
Grid
Telecontrol
Protocol
Deprecated
Delegation
Data
Replication
Community
Scheduling
Framework
WebMDS
Python
WS Core
Community
Authorization
Data Access
& Integration
Workspace
Management
Trigger
C
WS Core
AuthenticationReliable
File
Authorization Transfer
Grid Resource
Allocation & Index
Management
Java
WS Core
Pre-WS
AuthenticationGridFTP
Authorization
Pre-WS
Pre-WS
Grid ResourceMonitoring
Alloc. & Mgmt& Discovery
C Common
Libraries
Credential
Mgmt
Replica
Location
Security
Data Mgmt
www.globus.org
Execution
Mgmt
Info
Services
eXtensible
IO (XIO)
Common
Runtime
Web Services
Components
Non-WS
Components
Slide by courtesy of Ian Foster
26
Globus Toolkit:
Open Source Grid Infrastructure
Globus Toolkit v4
www.globus.org
Data
Replication
Credential
Mgmt
Replica
Location
Grid
Telecontrol
Protocol
Delegation
Data Access
& Integration
Community
Scheduling
Framework
WebMDS
Python
Runtime
Community
Authorization
Reliable
File
Transfer
Workspace
Management
Trigger
C
Runtime
Authentication
GridFTP
Authorization
Grid Resource
Allocation & Index
Management
Java
Runtime
Security
Execution
Mgmt
Common
Runtime
Data Mgmt
Info
Services
Slide by courtesy of Ian Foster
Single Sign On と delegation
シングル
サインオン
ユーザ
サーバA
サーバB
遠隔資源上での
プロセス生成の要求*
(例えばMPIやRPCの)通信*
リモートファイルの
アクセス要求*
* 相互認証が必要
委譲
(delegation)
GSI: Grid Security Infrastructure
• 「グリッド」の名がつく技術の中で、もっとも偉
大な成果(私見)
• PKIとX.509証明書を用いた認証および認可
– SSL protocol や WS-Security を利用
– ユーザ、サービス、ホストはX.509証明書を保持
する必要がある
• Proxy証明書
– X.509証明書の拡張(RFC3820)
– シングルサインオンと委譲を実現
Proxy証明書
ユーザのアイデンティティ
ユーザ証明書
Proxy証明書
Subject DN
Subject DN/Proxy
公開鍵
(新)公開鍵
(新)秘密鍵(生)
Issuer (CA)
Digital Signature
grid-proxy-init
コマンドの実行
秘密鍵
(暗号化)
ユーザが持っている証明書
(と秘密鍵)
Issuer (ユーザ)
Digital Signature(ユーザ)
ユーザ証明書
Subject DN
署名
公開鍵
Issuer (CA)
Digital Signature
委譲の実装
• プロキシ証明書の遠隔生成
– 証明書は、秘密鍵とサインされた公開鍵の
ペア
公開鍵 秘密鍵
公開鍵 秘密鍵
秘密鍵
秘密鍵
公開鍵
ホストA
ホストB
公開鍵
秘密鍵
Globus Toolkit at a Glance
資源管理 情報サービス
データ管理
Globus Security Infrastructure (GSI) が GIIS
これらの要素をつなぎ合わせる
CA
プロキシ
証明書2
GRIS
gatekeeper
資源情報の
問い合わせ
計算機A@東工大
プロセス
grid-proxy-init
ユーザ
証明書
プロキシ
証明書1
クライアント
@アキバ
データ
転送
プロセスの起動
計算機B@つくば
GRIS
GridFTP
サーバ
結果の返送
gatekeeper
プロキシ
証明書3
データサーバ
@somewhere
GRIS
さまざまな側面を持つ
スケジューリングシステムCondor
Condorの特徴
• 想定環境
– 遊休計算資源,専用クラスタ,メタスケジューラ
• 特徴
– 単なるローカルスケジューラではない
• グリッドへの戦略
– メタスケジューラとしても機能
• 価格
– 商用,非商用にかかわらず使用はフリー
– Condorの保守を業務として行ってもよい
Condorのいくつかの側面
• 遊休計算機を利用して独立したジョブを大量
に処理するシステム
– c.f. Grid MP 、 SETI@HOME
• 並列ジョブにも対応したバッチキューイングシ
ステム
– c.f. PBS Professional, Sun One Grid Engine,
LSF
• メタスケジューラ
– c.f. Community Scheduler Framework
(Platform computing)
Condor の歴史
•
•
•
•
•
1983年 Prof. Miron Livny のPh.D
Thesis
– “The Study of Load Balancing
Algorithms for Decentralized
Distributed Processing Systems”
1985年 ウィスコンシン大学において、
Condor Project 開始
1986年 最初のCondor システムが実装さ
れる
2005年で20周年(!)
予算: DoE、NASA、NIH、NSF、EU、
INTEL、Micron、Microsoft、 UW
Graduate School
Condorの概要
サブミット
マシン
ジョブを実行する
計算機を決定
クラスタ
セントラル
セントラル
マネージャ
マネージャ
実行
マシン
Job
クラスタ
Condor Pool
Condorの構造
セントラル
マネージャ
定期的に
状態を報告
Schedd
割り当て
を指定
定期的に
状態を報告
Startd
実行プロセス
User
サブミットマシン
実行マシン
Condorの特徴
• スケーラブル
– 1プールで1000ノード程度まで稼動実績あり
– 複数のプールを組み合わせればさらに masterd
• ステイブル
– 自動復旧機構
schedd
• フレキシブル
– ClassAdとマッチメイキングによる柔軟なスケ
ジューリング
– ユーザのプライオリティによるフェアシェア
startd
さまざまな使用法
遊休計算機の有効利用
専用クラスタの利用
並列ジョブスケジューラとしての
Condor
メタスケジューラとしてのCondor
Condorが有効な場面
• 1日ー1週間かかるようなジョブをいくつか実行し
たい
– 計算機関占有できる計算機がない
• 比較的小さいジョブが沢山実行したい
– 夜間使用されていないPCやWSがある
– 専用のクラスタがある
• MPIなどで書かれた並列ジョブを実行したい
– クラスタを使用
• PBSなどで管理された複数のクラスタを一括管
理して有効利用したい
• 遠隔地のGlobusなどで管理されている複数のク
ラスタで大量のジョブを分散実行したい
Condorによる遊休計算機の有効利用
• Condorの開発開始時の主目的
• キーボードのアイドル時間、CPUのロードアベレージ、
時刻などから遊休状態を認識
– スクリーンセーバとして実装するよりも精度の高い
認識が可能
• 遊休状態が終了したらジョブを追い出す
– ユーザが戻ってきた
– 始業時間になった
– 別の方法でジョブが投入された
専用のクラスタの利用
• Condorのメリット
– 柔軟な制御
• 特定の計算機ではその持ち主を優先するなど
– フェアシェア
• ユーザ優先度に基づいてリソースを割り当て
• 優先度 1の人は 2の人の2倍リソースを使用できる
並列ジョブスケジューラとしてのCondor
• 任意の並列ジョブをサポート
• 各ノードでユーザが指定したスクリプトが実行
されるだけ
– スクリプトの書き方で任意の並列プログラミング
システムに柔軟に対応
• MPICH, LAM,に関してはスクリプトがあらかじめ提供
されている
– 各ノードでsshd を起動しておき,各システムのジョブ起動機
構をブートストラップする.
• 独自の並列プログラミングシステムであってもCondor
側の改変なしで対応が可能
メタスケジューラとしてのCondor
• 個別のスケジューラで管理された複数の計算
機群を「メタ管理」
• ローカルのクラスタ
– PBS, LSF, etc..
• 遠隔地のクラスタ
– Globus、NordGrid、Unicore, etc.
メタスケジューラとしてのCondor
Globus
SGE
サイトA
Condor
Globus
PBS
サイトB
OGSA-DAI
OGSA-DAIとは
• Webサービスを基礎とした、データベースアクセスのミドルウェ
ア
– OGSA(Open Grid Service Architecture)
– DAI(Database Access and Integration)
単純には、リモートのDBをWebサービス経由でアクセスする
ミドルウェア(もちろんそれだけではないが)
英国 Uk-e-Scienceプログラムの1プロジェクトとしてスタート
現在は、OMII (Open Middleware Infrastructure Institute)の1プロジェク
ト (http://www.omii.ac.uk)
–
OMII グリッドのミドルウェア
–
OGSA-DAI データベース
–
myGrid/Taverna セマンティックWeb・ワークフロー
OGSA-DAIでできることとは?
リモート・遠隔地のデータベースが、
Webサービス(データサービス、GDS)として提供
され、グリッドのミドルウェア(Globus Toolkit)上
のプログラム(client)から使える。
一般的なデータベースプログラミング
(プログラム内からSQLなどを投げる)
アクティビティという処理モデル(後述)
一連の処理をまとめて投げ、
処理結果をまとめてもらう。
★ OGSA-DAIの考え方:
分散処理へのアプローチ
• やりたいこと
– 分散データベース処理を含む分散ワークフロー
• サービス連携
• SOAベースの応用開発
ナイーブに応用を作ると性能が悪くなりそうだ。
★ OGSA-DAIにおける考え方。
1. 一つのデータサービスでの処理を高度化する。
•
Activityの連携でワークフローを記述、処理
–
ひとつのサービス内でできることを高度化
2. 複数のサービスにおける連携
•
データベース処理を含む汎用ワークフロー
•
BPELやTavernaなど、汎用ワークフローエンジンと組み合わ
せよ。
•
•
•
該当モジュールの提供
WEEPなどDAI向きBPELエンジンの提供
分散データベース処理に基づくワークフロー
•
分散問い合わせ処理のミドルウェア+αの提供
•
•
OGSA-DQP
問い合わせ処理を最適化する。
いいところ
単なるSQLのリモートアクセスとどう違うか?
• サービスベース
– HTTPポートの開いているところでは、どこでもOK
• GSIをサポート
– GSIとDB(例えばOracle)のアカウントのマッピング
• 結果のデータ変換をサポート
– XSLTを支援、検索結果の加工など。
• 第3者転送・大量データ処理をサポート
– FTP・GFTPなどにより、結果を第3者サイトに転送できる
★ 応用の特徴
• 計算と分散データベース処理の連携
– 例:分散遺伝子DBを統合してクラスタ上でBlastにかける
とか。
• Grid のミドルウェアに基づいている(GT4,OMII)ことが有利
• セキュリティ基盤との連携
– GSIに基づく、グリッドの認証
– VOMS?
• 第3者データ転送、大量データ転送
– 大量の検索結果がクライアントに直接戻るとまずい
• 検索結果を別のサイトに送ったり、
• GridFTPなどと結びつけたり、、
Enabling Grids for E-sciencE
Overview of EGEE and
gLite Middleware
Presented by Min Tsai
With thanks to EGEE colleagues for many of these slides
www.eu-egee.org
EGEE-II INFSO-RI-031688
Grid middleware
Enabling Grids for E-sciencE
• The Grid relies on advanced software, called middleware,
which interfaces between resources and the
applications
• gLite 3.1
– Scientific Linux 4
– Exploits components from
VDT (Condor, Globus)
EDG/LCG, others
www.eu-egee.org
EGEE-II INFSO-RI-031688
54
Basic Services of gLite
Enabling Grids for E-sciencE
User Interface
Information System
Resource Broker
Submit job
query
Retrieve
status & output
create
credential
query
File and Replica Catalog
Job
status
Submit job
Retrieve
output
Logging
publish
state
Site X
Job
status
Authorization
Service
www.eu-egee.org
(VO Management
Service)
EGEE-II INFSO-RI-031688
Computing Element
Storage Element
process
Logging and
bookkeeping
55
Virtual Organisation (VO)
Enabling Grids for E-sciencE
• gLite middleware runs
on each shared
resource to provide
– Data services
– Computation
services
– Security service
INTERNET
• Resources and users
form Virtual
Organisations:
basis for
collaboration
www.eu-egee.org
EGEE-II INFSO-RI-031688
56
Logging into the Grid:
Creating a proxy credential
Enabling Grids for E-sciencE
[sipos@glite-tutor sipos]$ voms-proxy-init --voms gilda
Enter GRID pass phrase: ***********
Your identity: /C=HU/O=NIIF CA/OU=GRID/OU=NIIF/CN=Gergely
Sipos/[email protected]
Creating temporary proxy ............................................................ Done
Contacting voms.ct.infn.it:15001 [/C=IT/O=INFN/OU=Host/L=Catania/CN=voms.ct.infn.it]
"gilda" Done
Creating proxy ................................ Done
Your proxy is valid until Sat Jun 23 04:55:19 2007
% voms-proxy-init
login to the Grid
Enter PEM pass phrase: ******
private key is protected by a password
– Options for voms-proxy-init:
VO name
-hours <lifetime of new credential>
-bits <length of key>
-help
www.eu-egee.org
% voms-proxy-destroy
logout from the grid
Delegated credentials will not be revoked
EGEE-II INFSO-RI-031688
Joining a Virtual Organisation
Enabling Grids for E-sciencE
•
•
Obtaining certificate:
Annually
Users (and machines) are identified by
certificates.
Steps
– User obtains certificate from
Certification Authority
– User registers at the VO
CA
List of EGEE VOs:
On CIC Operations
Portal
Joining
VO:
Once
VO manager
usually via a web form
– VO manager authorizes the user
VO Membership
Service
VO DB updated
– User information is replicated onto VO
resources within 24 hours
Replicating
VOMS DB
once a day
VOMS
database
Grid sites
www.eu-egee.org
User’s identity in the Grid = Subject of certificate:
/C=HU/O=NIIF CA/OU=GRID/OU=NIIF/CN=Gergely Sipos/[email protected]
EGEE-II INFSO-RI-031688
58
voms-proxy-init: what really happens
in the background
Enabling Grids for E-sciencE
•
voms-proxy-init
– Creates a proxy locally
– Contacts the VOMS server and
extends the proxy with a role
VOMS server signs the proxy
voms-proxy-init –voms gilda
Proxy
Proxy
+
VOMS
roles
•
Allows VOs to centrally manage user
roles
www.eu-egee.org
EGEE-II INFSO-RI-031688
59
Summary of Authentication / Authorization
Enabling Grids for E-sciencE
www.eu-egee.org
EGEE-II INFSO-RI-031688
NAREGI
62
NAREGI Grid Middleware
Grid-Enabled Nano-Applications
Grid
Programming
Libraries
- GridRPC
GridRPC
- GridMPI
MPI 1.0/2.0
Grid PSE ACS
Grid Visualization
Grid Workflow Tool
CIM
Information Service
OGSA
JSDL
-DAI
OGSAWSRF(NAREGI implementation + Globus 4)
WSRF
RUS
Super Scheduler
OGSA
-EMS
Data Grid
GridFTP
GFS
XKMS
Grid VM
X.509
High-Performance & Secure Grid Networking, Certification
VOMS
SuperSINET
NII
IMS
Research
Organizations
etc
Computing Resources
Kento Aida, National Institute of Informatics
63
Job Execution Scenario
Application requirement definition
WorkMPI
flow
source
IMPI
CA/RA
b: Deployment
a: Sign-on
VOMS
Proxy cert.
Portal
User
cert.
c: Edit
… Co-allocation
Job
FMO
PC cluster
128 CPUs
Output files
WFT
1: Submission
Super
Scheduler
(User DN, VO)
RISM
SMP machine
64 CPUs
GridMPI
PSE
MyProxy
Input files
GVS
8: Visualization
2: Resource discovery
Information
Service
3: Reservation (Co-Allocation)
9: Accounting
GridVM
5: IMPI starts
Local
Scheduler
IMPI
Server
Site ρ
GridVM
6: MPI job starts
Local
Scheduler
7: MPI init.
GridMPI
GridVM
4: Reservation
Network
monitor
FMO
Job
RISM
Job
Site α
Local
Scheduler
DataGrid
Grid File System
2: Monitoring
Site μ
Kento Aida, National Institute of Informatics
64
User-Level Grid Tools & PSE
Grid PSE
support for compilation
and deployment
execution support
Grid Workflow Tool
workflow language
GUI
Kento Aida, National Institute of Informatics
65
Programming
GridRPC
RPC on the grid
Client
API standardization by
1.
OGF
interface
Ninf-G
a reference
implementation of
GridRPC API
GridMPI
Numerical
Library
IDL
FILE
4.
3. invoke
connect
Executable
back
2. interface
GRAM
reply
IDL Compiler
generate
Remote Executable
fork
MDS
retrieve
request
Client
side
Interface
Information
LDIF File
Server side
Cluster A:
Cluster B:
YAMPII
IMPI
YAMPII
MPI library on the grid
MPI communication
between parallel
systems on the grid
IMPI server
Kento Aida, National Institute of Informatics
66
NAREGI-EGEE data Sharing (GIN)
NAREGI and EGEE gLite clients can access to both data resources
(e.g., bi-directional file copy) using SRM interface.
GridFTP is used as its underlying file transfer protocol.
File catalog (metadata) exchange is planned.
gLite Client
NAREGI Portal
Computing Resource
gLite Client
NAREGI Client
Job
LCG Utility
SRM
Client
SRM
Client
Gfarm
Client
LFC
(Metadata Server)
DPM
(SRM Server)
Storage
Gfarm
Client
NAREGI
Metadata Server
GridFTP
Server
Gfarm
Server
Storage
Kento Aida, National Institute of Informatics
67
NAREGI-EGEE Job Submission (GIN)
Architecture
gLite-WMS
gLite-UI
gLite-BDII
GIN-BDII
NAREGI-IS
NAREGI
Portal
gliteCE
gliteCE
NAREGI-GAHP
NAREGI Client Lib
NAREGI-SS
NAREGI-SS
NAREGI-SC
Interop-SC
EGEE user
NAREGI user
PreWS-GRAM
lcgCE
lcgCE
WS
NAREGI
GRAM
GridVM
Computing
Computing Resource
Resource
Demo
NAREGI
EGEE: using NAREGI Workflow
EGEE
NAREGI: using glite WMS commands
Kento Aida, National Institute of Informatics
Ninf-G
ポータル
グリッドにおけるプログラミング方法および
それらをサポートするソフトウェアの現状 使いやすいが
柔軟性に欠ける
特定のアプリケーションを利用するためのWeb
インタフェースを提供。ユーザはプログラミングの必要なし。
NPACI HotPage, GridPort, Ninf-G Portal, QC Portalなど
高レベルミドルウェア
並列・分散プログラミングを容易に行うためのシステム。
低レベルミドルウェアが提供するグリッドに必要な機能を
容易に利用する手段を提供。ほとんどのアプリケーション
プログラマは高レベルミドルウェアを利用することになる。
ポータルにおけるバックエンドとしても必要不可欠。
この階層においては、競争が激しい
産総研で開発を進めているシステム
(Ninf-G)を高レベルミドルウェアの
標準的なシステムの1つとして普及さ
せる。本システムを基にしたプロトコ
ル、API等をGGFにおいて標準化。
低レベルミドルウェア
セキュリティ、資源管理、(安全な)通信、データ転送、
情報サービスなど、グリッドにおいて必要な要素技術を
提供。豊富な機能と柔軟な利用方法を提供するが、
一般ユーザが直接利用するのは難しい。
基本機能、プリミティブ
Operating Systemレベルでの通信機能および認証機能
などの基本機能およびプリミティブ。低レベルミドルウェア
はこれらの機能を元に実装されている。
米国で開発されたGlobus Toolkitが
事実上の標準
難しいが
柔軟な処理が
記述できる
グリッドプログラミングは何が違うか?
•
分散配置された計算機を利用する。
– セキュリティ
– 非均質
• ハードウェア、ソフトウェア
• キューの設定
• ディスク構成
– 様々なジョブ起動機構
• Globus GRAM, Condor, NAREGI SS, UNICORE, SSH…
•
•
•
– 分散プロセスを協調させて計算を進める
利用可能な計算機は静的に決まらない(かもしれない)
– キュー待ち
– メンテナンス等による停止
障害は不可避
– ハードウェア障害
– ネットワーク遮断
高い性能、スケーラビリティ
– 数百~数千、数万オーダーのプロセッサを効率良く利用
これらの違いを意識せずにプログラムが書けると良い
GridRPC
② 結果の通知
スーパーコンピュータ
の遠隔利用
Internet
ユーザ
① 関数呼び出し
特殊なライブラリの
遠隔呼び出し
グリッド上の複数の高性能計算機を利用した大規模計算
ポータル、ASPの
バックエンドとして利用
GridRPC APIがOGF初の最終標準として承認された
(2007.10) GFD-R 52
GridRPC の構成要素
• クライアントコンポーネント
– GridRPCを用いてリモートライブラリを呼び出す側。
– 関数ハンドルを介して遠隔実行モジュールを操作・管理する。
• 遠隔実行モジュール(Remote Executables)
– GridRPCによってクライアントから呼び出される側。
– そのプロセスは動的に起動される。
• 情報マネージャ
– 遠隔実行モジュールに関する情報を提供・管理する。
・・・・
サーバ
関数ハンドル
・・・・
・・・・
サーバ
クライアント
・・・・
・・・・
クライアント
コンポーネント
・・・・
情報マネージャ
遠隔実行モジュール
遠隔実行プログラム
サーバ
Ninf-Gとは?
• GridRPCによるプログラム開発および実行を
支援するソフトウェアパッケージ。以下を含む。
– C/C++, Java APIsとライブラリ
– IDL コンパイラ
– シェルスクリプト
• クライアントプログラムのコンパイルドライバ
• リモートライブラリの構築および管理
– 例プログラム
– マニュアル
• 最新版は5.0.0
Ninf-G5のアーキテクチャ
Client side
Server side
IDL file
Client
Invoke
Server
Interface
Request
Interface
Reply
Connect back
Invoke
Executable
GRIS/GIIS
IDL Compiler
TCP/IP
Globus-IO
GRAM
SSH, Condor
Numerical
Library
jobmanager
retrieve
Generate
Ninf-G
Executable
Interface Information
LDIF File
日米大規模グリッド上でのSIMOXシミュレーション(2005年)
Separation by Implanted Oxygen (SIMOX)
SOI (Silicone On Insulator)構造を持つチップの製造に利用
高速かつ低消費電力デバイスの製造が可能
酸素原子の入射位置と入射後の振る舞いの関連を力学的・化学的
に解析
初期パラメータ
Si基盤に5個の酸素原子(~240eV)を入射
各粒子はSi結晶の異なる位置に入射
5個のQM領域を定義
領域数,領域の大きさはシミュレーション中に変化
全原子数:11万原子
大規模かつ高性能を実現するためにGridRPCとMPIを相補的に利用
する新しいプログラミングモデルの開発
柔軟性
QM領域の動的な変動
QM領域内の原子数の動的な増減
QM領域数の動的な増減
頑健性
数週間~数ヶ月連続実行が必要
障害から復旧する機能が必要
性能
QMシミュレーションは大規模な計算
を伴う
複数のQMシミュレーションは異なる
クラスタを利用可能であるべき
ISTBS
Presto III
•
•
•
P32
F32
M64
HPC
DTF
QM1
P32
P32
P32
P32
P32
USC
USC
USC
ISTBS
ISTBS
QM2
P32
P32
NCSA
NCSA
NCSA
USC
USC
USC
Presto
Presto
QM3
M64
M64
M64
M64
M64
M64
M64
M64
M64
M64
QM4
P32
P32
TCS
TCS
TCS
USC
USC
USC
P32
P32
QM5
P32
P32
TCS
TCS
TCS
USC
USC
USC
P32
P32
Reserve
F32
F32
P32
P32
P32
P32
P32
P32
F32
F32
実験期間: 18. 97 days
計算タイムステップ: 270 (~ 54 fs)
最長継続計算時間: 4.76 day
Phase 1
Phase 2
Phase 3
Phase 4
TCS
実験結果(続き)
5 タイムステップ毎にQM領域の拡張/分割を実 • 酸素原子の振る舞い、残存速度は初期位置に
行(拡張: 47 回、分割: 8 回)
v/v0 強く依存
No. of CPUs/Atoms
800
700
600
500
400
300
200
100
0
1
No. of
CPUs
0.8
領域1
領域2
領域3
領域4
領域5
0.6
0.4
No. of
QM Atoms
0.2
0
50
100
150
200
250 270
1
Time Step
意図的・非意図的リソース切り替えにより長
期間のシミュレーションに成功
スケジューリングに基づく変更
障害発生による変更
51
101
151
201
251 Time step
Ninf-G5のまとめ
• GridRPCに基づくタスク並列アプリの実装・実行
を支援するミドルウェア
• 柔軟、頑健かつ高性能なアプリの実装が可能
• 実行環境に応じた遠隔プロセス起動、情報サー
ビス、クライアント・サーバ間通信が可能
– 例:GridRPCシステムNinf-Gの外部起動モジュール
機構
• 様々なミドルウェアを介したRPCが可能
– Globus Toolkit, NAREGISS, UNICORE,
– Condor, SSH, …
• 容易に外部起動機構を追加可能
– ArcGridFTP Server by NorduGrid
– 単一システム内でもSSH等を用いた(Gridミドルを利
用しない)高速な実行が可能
利用例:GEO Grid
Global Earth Observation(GEO) Grid
•
•
グリッド技術を用い、地球観測衛星データなどの大規模アーカイブおよびその
高度処理を行い、分散環境下の各種観測データや地理情報システムデータと
統融合した処理・解析を、ユーザが手軽に扱えることを目的としたシステムか
つコンセプト。
地球観測に関わる多種多様なデータや計算を研究コミュニティや事業者が安
全・安心に利用できる環境の提供を目指している。
Satellite
SatelliteData
Data
Map
Map
Grid
Grid
Technologies
Technologies
Geology
Geology
Geo* Contents
Applications
GIS
GISdata
data
Environment
Environment
Field
Fielddata
data
Resources
Resources
Disaster
Disaster
mitigation
mitigation
例:火砕流ハザードマップ作成
PALSARデータから得られる
地殻変動の様子
溶岩ドームの
現地観測
ハザードマップ作成
PALSAR
ASTER
ASTERデータから得られる
標高図
溶岩、火砕流のシミュレーション
www.geogrid.org
要件
複数の組織に跨る資源への透過的なアクセスの実現
複数の組織に跨る資源に対してあたかも単一のセキュリティドメイ
ンであるような透過的なアクセスを実現する認証・認可機構を実現
する必要がある。
データ提供ポリシの尊重
自由に参照できないデータが多々存在する
有料、コミュニティ内限定など
データ提供者のポリシに応じた柔軟なアクセス制御を実現する必
要がある。
多様なアクセスパターンによるデータや計算の統合の支援
クライアント・サーバ型にとどまらない多様なアクセスパターンに
よってデータや計算を統合する機能を支援するセキュリティ機構を
実現する必要がある。
簡便性
ユーザ,データ提供者,プロジェクト管理者など、すべての参加者
に対して「簡単に使える」インタフェースやツールを提供する必要が
ある。
82
www.geogrid.org
GEO Gridの設計方針
仮想組織(VO)の概念を導入
データや計算は、標準的なプロトコルおよびインタフェースを通し
て利用可能な「サービス」として提供される
研究コミュニティは、要望に応じて必要なサービスを組み合わせ、
仮想的なインフラを構築
VOに基づく認可を基本とする
VO内でのユーザ権限はVOで管理
サービスへのアクセス制御はサービス提供者が設定
ユーザ数に対してスケーラブルなセキュリティ基盤
83
www.geogrid.org
Overview and usage model of the GEO Grid system
ユーザレベルの認証とVO単位の認可
ユーザの権限(属性)はVO管理者が適切に管理。
サービスへのアクセス制御は、サービス提供者のポリシに応じて設定。
VO-level, Group/Role-based, User-level, etc.
ユーザ数に対してスケーラブルなアクセス制御が可能。
84
www.geogrid.org
Key Technologies: GSI, VOMS, LCAS/LCMAPS,
GAMA, and OGSA-DAI
グリッドの標準的なセキュリティ技術であるGrid Security
Infrastructure (GSI)
Based on Public Key Infrastructure (PKI) and X.509
Certificates.
VO管理を行うVirtual Organization Membership Services
(VOMS)
代理証明書に属性情報を埋め込む
VOMSの属性を見てアカウントマッピングを行うLCAS/LCMAPS
ユーザのサブジェクト名やVOMS属性に応じてプールアカウントに
自動マッピング
ユーザのアカウントおよび証明書を集中管理するGrid Account
Management Architecture (GAMA)
Gridsphereの認証モジュールGAMA Portletが提供されている。
DB連携はOGSA-DAI
85
www.geogrid.org
実装
システム実装に用いたソフトウェア、ツール群
GAMA
Gridsphere
VOMS + LCAS/LCMAPS
OGSA-DAI
Pre-WS/WS GRAM
VOMSを用いた認可
GridFTP
Apache + Gridsite
GAMAとVOMSの連携のために2つの機能を追加実装
アカウント作成時に、GAMAポータルがVOMRS (VO Management
Registration Service) にアクセスしてVOに登録
GAMAポータルがプロキシ証明書作成後、VOMSサーバにアクセスして
VOMSプロキシ証明書を作成
VOMSによる認可(アクセス制御)
様々な単位でのアクセス制御
VO, Group, Role, User
様々なアカウントマッピング
Single account, pool account, account for individual user
86
www.geogrid.org
login
Account
DB
user
Terra/ASTER
account (GAMA)
server
TDRS
VO DB
credential
VO (VOMS)
server
APAN/TransPAC
portal server
GET
exec
query GSI +
VOMS
GSI + VOMS
WFS
WCS
GIS
server
Data
WMS
map
server
Maps
CSW
OGSA
DAI
ERSDIS/NASA
GSI + VOMS
GRAM GridFTP
catalogue/
metadata
server
gateway
server
Meta data
Storage
(DEM)
GEO Grid Cluster
L0 L0 L0 L0
L0 L0 L0 L0
L0 L0 L0 L0
87
www.geogrid.org
Java Program
Integration
AISTFramework
with OGSA-DAI
OGSA-DAI Client
Application Globus
OGSAServer
DAI
SQL
SQL
SQL
SQL
VOMS
VOMS
SQL
w/ JDBC
Globus
OGSAOGSADAI
DAI
SQL
w/ JDBC
Database Server
(Sybase)
FORMOSAT-2
SQL
Database Server
(PostgreSQL)
NSPO@TW
AIST@JP
ASTER
MODIS
88
まとめ
• 約10年の月日を経て、グリッドミドルウェアは
かなり使い物になるようになった。
– まだ改良すべき点はあるし、研究段階のものもあ
るが...
• 提供形態も、コンポーネントごとのもの、ある
いは巨大パッケージになっているものなど
様々
– それぞれprosとcons
• 今日紹介したミドルウェアの他にも色々ある
謝辞
• 多くの方にスライドを提供していただきました。
– Globus Toolkit by Ian Foster (ANL)
– Condor by 中田秀基(産総研)
– OGSA-DAI by 小島功(産総研)
– gLite by Min Tsai (Academia Sinica)
– NAREGI by 合田憲人(国立情報学研究所)