GSI - 医療情報システム研究室

Grid超入門
Society for Massively Parallel Processing
28 June, 2002
JAERI KANSAI Research Establishment
谷村 勇輔
同志社大学大学院
[email protected]
1
Chapter 1
 Gridとは何か?
 Globusとは何か?
概要,各種サービス
バージョン,インストール
使用方法




Gridを手軽に利用するために
Grid構築に関する諸活動
参考資料
私の研究
2
Global Computing
 広域に配置された複数の計算資源を結びつけて分散 /
並列 / 協調処理を行うための環境
 いわゆる Grid (グリッド)
 次世代の大規模計算(科学技術計算など)や大規模ストレージなどの
社会的 / 産業的基盤を構築する
 Computational Grid, Data Grid, 多地点遠隔ビデオ会議
 Internet Computing / Volunteer Computing
 一般ユーザのPC性能を結集して計算を行う
 SETI@home, RC5 Cracking Contest
 P2P
 Napster, Gnutella, ICQ
 各個人,各PC同士の結びつきから,何らかのコラボレーションを行いな
がら計算 / 検索 / データおよび情報の共有を行う
3
Grid(グリッド)とは?
 Power Grid (電力網) が語源
 電力網が現在の社会基盤であるように,
コンピュータ資源が将来の産業的・社会的
基盤となりうる
 対抗して Information Grid とも
 例えば・・
 ネットワーク上に研究機関・企業などの仮
想組織が作られる
 あえてコンピュータを買う必要がなくなる!?
 Grid を利用すれば,いつでも必要なス
ペックのコンピュータが手に入る
I.Foster, C.Kesselman, S.Tuecke
“Anatomy of the Grid: Enabling Scalable Virtual Organizations”
International Journal of Supercomputer Applications, 2001
4
Gridの利用例
実験
計算要求
コラボレーション
ビジュアル化
大規模データ
提供
5
何が新しいのか?
従来
telnet
 Not telnet
 リソース・その他の共有
 Computing Portal
 簡単に利用できる
 バーチャル組織
telnet
 ダイナミックに変化する
 多分野の研究者が集まる
今後
telnet
http
仮想コンピュータ
(数100~数1000台)
6
WAN Cluster?
 HPC Cluster との違い
 多数の組織から,様々なタイプのリソースが提供されて構築されるヘテロ
環境
 動的に変化する環境
 外乱の多いネットワークでつながれている
 手にできる計算リソースの規模が格段に大きい
 HPC だけではなく,HTC (High Throughput Computing) などHPC
Cluster とは異なる要求
 考えなければいけないこと
 これまでの並列処理技術がそのまま適用できない
 非同期通信,ヘテロ環境下での計算モデル
 ポータビリティ,セキュリティ
簡単に使える仕組み
 Cluster of Cluster, Hyper Cluster
7
なぜGridなのか?
 何らかの仕事を行ったり,問題解決を図ったりするモデ
ルが変化し,遠隔地の研究者がチームを組んだり,コラ
ボレーションを図る必要性が高まった.
 インターネットの普及により,全世界的なネットワークが
構築され,多くの高性能計算機がネットワーク上に存在
する.
 ネットワーク性能が劇的に向上している.
 1986年~2000年
 2001年~2010年
計算機 : 500倍
ネットワーク : 340,000倍
計算機 : 60倍
ネットワーク : 4000倍
「Scientific American の記事より (2001.1)」
8
Gridアーキテクチャ
Application Problem Solving Environment
Science Portal, 分野別の専用システム
Application Component Architecture
Global Shell, 数値計算ライブラリ,コラボレーションツール, MPI
Grid Architecture Component
セキュリティ,認証・証明,スケジューリング,ディレクトリサービス,データアクセス
Grid Resources
コンピュータ (ベクトル,クラスタ),ネットワーク,データベース
9
Gridミドルウェア









Globus Toolkit : ミドルウェア開発のためのツールキット
Netsolve : 遠隔地にある科学技術計算ライブラリを利用できるシステム
Ninf : Netsolve と類似
Legion : オブジェクトベースのメタシステム
AppLeS : アプリケーションレベルのスケジューリングに着目したシステム
Condor : 分散したリソースを使って高スループットな計算を行うシステム
Nimrod/G : 経済モデルを利用したスケジューリングを行うシステム
Grid-enabled CORBA : CORBAをGridに拡張したシステム
Avaki : Legionをベースとした商用ソフトウェア
10
Chapter 2
 Gridとは何か?
 Globusとは何か?
概要,各種サービス
バージョン,インストール
使用方法




