Grid World 2008 チュートリアル グリッドミドル …はじめに •...
Transcript of Grid World 2008 チュートリアル グリッドミドル …はじめに •...
はじめに• 今日はグリッドの技術的課題と、それを解決する代表的ミドルウェアを紹
介します。– フリーソフトウェアとして公開されているグリッドミドルウェアを俯瞰的に見渡し、
機能や実装ごとに整理して紹介。– 代表的なものを紹介していますが、すべてをカバーできているわけではあり
ません。– PC Grid (P2P)については含めていません。
– 各社さんが出されているビジネスグリッドミドルウェアについては展示コーナーにて ☺
• 話の内容– グリッドの紹介と技術的課題– 代表的ミドルウェア紹介– ミドルウェアの利用例– 今後の課題と方向性
• ごめんなさい– お手元の資料8ページ目から、スライド10枚追加してしまいました...
– 今日のスライドは、後日グリッド協議会のホームページに掲載されます。– スライドの分量が多いですが、話の中では飛ばします。あとは資料としてご覧
ください。
グリッドが支える第四の科学(eサイエンス)!• 情報技術の高度利用に立脚した新しい科学技術研究手法
– ネットワークで接続された様々な高機能資源(高性能計算機、高速ネットワーク、大規模データベース、実験装置など)を統合的に活用することにより、科学技術における新たな発見や融合研究領域などの新たな研究分野を創出することを目指す。
センサー、装置
記憶装置
高性能計算機ソフトウェア
専門家視覚装置
高速ネットワーク
ユーザ ユーザ
ユーザ
DB @Thailand
DB @Japan Mirror DB
Satellite
地質情報科学
resourceinvestigation
disasterprevention Environment
Web Service: Meta Database
Data Grid: Grid File Systems
Storage
ClusterComputer
ClusterComputer
user
eScience とそれを支えるグリッド技術(例)大規模データ処理大規模データ処理 分散処理分散処理
ハイスループット計算ハイスループット計算 メタコンピューティングメタコンピューティング
Job 1Job 2Job 3Job 4Job 5Job 6Job 7Job 8Job 9Job 10Job 11Job 12Job 13Job 14Job 15Job 16Job 17Job 18
Quantum MechanicsAntigen
HeavyChain
LightChaing
VariableRegion
ConstantRegion
Classical Mechanics
DB @Thailand
DB @Japan Mirror DB
Satellite
地質情報科学
resourceinvestigation
disasterprevention Environment
Web Service: Meta Database
Data Grid: Grid File Systems
Storage
ClusterComputer
ClusterComputer
user
eScience とそれを支えるグリッド技術(例)大規模データ処理大規模データ処理 分散処理分散処理
ハイスループット計算ハイスループット計算 メタコンピューティングメタコンピューティング
Job 1Job 2Job 3Job 4Job 5Job 6Job 7Job 8Job 9Job 10Job 11Job 12Job 13Job 14Job 15Job 16Job 17Job 18
Quantum MechanicsAntigen
HeavyChain
LightChaing
VariableRegion
ConstantRegion
Classical Mechanics
データベース連携
グリッドファイルシステム
実験装置と計算機の統合利用
分散計算環境での計算の割り振り
グリッドプログラミング開発・実行
セキュリティ ポータル、GUI、WFT スケジューラ 情報サービス
グリッドに対する技術的要請• Virtual Organization, Virtual
Computerの形成
– セキュリティ・安全性• Single sign-on• 複雑な資源アクセス
• コード、プロセスなどの移動
– 資源の名前の管理• グローバルなIDの管理
• 資源の動的な挙動に対処
– Heterogeneityへの対処• 言語、OS、ハードウェア、管理
ポリシ、などなど
• ミドルウェアレイヤでSingle System Image
• サイトの独立性(root権限なし)
• 動的な資源の管理–– 資源の動的拡張性資源の動的拡張性–– 耐故障性、自己組織化耐故障性、自己組織化
•• 資源の動的な変化は日常茶資源の動的な変化は日常茶飯事飯事
–– 資源配分資源配分•• VOVOの計算資源、データ資源の計算資源、データ資源
リモートセンサーなどリモートセンサーなど•• QoSQoSをどのように保証をどのように保証??•• 全体で安定するか全体で安定するか??どのようどのよう
なモデルが適切なモデルが適切??–– スケーラビリティスケーラビリティ
•• 世界規模のインフラ世界規模のインフラ
• 高性能–– HPC, HTCHPC, HTC–– 高バンド幅高バンド幅++高レーテンシ対応高レーテンシ対応
Slide courtesy by S. Matsuoka
これらの技術的課題を解決するミドルウェアが多数開発・提供されている-コマンド、API、GUI等で機能を提供-
- 複数のミドルウェアを組み合わせて上位のミドルウェアを実装可能 -
代表的グリッドミドルウェア一覧(機能別分類)
• セキュリティ– 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 Toolkitで何ができるのか?
• グリッドのアプリケーション/システムを構築するための道具箱– Grid環境での要求
• セキュリティ• 情報サービス• 資源管理• データ管理....
• グリッドアプリケーション構築のためのライブラリー、コマンドツール群– システムではない– 一部のツールだけでも選択して導入可能
Globus Toolkit
安全でなければならない安全でなければならない
計算機を利用したい計算機を利用したい データ転送したいデータ転送したい
基本機能を提供
どこに何があるかどこに何があるか
Globus Toolkit のアーキテクチャ砂時計モデルによる実装の容易化砂時計モデルによる実装の容易化
ユーザー・アプリケーション
コレクティブ・サービス
リソース
コネクティビティ
ファブリック
ツールとアプリケーション
ディレクトリ、診断、監視
リソースとサービスへの
セキュア・アクセス
多様な資源
コンピュータ、ストレージ、ネットワーク、センサーなど
Globus Toolkit
GT4が提供する機能• Common Runtime
– GT4のweb / pre-web サービスに対する実行環境を提供
• Execution Management– ジョブの初期化、モニタリング、管理、スケジュール、調整
の機能を提供
• Data Management– データ転送、レプリケーションの機能を提供
• Information Services– グリッド上のリソース/サービスを発見、モニタリングする
機能を提供
• Security– ユーザー/サービスの認証、認可、安全な通信、クリデン
シャル管理、グループ管理の機能を提供
Data MgmtSecurity CommonRuntime
Execution Mgmt
Info Services
Non-WS Components
Pre-WSAuthenticationAuthorization
GridFTP C CommonLibraries
Globus Toolkit version 2 (GT2)
Grid ResourceAlloc. Mgmt(GRAM)
Monitoring& Discovery(MDS)
Web ServicesComponents
Slide by courtesy of Ian Foster
Data MgmtSecurity CommonRuntime
Execution Mgmt
Info Services
Web ServicesComponents
Non-WS Components
Pre-WSAuthenticationAuthorization
GridFTPPre-WSGrid ResourceAlloc. & Mgmt
Pre-WSMonitoring& Discovery
C CommonLibraries
AuthenticationAuthorization
ReliableFileTransfer
Data Access& Integration
Grid ResourceAllocation &Management
Index Java WS Core
CommunityAuthorization
ReplicaLocation
eXtensibleIO (XIO)
CredentialMgmt
CommunitySchedulingFramework
Delegation
Globus Toolkit version 4 (GT4)
DataReplication
Trigger C WS Core
Python WS CoreWebMDS
WorkspaceManagement
Grid Telecontrol Protocol
Contrib/Preview
Core
Depre-cated
www.globus.org
Slide by courtesy of Ian Foster
26
Data MgmtSecurity CommonRuntime
Execution Mgmt
Info Services
GridFTPAuthenticationAuthorization
ReliableFileTransfer
Data Access& Integration
Grid ResourceAllocation &Management
Index
CommunityAuthorization
DataReplication
CommunitySchedulingFramework
Delegation
ReplicaLocation
Trigger
Java Runtime
C Runtime
Python RuntimeWebMDS
WorkspaceManagement
Grid Telecontrol Protocol
Globus Toolkit v4www.globus.org
CredentialMgmt
Globus Toolkit:Open Source Grid Infrastructure
Slide by courtesy of Ian Foster
ユーザ
(例えばMPIやRPCの)通信*
リモートファイルのアクセス要求*
遠隔資源上でのプロセス生成の要求*
Single Sign On と delegation
サーバA サーバB
* 相互認証が必要
シングルサインオン
委譲(delegation)
GSI: Grid Security Infrastructure
• 「グリッド」の名がつく技術の中で、もっとも偉大な成果(私見)
• PKIとX.509証明書を用いた認証および認可
– SSL protocol や WS-Security を利用
– ユーザ、サービス、ホストはX.509証明書を保持
する必要がある
• Proxy証明書
– X.509証明書の拡張(RFC3820)– シングルサインオンと委譲を実現
Proxy証明書
ユーザ証明書Subject DN公開鍵Issuer (CA)Digital Signature
秘密鍵(暗号化)
ユーザが持っている証明書(と秘密鍵)
grid-proxy-initコマンドの実行
Proxy証明書Subject DN/Proxy(新)公開鍵(新)秘密鍵(生)Issuer (ユーザ)Digital Signature(ユーザ)
署名
ユーザ証明書Subject DN公開鍵Issuer (CA)Digital Signature
ユーザのアイデンティティ
Globus Toolkit at a Glance
クライアント@アキバ
データサーバ@somewhere
計算機A@東工大
計算機B@つくば
CA
GRIS
GRIS
GRISGIIS
gatekeeper
gatekeeper
ユーザ証明書
プロキシ証明書2
プロキシ証明書3プロキシ
証明書1
grid-proxy-init
資源情報の問い合わせ
GridFTPサーバ
データ転送
プロセスプロセス
プロセスの起動
結果の返送
資源管理資源管理 情報サービス情報サービス データ管理データ管理
Globus Security Infrastructure (GSI) がこれらの要素をつなぎ合わせる
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の特徴
• スケーラブル– 1プールで1000ノード程度まで稼動実績あり
– 複数のプールを組み合わせればさらに
• ステイブル
– 自動復旧機構
• フレキシブル– ClassAdとマッチメイキングによる柔軟なスケ
ジューリング
– ユーザのプライオリティによるフェアシェア
masterd
schedd startd
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.
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でできることとは?
リモート・遠隔地のデータベースが、リモート・遠隔地のデータベースが、WebWebサービス(データサービス、サービス(データサービス、GDSGDS)として提供)として提供され、グリッドのミドルウェア(され、グリッドのミドルウェア(GlobusGlobus ToolkitToolkit)上)上のプログラムのプログラム(client)(client)から使える。から使える。
一般的なデータベースプログラミング一般的なデータベースプログラミング((プログラム内からプログラム内からSQLSQLなどを投げる)などを投げる)
アクティビティという処理モデル(後述)アクティビティという処理モデル(後述)一連の処理をまとめて投げ、一連の処理をまとめて投げ、処理結果をまとめてもらう。処理結果をまとめてもらう。
★ OGSA-DAIの考え方:
分散処理へのアプローチ
• やりたいこと
– 分散データベース処理を含む分散ワークフロー
• サービス連携
• SOAベースの応用開発
ナイーブに応用を作ると性能が悪くなりそうだ。
★ OGSA-DAIにおける考え方。1. 一つのデータサービスでの処理を高度化する。
•• Activityの連携でワークフローを記述、処理Activityの連携でワークフローを記述、処理– ひとつのサービス内でできることを高度化
2. 複数のサービスにおける連携•• データベース処理を含む汎用ワークフローデータベース処理を含む汎用ワークフロー
•• BPELBPELややTavernaTavernaなど、汎用ワークフローエンジンと組み合わなど、汎用ワークフローエンジンと組み合わせよ。せよ。•• 該当モジュールの提供該当モジュールの提供
•• WEEPWEEPなどなどDAIDAI向き向きBPELBPELエンジンの提供エンジンの提供
•• 分散データベース処理に基づくワークフロー分散データベース処理に基づくワークフロー•• 分散問い合わせ処理のミドルウェア+分散問い合わせ処理のミドルウェア+ααの提供の提供
•• OGSA-DQPOGSA-DQP
•• 問い合わせ処理を 適化する。問い合わせ処理を 適化する。
いいところ
単なるSQLのリモートアクセスとどう違うか?
• サービスベース– HTTPポートの開いているところでは、どこでもOK
• GSIをサポート– GSIとDB(例えばOracle)のアカウントのマッピング
• 結果のデータ変換をサポート– XSLTを支援、検索結果の加工など。
• 第3者転送・大量データ処理をサポート– FTP・GFTPなどにより、結果を第3者サイトに転送できる
★ 応用の特徴• 計算と分散データベース処理の連携
– 例:分散遺伝子DBを統合してクラスタ上でBlastにかけるとか。
• Grid のミドルウェアに基づいている(GT4,OMII)ことが有利
• セキュリティ基盤との連携– GSIに基づく、グリッドの認証
– VOMS?
• 第3者データ転送、大量データ転送– 大量の検索結果がクライアントに直接戻るとまずい
• 検索結果を別のサイトに送ったり、
• GridFTPなどと結びつけたり、、
EGEE-II INFSO-RI-031688
Enabling Grids for E-sciencE
www.eu-egee.org
Overview of EGEE andgLite Middleware
Presented by Min TsaiWith thanks to EGEE colleagues for many of these slides
EGEE-II INFSO-RI-031688
Enabling Grids for E-sciencE
www.eu-egee.org
54
Grid middleware
• 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
EGEE-II INFSO-RI-031688
Enabling Grids for E-sciencE
www.eu-egee.org
55
Basic Services of gLite
Computing Element Storage Element
Site X
Information System
Submit job
Submit job
query
Retrieve output
Resource Broker
User Interface
publishstateFile and Replica Catalog
Authorization Service
(VO Management Service)
query
createcredential
process
Retrieve status & output
Logging and bookkeeping
Job status
Job status Logging
EGEE-II INFSO-RI-031688
Enabling Grids for E-sciencE
www.eu-egee.org
56
INTERNET
• gLite middleware runs on each shared resource to provide– Data services– Computation
services – Security service
• Resources and users form Virtual Organisations: basis for collaboration
Virtual Organisation (VO)
EGEE-II INFSO-RI-031688
Enabling Grids for E-sciencE
www.eu-egee.org
Logging into the Grid:Creating a proxy credential
% voms-proxy-init login to the GridEnter 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
% voms-proxy-destroy logout from the gridDelegated credentials will not be revoked
[sipos@glite-tutor sipos]$ voms-proxy-init --voms gildaEnter GRID pass phrase: ***********Your identity: /C=HU/O=NIIF CA/OU=GRID/OU=NIIF/CN=Gergely Sipos/[email protected] temporary proxy ............................................................ DoneContacting voms.ct.infn.it:15001 [/C=IT/O=INFN/OU=Host/L=Catania/CN=voms.ct.infn.it] "gilda" DoneCreating proxy ................................ DoneYour proxy is valid until Sat Jun 23 04:55:19 2007
EGEE-II INFSO-RI-031688
Enabling Grids for E-sciencE
www.eu-egee.org
58
Joining a Virtual Organisation
• Users (and machines) are identified by certificates.
• Steps– User obtains certificate from
Certification Authority– User registers at the VO
usually via a web form– VO manager authorizes the user
VO DB updated– User information is replicated onto VO
resources within 24 hours
CA
VO manager
Obtaining certificate:Annually
VOMS database
Grid sites
VO Membership Service
Joining VO:Once
Replicating VOMS DBonce a day
User’s identity in the Grid = Subject of certificate:/C=HU/O=NIIF CA/OU=GRID/OU=NIIF/CN=Gergely Sipos/[email protected]
List of EGEE VOs: On CIC Operations
Portal
EGEE-II INFSO-RI-031688
Enabling Grids for E-sciencE
www.eu-egee.org
59
voms-proxy-init: what really happens in the background
• voms-proxy-init– Creates a proxy locally– Contacts the VOMS server and
extends the proxy with a roleVOMS server signs the proxy
voms-proxy-init –voms gilda
• Allows VOs to centrally manage user roles
Proxy
Proxy+
VOMSroles
EGEE-II INFSO-RI-031688
Enabling Grids for E-sciencE
www.eu-egee.org
Summary of Authentication / Authorization
NAREGI Grid Middleware
Kento Aida, National Institute of Informatics
Computing Resources
NII IMS ResearchOrganizations etc
SuperSINET
GridGrid--Enabled NanoEnabled Nano--ApplicationsApplications
Grid PSEGrid PSE
Grid Workflow ToolGrid Workflow Tool
Grid VisualizationGrid Visualization
Data GridData Grid
Information ServiceInformation Service
Grid Grid ProgrammingProgrammingLibrariesLibraries-- GridRPCGridRPC-- GridMPIGridMPI
HighHigh--Performance & Secure Grid Networking, CertificationPerformance & Secure Grid Networking, Certification
Grid VMGrid VM
Super SchedulerSuper Scheduler
WSRFWSRF((NAREGI implementation + Globus 4)NAREGI implementation + Globus 4)
GFSJSDL
ACS
CIM
OGSA-RUS
OGSA-DAI
X.509
VOMS
GridRPCGridFTP
OGSA-EMS
MPI 1.0/2.0
WSRF XKMS
62
Job Execution Scenario
Kento Aida, National Institute of Informatics
RISMJob
LocalScheduler
GridVM
LocalScheduler
IMPIServer
GridVM
FMOJob
LocalScheduler
GridVM
SuperScheduler
WFT
MPIsource
Work-flow
PSE
Site ρ Site α Site μ
(Co-Allocation)3: Reservation
6: MPI job starts
9: Accounting
2: Monitoring
4: Reservation5: IMPI starts
c: Editb: Deployment
2: Resource discovery
7: MPI init.
InformationService
GridMPI
GridMPI
RISMSMP machine
64 CPUs
FMOPC cluster128 CPUs
GVS
Output files
Input files
IMPI
8: Visualization1: Submission
Application requirement definitionCA/RA
MyProxy
VOMSUsercert.
a: Sign-on Portal
Network monitor
DataGrid
Grid File System
Proxy cert. (User DN, VO)
… Co-allocation Job
63
User-Level Grid Tools & PSE
Kento Aida, National Institute of Informatics
Grid PSEsupport for compilation and deploymentexecution support
Grid Workflow Toolworkflow languageGUI
64
Programming
GridRPCRPC on the grid
API standardization by OGF
Ninf-Ga reference implementation of GridRPC API
GridMPIMPI library on the grid
MPI communication between parallel systems on the grid Kento Aida, National Institute of Informatics
Server sideClient side
Client
GRAM
3. invoke Executable
4. connect
back
NumericalLibrary
IDL Compiler
Remote Executable1. interface
request
2. interface reply fork
MDS InterfaceInformationLDIF File
retrieve
IDLFILE
generate
Cluster A:YAMPII IMPI YAMPII
IMPI server
Cluster B:
65
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.
GridFTPServer
NAREGI Portal
NAREGI ClientNAREGI Client
SRMClient
GfarmClient
gLite Client
gLite ClientgLite Client
LCG Utility
Computing Resource
JobJob
SRMClient
GfarmClient
NAREGIMetadata Server
LFC(Metadata Server)
GfarmServer
DPM(SRM Server)
StorageStorage
Kento Aida, National Institute of Informatics
66
Architecture
DemoNAREGI EGEE: using NAREGI WorkflowEGEE NAREGI: using glite WMS commands
EGEE user NAREGI user
gLite-WMS gLite-BDII NAREGI-ISGIN-BDII
lcgCElcgCEPreWS-GRAM
gLite-UI NAREGIPortal
Computing ResourceComputing Resource
NAREGIGridVM
WSGRAM
gliteCEgliteCENAREGI-GAHP
NAREGI Client LibNAREGI-SSNAREGI-SS
NAREGI-SC
Interop-SC
NAREGI-EGEE Job Submission (GIN)
Kento Aida, National Institute of Informatics
67
グリッドにおけるプログラミング方法およびそれらをサポートするソフトウェアの現状
難しいが柔軟な処理が
記述できる
使いやすいが
柔軟性に欠けるポータル特定のアプリケーションを利用するためのWebインタフェースを提供。ユーザはプログラミングの必要なし。NPACI HotPage, GridPort, Ninf-G Portal, QC Portalなど
高レベルミドルウェア並列・分散プログラミングを容易に行うためのシステム。低レベルミドルウェアが提供するグリッドに必要な機能を容易に利用する手段を提供。ほとんどのアプリケーションプログラマは高レベルミドルウェアを利用することになる。ポータルにおけるバックエンドとしても必要不可欠。
この階層においては、競争が激しい
低レベルミドルウェアセキュリティ、資源管理、(安全な)通信、データ転送、情報サービスなど、グリッドにおいて必要な要素技術を提供。豊富な機能と柔軟な利用方法を提供するが、一般ユーザが直接利用するのは難しい。
基本機能、プリミティブOperating Systemレベルでの通信機能および認証機能
などの基本機能およびプリミティブ。低レベルミドルウェアはこれらの機能を元に実装されている。
米国で開発されたGlobus Toolkitが事実上の標準
産総研で開発を進めているシステム
(Ninf-G)を高レベルミドルウェアの
標準的なシステムの1つとして普及させる。本システムを基にしたプロトコル、API等をGGFにおいて標準化。
グリッドプログラミングは何が違うか?• 分散配置された計算機を利用する。
– セキュリティ– 非均質
• ハードウェア、ソフトウェア• キューの設定• ディスク構成
– 様々なジョブ起動機構• 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
GRAMSSH, Condor
Invoke Executable
Connect back
IDL fileNumerical
Library
IDL Compiler
Ninf-GExecutable
GenerateInterfaceRequest
Interface Reply
Server sideClient side
jobmanager
GRIS/GIIS Interface InformationLDIF Fileretrieve
TCP/IPGlobus-IO
InvokeServer
日米大規模グリッド上でのSIMOXシミュレーション(2005年)Separation by Implanted Oxygen (SIMOX)Separation by Implanted Oxygen (SIMOX)
SOI (Silicone On Insulator)構造を持つチップの製造に利用
高速かつ低消費電力デバイスの製造が可能
酸素原子の入射位置と入射後の振る舞いの関連を力学的・化学的酸素原子の入射位置と入射後の振る舞いの関連を力学的・化学的に解析に解析
初期パラメータ初期パラメータ
Si基盤に5個の酸素原子(~240eV)を入射
各粒子はSi結晶の異なる位置に入射
5個のQM領域を定義
領域数,領域の大きさはシミュレーション中に変化
全原子数:11万原子
大規模かつ高性能を実現するために大規模かつ高性能を実現するためにGridRPCGridRPCととMPIMPIを相補的に利用を相補的に利用する新しいプログラミングモデルの開発する新しいプログラミングモデルの開発
柔軟性柔軟性
QM領域の動的な変動
QM領域内の原子数の動的な増減
QM領域数の動的な増減
頑健性頑健性
数週間~数ヶ月連続実行が必要
障害から復旧する機能が必要
性能性能
QMシミュレーションは大規模な計算を伴う
複数のQMシミュレーションは異なるクラスタを利用可能であるべき
Phase 1 Phase 2 Phase 3 Phase 4
• 実験期間: 18. 97 days• 計算タイムステップ: 270 (~ 54 fs)• 長継続計算時間: 4.76 day
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
P32 M64 F32 HPC TCSDTFPresto IIIISTBS
実験結果(続き)• 酸素原子の振る舞い、残存速度は初期位置に
強く依存
0
0.2
0.4
0.6
0.8
1
1 51 101 151 201 251
領域1領域2領域3領域4領域5
v/v0
Time step
5 5 タイムステップ毎にタイムステップ毎にQMQM領域の拡張領域の拡張//分割を実分割を実行(拡張行(拡張: 47 : 47 回、分割回、分割: 8 : 8 回)回)
0
100
200
300
400
500
600
700
800
50 100 150 200 250 Time Step
No. ofCPUs
No. of QM Atoms
270
No. of CPUs/Atoms
意図的・非意図的リソース切り替えにより長意図的・非意図的リソース切り替えにより長期間のシミュレーションに成功期間のシミュレーションに成功
スケジューリングに基づく変更障害発生による変更
Ninf-G5のまとめ• GridRPCに基づくタスク並列アプリの実装・実行
を支援するミドルウェア• 柔軟、頑健かつ高性能なアプリの実装が可能• 実行環境に応じた遠隔プロセス起動、情報サー
ビス、クライアント・サーバ間通信が可能– 例:GridRPCシステムNinf-Gの外部起動モジュール
機構• 様々なミドルウェアを介したRPCが可能
– Globus Toolkit, NAREGISS, UNICORE, – Condor, SSH, …
• 容易に外部起動機構を追加可能– ArcGridFTP Server by NorduGrid
– 単一システム内でもSSH等を用いた(Gridミドルを利用しない)高速な実行が可能
Global Earth Observation(GEO) Grid• グリッド技術を用い、地球観測衛星データなどの大規模アーカイブおよびその
高度処理を行い、分散環境下の各種観測データや地理情報システムデータと統融合した処理・解析を、ユーザが手軽に扱えることを目的としたシステムかつコンセプト。
• 地球観測に関わる多種多様なデータや計算を研究コミュニティや事業者が安全・安心に利用できる環境の提供を目指している。
Geo* Contents Applications
Satellite DataSatellite Data
MapMapGeologyGeology
GIS dataGIS data
Field dataField data
EnvironmentEnvironment
ResourcesResources
GridTechnologies
GridTechnologies
DisastermitigationDisaster
mitigation
ASTERデータから得られる標高図
溶岩ドームの現地観測
溶岩、火砕流のシミュレーション
ハザードマップ作成PALSARデータから得られる地殻変動の様子
例:火砕流ハザードマップ作成
ASTER
PALSAR
www.geogrid.org
82
要件要件
複数の組織に跨る資源への透過的なアクセスの実現
複数の組織に跨る資源に対してあたかも単一のセキュリティドメインであるような透過的なアクセスを実現する認証・認可機構を実現する必要がある。
データ提供ポリシの尊重自由に参照できないデータが多々存在する
有料、コミュニティ内限定など
データ提供者のポリシに応じた柔軟なアクセス制御を実現する必要がある。多様なアクセスパターンによるデータや計算の統合の支援
クライアント・サーバ型にとどまらない多様なアクセスパターンによってデータや計算を統合する機能を支援するセキュリティ機構を実現する必要がある。
簡便性
ユーザ,データ提供者,プロジェクト管理者など、すべての参加者に対して「簡単に使える」インタフェースやツールを提供する必要がある。
www.geogrid.org
83
GEO GridGEO Gridの設計方針の設計方針
仮想組織(VO)の概念を導入
データや計算は、標準的なプロトコルおよびインタフェースを通して利用可能な「サービス」として提供される
研究コミュニティは、要望に応じて必要なサービスを組み合わせ、仮想的なインフラを構築
VOに基づく認可を基本とする
VO内でのユーザ権限はVOで管理
サービスへのアクセス制御はサービス提供者が設定
ユーザ数に対してスケーラブルなセキュリティ基盤
www.geogrid.org
84
Overview and usage model of the GEO Grid systemOverview and usage model of the GEO Grid system
ユーザレベルの認証とVO単位の認可
ユーザの権限(属性)はVO管理者が適切に管理。
サービスへのアクセス制御は、サービス提供者のポリシに応じて設定。VO-level, Group/Role-based, User-level, etc.
ユーザ数に対してスケーラブルなアクセス制御が可能。
www.geogrid.org
85
Key Technologies: Key Technologies: GSI, VOMS, LCAS/LCMAPS, GSI, VOMS, LCAS/LCMAPS, GAMA, and OGSAGAMA, and OGSA--DAIDAI
グリッドの標準的なセキュリティ技術である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
www.geogrid.org
86
実装実装
システム実装に用いたソフトウェア、ツール群GAMAGridsphereVOMS + LCAS/LCMAPSOGSA-DAIPre-WS/WS GRAMGridFTPApache + 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
VOMSを用いた認可
www.geogrid.org
87
TDRS
Terra/ASTER
ERSDIS/NASA
APAN/TransPAC
GEO Grid Cluster
L0 L0 L0 L0L0 L0 L0 L0
L0 L0 L0 L0Data
GISserver
WFS WCS
Maps
mapserver
WMS
Meta data
catalogue/metadata
server
CSW OGSADAI GRAM GridFTP
gatewayserver
Storage(DEM)
portal server
GSI + VOMS GSI + VOMS
GSI +VOMS
AccountDB
account (GAMA)server
VO DB
VO (VOMS)server
userlogin
credential
GET
queryexec
www.geogrid.org
88
Database Server(Sybase)
FORMOSAT-2
Application Server OGSA-
DAI
Globus
SQLw/ JDBC
NSPO@TW
Database Server(PostgreSQL)
ASTER MODIS
OGSA-DAI
SQLw/ JDBC
OGSA-DAI
Globus
AIST@JP
AIST
OGSA-DAI Client
Integration Frameworkwith OGSA-DAI
Java Program
SQL
SQL
SQL SQL SQL
VOMSVOMS VOMSVOMS
まとめ
• 約10年の月日を経て、グリッドミドルウェアは
かなり使い物になるようになった。
– まだ改良すべき点はあるし、研究段階のものもあるが...
• 提供形態も、コンポーネントごとのもの、あるいは巨大パッケージになっているものなど様々– それぞれprosとcons
• 今日紹介したミドルウェアの他にも色々ある