広域分散アプリケーション特論
2005前期 月曜 ３時限 ２１世紀交流プラザ２Ｆ講義室担当 青柳 睦aoyagi@cc.kyushu-u.ac.jp
４月25日（月）講義の内容，成績評価方針(再々掲)

グリッドのサイエンス分野での利用
高エネルギー物理，天文，気象，バイオ，・・
サイエンス分野におけるグリッド技術の課題

講義の内容

グリッドの概要
Ｇｒｉｄコンピューティングとは ■サイエンス分野での利用■ビジネス分野での利用■

計算科学の概論■

主要なシミュレーション手法

サイエンスＧｒｉｄ ＮＡＲＥＧＩ
Globus, Unicoreの現状 ■NAREGIミドルウエア概要■連成計算とその類型化■

テーマ 考え中・・・

講義資料はWebで公開
server-500.cc.kyushu-u.ac.jp

レポートの提出先
aoyagi@cc.kyushu-u.ac.jp
 Subject: 広域分散アプリ＃＃は課題番号
 本文：学籍番号，氏名，専攻
レポート(PS, PDF, Word,添付可)

メールSubjectには必ず「広域分散アプリ(#課題番号)」と記入してメールしてください．

成績評価
出席点 ６割 レポート ４割
 前期末試験なし
Ｇｒｉｄのサイエンス分野への応用
GriPhyN project http://www.griphyn.org/
Sloan Digital Sky Survey 等
 EU-Data Grid project
http://eu-datagrid.web.cern.ch/eu%2Ddatagrid/ Earth System Grid https://www.earthsystemgrid.org/
 eScience http://www.nesc.ac.uk/
 KISTI http://testbed.gridcenter.or.kr/kor/
 China National Grid project
http://www.cs.hku.hk/~clwang/grid/CNGrid.html
遊休資源利用：インターネットモデル
 SETI@Home http://setiathome.ssl.berkeley.edu/
 GIMPS http://www.mersenne.org/
GriPhyN (Grid Physics Network)
Astronomy: The Sloan Digital SkySurvey
LIGO: Detecting Einstein's
Gravitational Waves
High-Energy Particle Physics
The Sloan Digital Sky Survey
全天の４分の１の領域にある１億個を超える天体の位置と明るさ，赤方偏移を決定
データを全世界に公開
http://skyserver.nao.ac.jp/en/
参加機関：シカゴ大学, フェルミ加速器研究所, 国立天文台の日本参加グループ, ジョンス・ホプキンス大学, マックス・プラン
ク天文学研究所, マックス・プランク天体物理学研究所,ニューメキシコ州立大学, プリンストン大学, アメリカ海軍天文台, ワシントン大大規模観測装置からのデータを広域分散利用
実データとその[カタログ情報]を別管理（Virtual Data 技術）
Earth System Grid
ＣＥＲＮのＣＭＳ

観測データおよび２次データが年間数10TB〜数100ＴＢオーダーで増加，しかも分散．

The Open Science Grid Consortium
GridCat ｂｙ Ｇｒｉｄ３

グリッド技術を利用して実運用されている広域分散システム

http://butternut.ucs.indiana.edu:8080/

GriphyN VOごとの計算リソースの利用状況[VO(Virtual Organization)ごと]という点に注意
Grid3 – Cumulative Data Consumed
25 Oct ~ 25 Nov 2003

Grid3 – Cumulative CPU Usage
25 Oct ~ 25 Nov 2003

100TB

Application Development and Execution Process

計算リソースとワークフローのMapping

FFT

Application
Component
Selection

ApplicationDomain

アプリケーション Domainにおける必要コンポーネントの選択

Specify a
Different
Workflow
Resource Selection
Data Replica Selection
Transformation InstanceSelection

FFT filea

Abstract
Workflowtransfer filea from host1://home/filea
Pick different Resources to host2://home/file1/usr/local/bin/fft /home/file1DataTransfer

Concrete
Workflow

host1

host2

host2

Retry

Data
Data

Execution
Environment

障害対応もミドルの仕事

Failure Recovery
Methodコンポーネント間を結ぶフロー（抽象的なオブジェクト）

抽象オブジェクトと実リソースへのMapping （Run-Time）

データの所在，アクセス権，移動・複製可否，等を考慮してミドルウェアが判断する部分

グリッドの階層構造 前回スライドから再掲






砂時計形？

第四層 アプリケーション層
分散スーパコンピューティング，データ集約型，オンデマンド型，協調研究型のアプリケーション
第三層 上位ツール
分散プログラミングツール，可視化，PSE，ワークフローツール(二層へのI/Ｆ)

ここが弱い

第二層 共通サービス層
広域セキュリティー基盤，分散スケジューリング，分散リソース管理，広域ネットワークにおける高速通信技術
第一層 計算機資源等，インフラハードウエア，ストレージ，センサー，通信基盤・・・・←技術の成熟度→

NAREGI の場合
１００Tflops級のサイエンスグリッド環境
WP6連成・連携シナリオの類型化，ナノアプリのグリッド化
ﾊﾟｯｹｰｼﾞﾝｸﾞ、統合化ｸﾞﾘｯﾄﾞ
ﾌﾟﾛｸﾞﾗﾐﾝｸﾞ環境-ｸﾞﾘｯﾄﾞRPC-ｸﾞﾘｯﾄﾞMPI

ｸﾞﾘｯﾄﾞ可視化

ｸﾞﾘｯﾄﾞ PSE

ｸﾞﾘｯﾄﾞ ﾜｰｸﾌﾛｰ
ｽｰﾊﾟｰｽｹｼﾞｭｰﾗ

課金情報モニタリング（Globus,Condor,UNICOREÎOGSA)
グリッドVM
ﾈｯﾄﾜｰｸ通信基盤、性能評価、ｾｷｭﾘﾃｨ･認証
スーパSINET
国立情報学研究所