Gridを手軽に利用するために
Grid構築に関する諸活動
参考資料
私の研究
11
Globus Toolkit (GT)
 Globus Project の成果物
 Ian Foster, Carl Kesselman ら, 1996より
 ANL を中心に,米国のいくつかの大学・研究機関が参加
 1998.10 Version 1.1.0 Release
 2001.12? Version 2.0 Release
 http://www.globus.org/
 Gridのツール,サービス,アプリケーションを開発する上
で標準的なGridプロトコル / APIを定め,実装する.
 Gridノード間のプロトコルの違いを吸収(互換性)
 オープンソース,C / Perl で書かれた SDK
 Testbedやアプリケーションを通じて改善する
12
GTの主なサービス
 GSI (Globus Security Infrastructure)
 公開鍵暗号を用いたセキュリティ技術
 Single-Sign on を実現
 GRAM (Grid Resource Allocation Management)
 リソースの発見・分析,予約,割り当て
 投入ジョブの監視,制御
 MDS (Monitoring and Discovery Service)
 Grid環境の情報収集,提供
 GRISとGIISのコンポーネントからなる
 データ管理サービス
 データ転送とアクセス (GridFTP)
 レプリカ管理アーキテクチャ
13
GSI
 GSI: Grid Security Infrastructure
 要求されるセキュリティレベルは高い
 複数組織の異なるセキュリティ・ポリシーをどうするか?
 認証機能
 Single-sign on, 認証されればどこでも実行できる
 公開鍵暗号を用いたセキュリティ技術
PKI: Public Key Infrastructure
X.509 証明書 (SSL/TLS ベース)
集中型の認証サーバが必要ない
 リソース毎でも ID マップファイルが用意されている
 プロキシ証明書を発行できる
 Certificate Authority (CA), 認証局
少数の信頼できる機関,証明書に署名するだけの機関
ユーザ証明書やホスト証明書に信頼できる方法で署名する
14
GSI を用いた認証機構
CA の証明書
を取得
CA (公証局)
RPC 要求
Client
Sign on
Certificate
Key
CA の証明書
を取得
Gatekeeper
作成
プロキシ
証明書
認証
Certificate
認証
Mapfile
Key
ジョブの実行
15
GRAM
 リソース管理に関すること
 認証
 リソースの発見・分析,予約,割り当て
 投入ジョブの監視,制御
 GRAM: Grid Resource Allocation Management
 RPC プロトコル
version 1, 1.5 : HTTP based RPC
version 2: SOAP
 Resource Specification Language (RSL) で要求を出す
LDAPに似た記述方式
使用マシン名,プロセス数,使用時間,メモリ量などを指定
 アプリケーション固有のリソースブローカ,コアロケータを定義可能
Condor, PBS, LSF などと統合可能
16
GRAM によるジョブ割り当て
要求
RSL
情報取得
Client
MDS
要求
認証
Gatekeeper
認証
Gatekeeper
割り当て
プロセス
fork
要求
Local Resource Manager
割り当て
監視
Condor
LSF
PBS
プロセス
17
MDS
 MDS: Monitoring and Discovery Service
 Grid環境の静的・動的情報を収集し,提供する
 Gridノードのシステム情報は,非常に重要
どんなリソースが利用できるのか?
現在の状態は?
どのようにリソースを使えばよいか?
 要請と特徴
情報への統一された柔軟なアクセス,非集中管理型
スケーラビリティ,効率的アクセス,複数の情報の統合化
 GRIS と GIIS の2つのコンポーネントからなる
GRIS (Grid Resource Information Service)
GIIS (Grid Index Information Service)
 LDAP v3.0 を利用したサービス (globus 1.1.3)
18
MDS Components
Resource A
GRIS
Direct Query
Resource A
Client 1
GRIS
SNMP
NIS
Client 2
収集
Client 3
Query
GIIS
A, B のキャッシュ
NWS
LDAP
など
19
データ管理サービス
 Data Grid: Data Intensive Computing and Grids
 1つのところでは格納できないような大量のデータや分散配置された
データを処理するシステム.データの一斉検索サービスやそれらを
使った計算サービスなどを提供する.
 データ転送,およびアクセス機能
 セキュリティ,効率,拡張性
 GASS (Global Access to Secondary Storage)
 GridFTP : GASSでは提供できない性能,信頼性を提供
 WebDAV (Web-based Distributed Authoring and
Versioning)
 レプリカ管理
 ファイルのバックアップ,ファイルの収集
 Replica Catalog: 複製データの目録の作成・管理
 Replica Management: 複製データの作成・管理
20
GTのインストール
 Version 1.1.x
 ソースからコンパイルし,インストールする
 手順
