Upload
luka
View
44
Download
0
Embed Size (px)
DESCRIPTION
グリッド環境における タスクスケジューラの構築. 斉藤宏樹 博士前期課程 2003 年度 737 番 知的システムデザイン研究室. 研究背景. グリッド ネットワークで遠隔地にある計算資源を接続 ユーザに大規模な計算資源を提供 グリッドコンピューティング 効率的に分散・並列アプリケーションを実行. スケジューリングの必要性. 適切な計算資源を選択することは困難 グリッドは CPU やネットワーク性能等がヘテロ 計算資源の状態が動的に変動. 研究目的. 大規模計算を効率的に実行 グリッドによって実行時間を短縮 グリッドにおけるタスクスケジューラの開発 - PowerPoint PPT Presentation
Citation preview
Intelligent Systems Design Laboratory
グリッド環境におけるタスクスケジューラの構築
斉藤宏樹博士前期課程 2003 年度 737 番知的システムデザイン研究室
Intelligent Systems Design Laboratory
研究背景
グリッドネットワークで遠隔地にある計算資源を接続ユーザに大規模な計算資源を提供
グリッドコンピューティング効率的に分散・並列アプリケーションを実行
Intelligent Systems Design Laboratory
スケジューリングの必要性
適切な計算資源を選択することは困難グリッドは CPU やネットワーク性能等がヘテロ計算資源の状態が動的に変動
Intelligent Systems Design Laboratory
研究目的
大規模計算を効率的に実行グリッドによって実行時間を短縮
グリッドにおけるタスクスケジューラの開発分散アプリケーション ScaLAPACK を対象有効な計算資源を選択アプリケーションのタスクを割り振る
ScaLAPACKは計算と通信を頻繁に実行するため,スケジューリングの対象として有効
Intelligent Systems Design Laboratory
ScaLAPACK
分散メモリ用の線形計算ライブラリScalable LAPACK
共有メモリ用の LAPACK を並列・分散用に拡張通信しながら行列計算( MPI など使用)
実行前に行列を計算資源へ分配行列の分解・通信・更新を繰り返し行う
計算資源に合わせてパラメータ調整可能問題サイズ,ブロックサイズ, P,Q 比など
科学技術分野で使用される重要なライブラリ
Intelligent Systems Design Laboratory
ScaLAPACK の実行手順
1. 行列の分配プロセスグリッド( P,Q )に基づいて分割
N:問題サイズ NB:ブロックサイズ
Intelligent Systems Design Laboratory
ScaLAPACK の実行手順
2 .行列計算( LU 分解)分解・通信・更新を繰り返すブロック列( L )を計算
Intelligent Systems Design Laboratory
ScaLAPACK の実行手順
2 .行列計算( LU 分解)分解・通信・更新を繰り返す分解パネルの送信
Intelligent Systems Design Laboratory
ScaLAPACK の実行手順
2 .行列計算( LU 分解)分解・通信・更新を繰り返す更新パネル送信
Intelligent Systems Design Laboratory
ScaLAPACK の実行手順
2 .行列計算( LU 分解)分解・通信・更新を繰り返す未更新行列の更新
Intelligent Systems Design Laboratory
ScaLAPACK の実行手順
2 .行列計算( LU 分解)分解・通信・更新を繰り返す
Intelligent Systems Design Laboratory
ScaLAPACK をグリッド上で実行
実行時間の短縮を目指す計算資源の選択が重要(計算と通信のバランス)パラメータ(プロセスグリッド)が重要
実行する前にシミュレーションが必要実行する環境でどの程度の時間を要するか予測したいGrADS Project はシミュレータを開発
ScaLAPACKのコスト見積もり関数によって,実行時間を予測
有効な計算資源やパラメータを実行して設定するには時間がかかる
Intelligent Systems Design Laboratory
ScaLAPACK のコスト見積もり関数
ScaLAPACK の行列計算の時間を予測行列の分解や更新に必要な浮動小数点演算量を算出分解パネルの通信量を算出
入力情報計算資源情報
CPU 性能,ネットワーク性能,メモリの容量など
ScaLAPACK のパラメータ問題サイズ,ブロックサイズ,プロセスグリッド
出力情報ScaLAPACK の見積もり実行時間
本研究では実行時間をより短縮するために,従来のコスト見積もり関数を拡張する
Intelligent Systems Design Laboratory
従来のコスト見積もり関数
パラメータに制限P が1に固定(1次元のみ)
Intelligent Systems Design Laboratory
コスト見積もり関数の拡張
P,Q 比が変更可能2次元の方が1次元よりも実行時間は短くなる
Intelligent Systems Design Laboratory
拡張したコスト見積もり関数
プロセスグリッド( P,Q )が変更可能P 方向に複数プロセスが割り当てられる
計算の待ち時間が短縮1つのプロセスの通信量が減少新たにP方向の通信が発生
従来の関数( P=1 に固定)よりも短い実行時間を正確に見積もることができるか確認
Intelligent Systems Design Laboratory
拡張したコスト見積もり関数の評価ScaLAPACK をクラスタで実行し,実測値と見積もりの比較
実験環境
パラメータ
Cluster Gregor
クロック周波数( MHz )FLOPS /( Hz )DGEMM ピーク性能( % )メモリ( MB )ノード数
1000
1.0
60
512
30
Problem Size(N) 9600
Block Size(NB) 80
Process Grid(P,Q) (1×30),(2×15),(3×10),(5×6),
(6×5),(10×3),(15×2),(30×1)
Intelligent Systems Design Laboratory
実験結果(1)
見積もり値と実測値の比較
最小実行時間をとる P,Q の値が異なるが,傾向がほぼ等しいPの値が3よりも大きくなるにつれて誤差が大きくなる
Intelligent Systems Design Laboratory
実験結果(2)
演算時間・通信量の比較
演算時間の誤差は小さく,通信量の増減の傾向も同じ最適なプロセスグリッドが異なったのは,通信方式の見積もりが正確でないと考えられる
Intelligent Systems Design Laboratory
タスクスケジューラの構築
スケジュールを最適化
Intelligent Systems Design Laboratory
GA によるスケジューリング手法
生物の進化を工学的に模倣した最適化手法
Intelligent Systems Design Laboratory
GA によるスケジューリング手法
生物の進化を工学的に模倣した最適化手法
Intelligent Systems Design Laboratory
数値実験
グリッド環境で ScaLAPACK のスケジューリングスケジューラによる見積もり値と実測値を比較生成されたスケジュールの検討
OBI グリッド( Open BioInformatics Grid )で実験国内バイオインフォマティクス関連の大学・研究機関・ 企業の 27 サイトが参加12 ノード利用(全て同じスペック)各サイト間のネットワーク速度はヘテロ
最大で 20Mbps ,最小で 3Mbps 程度
Intelligent Systems Design Laboratory
GA のパラメータ
総個体数遺伝子長設計変数交叉交叉率突然変異率選択トーナメントサイズエリート保存終了世代
組み合わせ最適化100
1212
一点交叉0.6
0.0833トーナメント選択
41
200
配置最適化50--
dMSXF1.01/12
トーナメント選択4110
Intelligent Systems Design Laboratory
実験結果(1)
見積もり値と実測値の比較
各問題サイズにおいて誤差が小さい
最適なスケジュールは最大で4台を利用
Intelligent Systems Design Laboratory
実験結果(2)
生成された最適なスケジュール( N=8000 の場合)
同志社大の2台 (sand, dnis) ,東工大 (kona02) , 統計数理研究所 (obism220) の各1台の計4台
P,Q=2×2他の P,Q の値よりも短い実行時間
1293.63(sec)
ノード数 Measured time(sec)
3
4
5
1347.01
1293.63
1412.86
P,Q Measured time(sec)
1×4
2×2
1233.97
1293.63
Intelligent Systems Design Laboratory
主要ノードとのネットワーク速度
obism220 とのネットワーク速度一覧From node To Node Mbps
obism220 sand
dnis
Knis
Pluto
kona02
hpq02
Mrin
gnis2
ryukyu02
cirobi
ipabnis
7.65
7.72
6.63
6.67
7.82
3.83
4.79
2.67
3.18
2.65
4.3
Intelligent Systems Design Laboratory
結論
1. ScaLAPACK のコスト見積もり関数の拡張により, より短い時間で実行可能
P,Q のパラメータが重要従来よりも効率的に実行可能となった
2. グリッド環境においてタスクスケジューリングを 行った結果,良好なスケジュールを生成
計算資源から有効な組み合わせを選択・配置最小時間で実行
Intelligent Systems Design Laboratory
発表論文リスト廣安知之,三木光範,斉藤宏樹,谷村勇輔, Jack Dongarra
グリッド環境における ScaLAPACK のための GA によるスケジューリング
第 10 回 MPS シンポジウム,同志社大学, 2003.10
斉藤宏樹,廣安知之,三木光範,谷村勇輔, Jack Dongarra
グリッド環境における分散アプリケーションのための GA によるスケジューリング 同志社大学理工学研究報告書 第 45 巻 第 4 号 2005.1
Intelligent Systems Design Laboratory
Intelligent Systems Design Laboratory
数値実験
1. 拡張したコスト見積もり関数の評価ScaLAPACK をクラスタで実行し,実測値と見積もり値の比較演算時間や送受信量についても,実測値と見積もり値の比較
2. グリッド環境におけるスケジューリングOBI グリッドの分散処理プラットフォームで ScaLAPACK を実行し,実測値と見積もり値の比較最適なスケジュールの有効性の検討
Intelligent Systems Design Laboratory
発表の流れ研究背景・目的
グリッドスケジューラの必要性
分散アプリケーション ScaLAPACK実行手順コスト見積もり関数
ScaLAPACK のコスト見積もり関数の拡張最適化手法 GA の実装数値実験
拡張したコスト見積もり関数の評価OBI グリッドにおけるスケジューリング
結論
Intelligent Systems Design Laboratory
タスクスケジューラの構築
スケジューラ
Intelligent Systems Design Laboratory
From node To Node Mbps
sand obism220
dnis
Knis
Pluto
kona02
hpq02
Mrin
gnis2
ryukyu02
cirobi
ipabnis
9.07
9.38
8.34
8.38
9.34
3.7
4.66
2.28
3.81
2.78
4.26
Intelligent Systems Design Laboratory
From node To Node Mbps
dnis sand
obism220
Knis
Pluto
kona02
hpq02
Mrin
gnis2
ryukyu02
cirobi
ipabnis
9.26
9.28
8.70
8.65
9.35
3.55
4.89
0.77
3.95
2.77
4.31
Intelligent Systems Design Laboratory
From node To Node Mbps
kona02 sand
obism220
Knis
Pluto
dnis
hpq02
Mrin
gnis2
ryukyu02
cirobi
ipabnis
7.82
7.80
6.74
6.80
7.92
3.70
4.95
2.20
3.42
2.65
4.38
Intelligent Systems Design Laboratory
dMSXF (いいとこどり交叉)
TSP で良好な結果近傍とステップ数で探索
Intelligent Systems Design Laboratory
スケジューリングへのアプローチ
Launch-time Schedulingアプリケーション実行前のみ行う適切な計算資源を選択
ReSchedulingアプリケーション実行中にも行う動的情報を考慮しながら計算資源を再選択
Meta-Scheduling同時に同じ計算資源で実行するアプリケーションを考慮して順序などを決定
Intelligent Systems Design Laboratory
シミュレーション環境
Intelligent Systems Design Laboratory
実験結果
拡張したコスト見積もり関数が良好な結果2回 GA を行う手法が良好
見積もり値と実測値の比較
Intelligent Systems Design Laboratory
実験結果(関数の比較)
最適なスケジュール (N=14000)
Intelligent Systems Design Laboratory
実験結果( GA の比較)
最適なスケジュール( N=14000 )
Intelligent Systems Design Laboratory
P,Q 比が変更可能なコスト見積もり関数の開発
密連立一次方程式を解くアルゴリズムを対象
PDGESV ルーチンLU 分解による行列演算時間を見積もる
Intelligent Systems Design Laboratory
見積もり関数の入力パラメータ
計算資源情報CPU 性能,ネットワーク性能,メモリ容量など
( P,Q )の値, N , NB
Intelligent Systems Design Laboratory
ブロック LU 分解フェーズ(1)
最大要素の探索( PDAMAX )
Intelligent Systems Design Laboratory
ブロック LU 分解フェーズ(2)
ブロック列において行交換( PDSWAP )
Intelligent Systems Design Laboratory
ブロック LU 分解フェーズ(3)
ブロック列( L )の計算( PDSCAL )
Intelligent Systems Design Laboratory
ブロック LU 分解フェーズ(4)
ブロックパネル( U )の更新( PDGER )
Intelligent Systems Design Laboratory
演算範囲の推移
これまでの演算を NB-1回繰り返す
Intelligent Systems Design Laboratory
ピボット情報の送信
列方向に BroadCast
Intelligent Systems Design Laboratory
各ブロック列において行交換
行方向で SendRecv
Intelligent Systems Design Laboratory
ブロック行の更新フェーズ(1)
分解済みブロックパネル( L )の送信BroadCast
Intelligent Systems Design Laboratory
ブロック行の更新フェーズ(2)
ブロック行( U )の更新
Intelligent Systems Design Laboratory
未更新行列の更新フェーズ(1)
分解済みブロック( L )の送信BroadCast
Intelligent Systems Design Laboratory
未更新行列の更新フェーズ(2)
分解済みブロックの送信BroadCast
Intelligent Systems Design Laboratory
未更新行列の更新フェーズ(3)
行列積の演算( PDGEMM )
Intelligent Systems Design Laboratory
コスト見積もり関数の開発
演算量の見積もり計算時間の大部分を占めるルーチンを分析
DGEMM ルーチン行列更新の浮動小数点演算量を見積もる
演算時間の算出DGEMM のピーク性能値( Flops )を用いる
演算量( Flops ) / ピーク性能 (Flops)= 時間 (sec)
Intelligent Systems Design Laboratory
通信時間の見積もり
SendRecv行交換の際に発生( P≧2)送受信にかかる時間を計算
BroadCastSplit-ring 方式を見積もる送信ステップは (n+1)/2
Intelligent Systems Design Laboratory
Split-ring の見積もり
プロセス番号0の送受信が終了するまで
Intelligent Systems Design Laboratory
数値実験(関数の評価)
ScaLAPACK をクラスタで実行NWS により計算資源情報を収集し関数へ入力
CPU 利用可能率,バンド幅,レイテンシ収集
ATLAS, High Performance BLAS を使用正確な演算性能で計算させる
コスト見積もり関数による見積もり値と比較
Paradyn により ScaLAPACK を実行Paradyn により演算時間や送受信量を計測演算時間と送受信量を見積もり値と比較
Intelligent Systems Design Laboratory
実験環境
Cluster Gregor Xenia
クロック周波数( MHz )FLOPS /クロック周波数( Hz )DGEMM ピーク性能( % )メモリ( MB )ノード数
1000
1.0
60
512
30
2400
2.0
87.5
512
48
・静的情報
・動的情報( NWS より)CPU 利用可能率( % )バンド幅( Mbps )レイテンシ( μsec )
[0.0 – 1.0]
-
-
Intelligent Systems Design Laboratory
ScaLAPACK のパラメータ
Problem Size(N) 9600
Block Size(NB) 80
Process Grid(P,Q) (1×30),(2×15),(3×10),(5×6),
(6×5),(10×3),(15×2),(30×1)
Problem Size(N) 11520
Block Size(NB) 80
Process Grid(P,Q) (1×48),(2×24),(3×16),(4×12),
(6×8),(8×6),(12×4),(16×3),
(24×2),(48×1)
・ Gregor
・ Xenia
Intelligent Systems Design Laboratory
実測値と見積もり値の比較
最小実行時間をとる P,Q の値が異なる
・ Gregor ・ Xenia
Intelligent Systems Design Laboratory
見積もり値の誤差
Gregorと Xeniaで誤差に大きな差
・ Gregor ・ Xenia
Intelligent Systems Design Laboratory
演算時間・送受信量の比較( Gregor )
演算時間の誤差は小さい
Intelligent Systems Design Laboratory
従来の探索手法: Ad-Hoc greedy
CPU ,ネットワーク性能の高いノードを選択メモリの制約も満たしながら探索
ScaLAPACK の特徴に基づいた探索法ScaLAPACK は均質環境向けのアプリケーション
クラスタ内のノードを優先的に利用
Intelligent Systems Design Laboratory
従来の探索手法: SA
局所解を回避できる確率的探索法メモリ制約を満たすノード数ごとに探索する
Intelligent Systems Design Laboratory
GA によるスケジューリング手法
生物の進化を工学的に模倣した最適化手法
Intelligent Systems Design Laboratory
数値実験
異なる計算資源でのスケジューリング論文の資源 [Yarkhan 2002]
小規模( 15 ノード),大規模( 100 ノード)計算資源
GA , Ad-Hoc greedy , SA による性能比較ScaLAPACK の見積もりコスト値による比較スケジューリング,計算時間による比較
問題サイズブロックサイズ( P,Q )
1000~ 15000 , 25000~ 37000
801× 使用ノード数
ScaLAPACKのパラメータ
Intelligent Systems Design Laboratory
GA , SA のパラメータ
総個体数遺伝子長設計変数交叉交叉率突然変異率選択トーナメントサイズエリート保存終了世代ペナルティ ρ
100ノード数( =L )
ノード数二点交叉
0.61/L
トーナメント選択41
500300,500
最高温度最低温度ステップ数クーリング関数クーリング間隔クーリング率
1504.3
1.0×104
1000.9648
GA [ 伊庭 1994] SA [ 小西 1994]
aTTa )(
Intelligent Systems Design Laboratory
論文の値による性能比較
Intelligent Systems Design Laboratory
実験結果
問題サイズ 11000以下で GA の探索が悪い各問題サイズで Ad-Hoc greedy の探索が悪い
Intelligent Systems Design Laboratory
選択ノード
N=11000問題サイズ 11000 を計算するのに必要なメモリ容量は2307.8MB以上GA が選択した資源の総メモリ容量は, 2304MB でメモリ制約を満たしていない
ペナルティ値の設定が不適切
Intelligent Systems Design Laboratory
ノード順序
N=14000
ノード順序 見積もりコスト
Ad-Hoc
SA
GA
5,3,4,0,1,2,6,7,8,9,10,11,12,13,14
9,7,11,13,8,14,4,5,3,1,0,2,6,12,10
5,4,8,7,11,10,12,14,13,6,9,0,1,2,3
1507.11292.11235.5
各手法が全 15 ノードを使用しているが,順序が異なるGA , SA は順序を考慮した探索が行えており,見積もりコストの値が良い
Intelligent Systems Design Laboratory
計算資源の規模による性能比較
15 ノードを小規模, 100 ノードを大規模と定義計算資源を性能により 4 パターンに分類
1: ネットワーク速度差 大 CPU 速度差 小2: ネットワーク速度差
大 CPU 速度差
大3: ネットワーク速度差 小 CPU 速度差 小4: ネットワーク速度差 小 CPU 速度差 大
Intelligent Systems Design Laboratory
小規模計算資源による実験結果
各パターンで GA と SA の探索が良い
Intelligent Systems Design Laboratory
大規模計算資源による実験結果
大きい問題サイズにおいて, GA の探索が最も良い
Intelligent Systems Design Laboratory
探索履歴(パターン 2 )
N=37000GA の見積もりコストが最も小さいAd-Hoc greedy , SA は局所解に陥っている
Intelligent Systems Design Laboratory
使用ノード(パターン 2 )
N=37000各手法で求めているスケジュールが異なるGA で生成されたスケジュールは他の手法で生成されていない
Intelligent Systems Design Laboratory
スケジューリング時間比較(パターン 2 )
N=37000Ad-Hoc greedy の時間が最も短い
Intelligent Systems Design Laboratory
計算時間比較
パターン 2 ( N=37000 )スケジューリング時間と見積もり実行時間の和GA が最も短い
Intelligent Systems Design Laboratory
ペナルティ関数
不足しているメモリ量をもとに,ペナルティ値を決定
g ( ρ ) =ρ{N-(Total memory[byte]/8)1/4}
Intelligent Systems Design Laboratory
必要メモリ容量
問題サイズ N の場合, N×N の行列要素要素は double型
N2×8=Total memory[byte]
Intelligent Systems Design Laboratory
LU 分解
Intelligent Systems Design Laboratory
SA のパラメータ
最高温度最大の改悪となる状態遷移が 50% の確率で受理される温度
最低温度最小の改悪となる状態遷移が一定温度のアニーリング処理の間に, 1回は受理されるような温度
Intelligent Systems Design Laboratory
論文の値
TORC MSC OPUSノード数CPU 処理速度( MHz )CPU 利用可能率バンド幅( Mbps )レイテンシ( μsec )メモリ容量( MB )
35500.975
0.15512
39330.975
0.15512
94500.975
0.15256
計算資源情報
Intelligent Systems Design Laboratory
計算資源のパターン
4 つのパターンによる性能比較CPU処理速度とバンド幅の差により分類
パターン ネットワークバンド幅の差 CPU 速度差1
2
3
4
小( SD < 50 )大( SD > 500 )小大
小( SD < 150 )小大 ( SD > 300 )大