分子科学研究所

研究協力機関計 算 資 源その他

NAREGI Grid Workflow: 概観
個々のアイコンは application program または input/output data.を表現
実行時の制御フローに従い，プログラムアイコンまたはデータを連結

NAREGI Grid Workflow: job submit
We can run application program according to the computational
flow defined on the screen by selecting ‘Run’ menu.

グリッド化の視点

疎結合• データの分散 ｖｓ 処理の分散• 単機能モジュールの組合せにより複雑な処理フロー（シナリオ）を構成
ヘテロな分散計算環境を有効に活用
モジュールのグループ化
シナリオの柔軟な再構成化に対応
モジュール処理からグリッドサービスへ• モジュールの演算粒度，独立性，ライフタイム
モジュール間の通信頻度，遅延許容度

Grid enabling of the GAMESS FMO prog.
Init
Frag. Density
Conv?
Frag. Pair
Total Energy① Modulization to Coarse-Grained parts
Frag. Density

Frag. Density

・・・② Customize I/O & comm.
in each module
Frag. Pair

Frag. Pair・・・

③ write workflow in terms ofstandard shell + rsh/rcp etc..

Energy Grad.

Energy Grad.

Struct. update

Workflow shell④ deploy each module and translate
shell scripts into NAREGI workflow## 初期化プロセスの起動、初期電子密度計算(init_fmo)# 入力: in
# 出力: out#@n=1
while($n <= $NFRG)
echo "init fragment:$n"
rsh $NODES[$n] "(cd $HOME; ./rungmst11 $INPUT￥t node $n out$n >& /dev/null; mv -f $INPUT.out $INPUT.init.$n)"@ n ++
end
wait

Energy Grad.

# データの収集@n=1
while($n <= $NFRG)
if($MY != $NODES[$n]) thenrcp $NODES[$n]¥:$HOME/out$n out$n >& /dev/null
endif
@ n++
end

wait

Shell scripts

ＮＡＲＥＧＩワークフローツールを利用した分散処理

NII Resources

IMS Resources

フラグメントデータベースの活用
モノマー計算の結果をデースベースに蓄え、再利用可能とする機能を実装 （分散 データグリッド応用）
フラグメントの初期電荷密度を要求初期電荷密度計算
登録済みの初期電荷密度を返却