SSL, OpenLDAP のインストール,Globusのインストール,Deploy,
各種設定,Certificate 取得
 Version 2.0
 Grid Packaging Toolkit (GPT) が利用できる
 ソースおよびバイナリパッケージが配布されている
 パッケージはバンドルに分類されている
資源管理,情報サービス,データ管理,Simple CA,情報サービスのみ
 コンパイル時の選択をカプセル化したFlavorsを利用できる
 必要なものだけ,カスタマイズしたインストールが可能になる
 手順
GPT をインストール,各バンドルのインストールと設定,Certificate 取得
21
GTの使用例 (コマンド)
 実行手順
$ globus-proxy-init
Enter PEM pass phrase:******
...........+++++
.+++++
$ globus-job-run [hostname] /bin/hostname –f
hoge.doshisha.ac.jp
 その他の実行コマンド
globusrun
globus-job-submit
1. Sign-on
2. Execution
実行依頼
/bin/hostname –f の実行
22
GTの使用例 (詳細)
Local Machine
RSL
Machines
string
mpirun
RSL multi-request
globusrun
GRAM
Client
GRAM
Gatekeeper
GSI
RSL parser
grid-proxyinit
GASS Server
GRAM Job
Manager
GASS
Client
PBS
AIX
Nexu
s
MPI
X509
User
Cert
RSL single request
DUROC
GRAM
GSI
App
Remote Machine
User
Proxy
Cert
GRAM
Gatekeeper
Client
GSI
GRAM Job
Manager
GSI
GASS
Client
Unix Fork
App
Remote Machine
Solaris
Nexu
s
MPI
23
GTの課題
 Globus Toolkitにはメタ・スケジューラが含まれていない
 Condor-G, Cactus, AppLeS, DRM, Nimrod/G, PUNCH





MDSのモデルは単純すぎる → MDS v.2
暗号通信がサポートされていない
Firewall がある場合の対処方法は不十分
GASS, GridFTP は認証が不十分
複数の組織間で,より効率的に認証を管理したい
 CAの問題
 Cluster of Cluster に関する話題
 Web Service と Grid との融合 → GT Version 3
 OGSA (Open Grid Service Architecture)
 Globus Project と IBM との共同
24
Chapter 3
 Gridとは何か?
 Globusとは何か?
概要,各種サービス
バージョン,インストール
使用方法




Gridを手軽に利用するために
Grid構築に関する諸活動
参考資料
私の研究
25
Grid RPC
 Grid 環境における RPC
 単純なプログラミングインタフェース
 タスク並列なプログラム向き
 既存システム
 Ninf : AIST, TITECH
 Netsolve : Univ. of Tennessee
引数を付けてCall
Client
あらかじめ用意された
Function
計算結果
Server
26
Ninf, Ninf-Gの例
 Ninf (Network based Information Library for
high performance computing)
 日本,産総研・東工大が中心となって開発
 広域ネットワーク上の数値計算ライブラリ,数値情報データベース
を通じて,情報や計算資源を提供・共有する仕組みをもつ
 1994 最初のリリース
 Ninf-G : より簡単にGridシステムを使う,Globus対応
 非常に簡単な RPC API
double A[n][n],B[n][n],C[n][n];
dmmul(n,A,B,C);
/* Data Decl.*/
/* Call local function*/
Ninf_call(“dmmul”,n,A,B,C); /* Call server side routine*/
27
Portals
 Computing Portal
 手元にある計算機のユーザインタフェースを用いて,
遠隔の計算機を利用できるサービスを提供する
 シームレスに接続できる
 Web ブラウザの利用
28
My Proxy
 Web ブラウザからGlobusの認証機構をパスする仕組みを提供
 Java Commodity Grid Kit (CoG kit) に含まれる
 現在,Globus が提供するクライアント側の API のほとんどを提供
Repository
要求
Web Server
(Portal)
GSI
プロキシ発行
計算
要求
HTTPS
myproxy-server
GSI
登録しておく
結果
ユーザの private な
Web Browser
Certificate
Key
29
Chapter 4
 Gridとは何か?
 Globusとは何か?
概要,各種サービス
バージョン,インストール
使用方法




Gridを手軽に利用するために
Grid構築に関する諸活動
参考資料
私の研究
30
Testbed, Project
 研究成果を実際の環境で試すことが要求される
 GUSTO (Globus Ubiquitous Supercomputing Testbed
Organization)
 US, DOE Science Grid
 US, ASCI, DRM (Distributed Resource Management)
Testbed
 US, NASA, IPG (Information Power Grid)
 US, NSF, TeraGrid
 EU, EuroGrid
 German, BMBF, UNICORE (Uniform Interface to
Computing Resources)
 ApGrid (Asia-Pacific Grid)