所在を意識させない

モノマー計算モノマー計算・・・

収束判定
データベース登録

収束したフラグメントの電荷密度を登録

フラグメント
データベースグリッド上における大規模計算
平成１５年度ＳＳＢＯＮＤ分子（１０１原子、５フラグメント）を単一サイトにて計算
平成１６年度コラーゲン分子（３２７原子、１２フラグメント）を複数サイトを対象にNAREGI上位層とフラグメントＤＢ機能を用いて計算

血清アルブミン分子（１８９７２原子、１１２２フラグメント）をNII GridとIMS Gridを使用し計算を実施

脂肪酸を７箇所の窪みに取り込み計算を行った結果、どの窪みに取り込んだ場合でもエネルギーが安定していることを確認

疎結合FMOアルゴリズムとＲＰＣ化
疎結合FMO制御プログラムより、疎結合FMOモジュールをRPCした（ＡＩＳＴグリッド研究センターとの共同研究）
疎結合FMO制御

モノマー計算モノマー計算モノマー計算実行

RPC

モノマー計算ダイマー計算ダイマー計算ダイマー計算実行

RPC

ダイマー計算疎結合構造最適化
エネルギー勾配計算を疎結合FMOモジュールとして開発し、Optimizer TINKERと連携させた構造最適化計算を実現
初期電荷密度計算
モノマー計算構造情報・・・

収束判定
ダイマー計算・・・
Gradientにより、分子構造をupdate

全エネルギー計算
Energy勾配計算
Gradient出力

・・・

Gradient
終了

疎結合並列可視化• Visualizer receives latest results via files from simulator.
• The following components work cooperatively.
– Initiation Barrier: waits for starting of Visualizer.
– Update Notifier: notifies Visualizer of new computation results.
– Termination Requester: requests Visualizer to terminate.
Loop

Workflow Example
Simulator
Initialization

Simulator
Iterative
Calculation

Initiation
Barrier

Computation
Results
Notification

MPI Parallel

Visualizer

Check

UpdateNotifier
Notification

Simulator
Termination
Termination
Requester
Requestフローパターン 要素(Primitives)
連携・連成フローパターン Primitives

フロー単位
単一・アプリ

アプリA

直列・連携型

アプリA

アプリB

＋可視化

アプリA

可視化

平行・連成型

アプリA
アプリB

分割統治型(1-N-1)
Devide-and-Conquer
Fork-and-join

アプリB
アプリB
アプリA

アプリB

アプリB

データベース連携型

アプリA
ﾃﾞｰﾀﾍﾞｰｽMacro フローの構造
ループ構造/分岐
Macro フローの構造

なし / なし

1

１重 / なし

1
2

１重 / あり

12

多重

1

図-1
アプリB

アプリB

2

アプリB

アプリB

1

+

GridアプリのCharacter項目

グリッド
ジョブ

アプリケーションシナリオの例
アプリシナリオ例

グリッド
ジョブ

ジョブ total フローパターン

並列MDジョブ

MPI 並列MD 単一ジョブをIMSのPCクラスタ上で実行するMD / MPI

MO-MD 連携ジョブ

IMSでFMO計算した結果(Force)をNIIへ転送してＮＩＩでＭＤ計算し，更新した座標をＩＭＳへ戻し再度ＭＯ計算を行う．
（MD部の粒度が小さくサイト間連携ジョブは実は不向き．）

MDMO
同期データ転送MO＋(同期)可視化

可視化

MO

疎結合FMO計算
電子状態ＳＣＦループ
ダイマー

モノマー

ダイマー

モノマー
初期化

統合
モノマー

モノマー

内容

ダイマー

ダイマー

IMSでFMO計算した結果を九大で遠隔可視化する(c.f. 非同期可視化）
GAMESS-FMOのモノマー，ダイマー，エネルギー勾配計算
部を単体で動作可能なモジュールに分割した「疎結合ＦＭＯ」プログラムをＩＭＳとＮＩＩのＰＣクラスタ上で実行する．（備考）(1)構造最適化を行う際は，（同期型）２重ループとする方法，および（非同期型）連成最適化(別紙)とする方法がある．
(2)ＭＯの初期データを過去の計算から取得するケースはＤＢとの連携項目を参照．

アプリケーションシナリオの例 (cont)
グリッド
ジョブ

アプリシナリオ例
広義のパラメタサーベイ

total フローパターン
アプリA
入力2

初期化

入力3

アプリA
アプリA

Simulated Annealing,
レプリカ交換分子動力学，大域的最適化問
題，Combinatorial 計
算化学物質探索等．
Master-Workerで行う
場合はBarrier同期が必要．GridRPCならば非同期．

出力1

入力1

ジョブ投入

内容

出力2

統合

出力3

出力4
入力N

アプリA

RISM-FMO連成

後述１Mediator (Wp6)を介する溶媒-溶質連成計算.

疎結合可視化

後述２

最新のシミュレーショ
ンoutputを（非同期で）可視化サービスに依頼し，結果を遠隔可視化．

疎結合最適化

後述３

パラメタを含むシミュレーションoutputから目的関数（totalエネルギーなど）の解析的パラメタ微分を取得し，パラメタの更新を最適化サービスに依頼．全体としては非同期のループ構造．

Workflow Example

Loop
SimulatorIterative
Calculation

Simulator
Initialization

Checklatestresults

UpdateNotifier

Initiation
Barrier

Notification
Notification

Optimizer

Termination Request

Check

Termination
Requesterアプリケーションシナリオの例 (cont)
アプリシナ
リオ例

total フローパターン

グリッド
ジョブ

内容電子状態ＳＣＦループ

データベー
ス連携型疎結合FMO

モノマー

ダイマー

モノマー
初期化

ダイマー

モノマー

統合

ダイマー

モノマー

統合

ダイマー

参照

登録
ﾃﾞｰﾀﾍﾞｰｽ

自律分散
New-ジョブ型?

フィードバックループ

交配・突然変異
アプリA

出力1

入力1
入力2
初期化

入力3

アプリA
アプリA

出力2
出力3

出力4
入力N

アプリA

統合

外部にFragment初期電子密度のデータベースがある場合の電子構造計算．疎結合FMO(一般にＭＯプログラム)
は，まず当該Fragmentの情報が既にDBに登録されているか否かを判断し，登録済の場合はそれを入力として利用する． 新規のFragment計算
ならば電子状態計算が収斂した後で，収束した電子密度をDBに登録する．
遺伝的アルゴリズムを用いた大域的最適化問題や探索問
題，マルチエージェント法に基づく自律的なcell
automata , 生態系，ライフサイエンス分野等． 黒の点線のフィードバックならば単なるパラメタサーベイ型＋１重ループ． 赤の点線の場合は，統合データを加工した後，新規にグリッドジョブを投入する．

グリッドアプリケーションのフロー構造と Characterization
フロー単位

ループ構
造/分岐

同期(synchronization)

並列/分散処理手法

演算粒度

遅延
許容度

分散
効率

要求する実行マシンの環境（負荷バランス）

単一・アプリなし / なし

該当なし

なし

大許容
大

良い

ANY ノード

直列・連携型

１重 / なし

同期MPI

中

普通

普通

単一サイト・単一マ
シンノード

＋可視化

１重 / あり

非同期

GridMPI

小許容
小

悪い

複数サイト・単一マ
シンノード

平行・連成型

２重 / なし

GridRPC

分割統治型(1-N-1)
Devide-andConquer
Fork-and-join

２重 / ありMediator/
MPI or/GridMPI

データベース連携型

多重(備考) 他の特徴
付・項目としてグ
リッドサービスの「ライフタイム」がありうる．

単一ファイ
ル転送
集団通信・集団ファイ
ルcopy

複数サイト・異機種混在（備考）その他，ローカ
ルマシンのノード数，CPU時間，主記憶容量，ファイル容量など，サイトの{物理,論理,運用｝上限値への適合性という環境要素がある．

（講義の後半で紹介予定）

ＧｒｉｄＭＰＩ+MPI Core

Request Interface

秒

400200mpich
GridMPI

12

4

8

16

1210
1069

830
660

669
486
FMO並列数

715
409

691
413

vendor
MPI

600

O2G

800

MX1000PMv21200

P2P Interface

TCP/IP

1400

Request Layer

IMPI

Vendor MPI

GRAMSCorersh

実行性能(SSBOND 32メッシュ)

0Latency-aware
Communication
Topology

IMPI

RPIM Interface

sshFeatures
・MPI-1.2 compatible
・IMPI 0.0 full implementation
・YAMPII TCP/IP and Score
・ Collective Communications are
implemented based on the network
latency and bandwidthcharacteristics

Mediator tools（講義の後半で紹介予定）Mediatorは、アプリケーション間での高度な意味変換機能をサポートするパッケージ群である。
計算手法の異なるアプリケーション間の物理量変換は、グリッド上でMediatorを介して自動的に実行されるため、プログラムの修正を最小限に抑えた連成シミュレーションを構築できる。
1．連成シミュレーションの構築手順

2．グリッド連成ミドルウェア Mediatorの特徴機能

Mediatorの提供するAPIを用いてレガシーコードをコンポーネント化。グリッド標準の通信フレームワーク上で連成化。
①ソースコードにMediatorのAPIを追加

Sim. AMediatorA

Sim. AMediatorA

Sim. AMediatorA

PROGRAM MAIN
CALL MPI_INIT

ナノアプリケーション
レガシーコード

CALL MPI_FINALIZE

連成シミュレーションの管理
call dex_join (color, ﾛｰｶﾙｺﾐｭﾆｹｰﾀ)
離散点情報の設定
call dex_register_quantum(位置関係, 離散化手法,離散点数,番号,座標,要素情報,属性)
データ送受信call dex_send(byte,物理量a) 又は
call dex_receive(byte,物理量b, 変換関数)

END②コンパイル及びMediatorライブラリをリンク③アプリケーションとMediatorをGridMPIジョブとして実行

MediatorB
離散点の位置関係を探索しデータを自動的に通信・変換 Mediator

Sim.
Sim.
BB

Sim. BB

・高度な意味変換機能
球内相関、矩形内相関、第一近接、最近接・離散点位置の高速・並列探索
粒子法、差分法、有限要素法
・標準通信ライブラリへの対応
MPICH、Score、MPICH-G2、GridMPIＧｒｉｄＭＰＩによるグリッド連成ミドルウェアの開発と応用
RISM
RISM

溶液中の電子構造

FMO
FMO

RISM

Reference Interaction
Site Model

無限系に対する溶媒分布解析プログラム
FMO

溶媒分布Mediator

電子構造
異なる離散点上のデータ変換

Site A

Fragment MolecularOrbital method

ナノ高分子の電子構造解析プログラムMediator

Site B
MPICH-G2, Globus

グリッド連成ミドルウェア（Mediator)を開発し、複数のナノアプリケーション（RISM，FMO)をグリッド環境下で接続し、超巨大水分子を対象に溶液中の電子構造を計算

Lysozyme functionality in solvent
Whole electronic structure of Lysozyme in solvent isanalyzed by using RISM-FMO and electronic densitychanges according to the position of proton transfer.
Hydrate structure
binding (NAG)2CH3

Whole electronic structureRISM-FMO
on Grids

Proton at Glu35

Solventdistribution
Proton at Glycosidic O今日のおわりに・・• サイエンス分野のグリッド利用はまだ始まったばかり，対障害，ＶＯ管理など実運用ではいくつかの課題．
• アプリとミドルウェアそれぞれの役割を明確化• 疎結合で連携できるモジュール，コンポーネントの集合，メタデータ，メタ通信等の抽象化• サービスのネットワークとして・・
インターフェースの標準化 (サービスがサービスを呼び出す)
再利用性，ライフタイム，ビジネス分野での利用とも関連しながら発展