etc.
 企業
 Avaki, Entropia, Gridware (Sun Microsystems), etc.
31
TeraGrid
 Distributed Supercomputing
 Gridに関する米国の大型プロジェクト
 全米科学財団 (NSF) からの助成金
 総額 $5300万 (約60億円)
 合算10 Tera 級の IA-64 クラスタの設置 (4ヶ所)
 40 Gigabit のネットワーク回線の敷設
 2002 夏頃に全米にまたがるGridインフラの構築
 米国中の研究者がアクセス可能,科学技術計算を行う




NCSA, SDSC, ANL, Caltech といったスパコンセンタ
IBM : サーバ開発
Intel : CPU (Itanium, McKinley), コンパイラ
Qwest : ネットワーク (高速光回線)
32
TeraGrid ネットワークイメージ
33
ApGrid
 全てのアジア・太平洋地域のHPCN (High Performance
Computing and Networking) 研究者の交流の場
 Grid関係の研究に関して
 GGFや他のGridのコミュニティとのパイプ役
 国際的なプロジェクト・パートナーを見つけるための場
 単一の機関から資金提供を受けたプロジェクトではない
 EUROGRID, eGrid, IPG とは異なる
 Focus
 リソースの共有
 Grid技術の開発
 新しいアプリケーションを創るための技術供与
 相互的な研究の発展
34
OBI Grid
 Open Bioinformatics Grid
 共同研究
 並列生物情報処理イニシアティブ (IPAB)
 文部科学省 科学研究費 特定領域研究ゲノム情報科学ソフト
ウェア高速化および共有化委員会
 目的
 「開かれた」バイオインフォマティクス環境
Open Bioinformatics Grid Environment (OBIE)
 各研究機関が所有する計算資源を共有
 ゲノム関連データベースやアプリケーションの相互参照を実現
 誰もが最小限の計算資源で最先端のバイオインフォマティクス研
究を行える環境を実現する
35
参考資料
 GGF (Global Grid Forum) http://www.gridforum.org/
 Globus Project http://www.globus.org/
 Technical Paper, Training Resources, etc.
 田中良夫(AIST),「Globus Toolkit」,
JSPP2002 チュートリアル資料
 サイエンス社 「Computer Today」の連載
 2000.3 No.95 ~ 2002.3 No.108
 グリッド協議会 http://www.jpgrid.org/
 日本人向け Globus ML → [email protected]
 ApGrid http://www.apgrid.org/
 OBIグリッド http://www.obigrid.org/
36
Chapter 5
 Gridとは何か?
 Globusとは何か?
概要,各種サービス
バージョン,インストール
使用方法




Gridを手軽に利用するために
Grid構築に関する諸活動
参考資料
私の研究
37
研究紹介
 Grid計算環境におけるアプリケーションのモデルを検討
 GOCA (Grid Oriented Computing Application)
 仕事は複数に分割可能
 分割された仕事は互いに依存関係が少ないか,独立に実行可能
 分割された仕事は並列実行可能
 仕事間は頻繁な通信を必要としないか,全く通信を行う必要がない
 実行時におけるノード数の増減に対して,低コストで対応可能
 EVOLVE/G システムの開発
 GOCAを満たすアプリケーションである進化計算手法(GA, GPな
ど)を検討するためのシステム
 タスク並列以外の並列モデルを記述可能
 Grid環境のクラスタリング化が可能 (ヘテロ環境を考慮)
 階層的な計算モデルを記述可能 (スケーラビリティを考慮)
 動的なモデルの変更が可能 (動的変化を考慮)
38
EVOLVE/G システム
Agent
ユーザ拡張
基本システム
実行要求,
その他命令
Worker
ユーザ拡張
基本システム
情報の取得
- 計算結果・経過
- 通信データ
- マシン状況
Worker
(Agent)
(Agent)
Worker
Worker
Worker
Worker
• Agentの記述
- 取得情報
- クラスタリングの方法
- 通信パターン
- Agentによる処理
- Worker管理
• Workerの記述
- 通信データ
- Workerによる処理
(コアな計算)
39
対象問題,実験環境
 進化計算手法
 GA, PSA/GAc, etc.
 対象問題
 タンパク質の立体構造予測
 岡崎国立共同研究機構分子科学
研究所 岡本らのエネルギー関数
 実験環境
 同志社大学 知能情報センター
PCクラスタ(16ノード,64ノード)
 大阪産業大学 PCクラスタ(4ノー
ド)
 将来的にはノード数を拡大
クラスタ数,クラスタ規模,サイト数
ApGridやOBIグリッドの利用
同志社大
Galley
100Mbps LAN
Gregor
Internet
大産大
Moon
40