グリッド環境における タスクスケジューラの構築 斉藤宏樹 博士前期課程 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 クロック周波数(MHz) FLOPS/(Hz) DGEMMピーク性能(%) メモリ(MB) ノード数 Gregor 1000 1.0 60 512 30 パラメータ Problem Size(N) Block Size(NB) Process Grid(P,Q) 9600 80 (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 12 12 一点交叉 50 dMSXF 0.6 1.0 0.0833 1/12 トーナメント選択 トーナメント選択 4 4 1 1 200 10 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の値よりも短い実行時間 ノード数 Measured time(sec) 3 1347.01 4 1293.63 5 1412.86 P,Q 1293.63(sec) Measured time(sec) 1×4 2×2 1233.97 1293.63 Intelligent Systems Design Laboratory 主要ノードとのネットワーク速度 obism220とのネットワーク速度一覧 From node obism220 To Node sand dnis Knis Pluto kona02 hpq02 Mrin gnis2 ryukyu02 cirobi ipabnis Mbps 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 sand To Node obism220 dnis Knis Pluto kona02 hpq02 Mrin gnis2 ryukyu02 cirobi ipabnis Mbps 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 dnis To Node sand obism220 Knis Pluto kona02 hpq02 Mrin gnis2 ryukyu02 cirobi ipabnis Mbps 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 kona02 To Node sand obism220 Knis Pluto dnis hpq02 Mrin gnis2 ryukyu02 cirobi ipabnis Mbps 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) 送受信にかかる時間を計算 BroadCast Split-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 クロック周波数(MHz) FLOPS/クロック周波数(Hz) DGEMMピーク性能(%) メモリ(MB) ノード数 Gregor 1000 1.0 60 512 30 Xenia 2400 2.0 87.5 512 48 ・動的情報(NWSより) CPU利用可能率(%) バンド幅(Mbps) レイテンシ(μsec) [0.0 – 1.0] Intelligent Systems Design Laboratory ScaLAPACKのパラメータ ・Gregor Problem Size(N) Block Size(NB) Process Grid(P,Q) 9600 80 (1×30),(2×15),(3×10),(5×6), (6×5),(10×3),(15×2),(30×1) ・Xenia Problem Size(N) Block Size(NB) Process Grid(P,Q) 11520 80 (1×48),(2×24),(3×16),(4×12), (6×8),(8×6),(12×4),(16×3), (24×2),(48×1) Intelligent Systems Design Laboratory 実測値と見積もり値の比較 ・Gregor ・Xenia 最小実行時間をとるP,Qの値が異なる 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の見積もりコスト値による比較 スケジューリング,計算時間による比較 ScaLAPACKのパラメータ 問題サイズ ブロックサイズ (P,Q) 1000~15000,25000~37000 80 1×使用ノード数 Intelligent Systems Design Laboratory GA,SAのパラメータ GA [伊庭 1994] SA [小西 1994] 総個体数 100 遺伝子長 ノード数(=L) 設計変数 ノード数 交叉 二点交叉 交叉率 0.6 突然変異率 1/L 選択 トーナメント選択 トーナメントサイズ 4 エリート保存 1 終了世代 500 ペナルティρ 300,500 最高温度 最低温度 ステップ数 クーリング関数 クーリング間隔 クーリング率 150 4.3 1.0×104 a(T ) aT 100 0.9648 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.1 1292.1 1235.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=37000 GAの見積もりコストが最も小さい Ad-Hoc greedy,SAは局所解に陥っている Intelligent Systems Design Laboratory 使用ノード(パターン2) N=37000 各手法で求めているスケジュールが異なる GAで生成されたスケジュールは他の手法で生成 されていない Intelligent Systems Design Laboratory スケジューリング時間比較(パターン2) N=37000 Ad-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 ノード数 CPU処理速度(MHz) CPU利用可能率 バンド幅(Mbps) レイテンシ(μsec) メモリ容量(MB) MSC 3 550 0.9 75 0.15 512 OPUS 3 933 0.9 75 0.15 512 9 450 0.9 75 0.15 256 Intelligent Systems Design Laboratory 計算資源のパターン 4つのパターンによる性能比較 CPU処理速度とバンド幅の差により分類 パターン 1 2 3 4 ネットワークバンド幅の差 小(SD < 50) 大(SD > 500) 小 大 CPU速度差 小(SD < 150) 小 大 (SD > 300) 大 Intelligent Systems Design Laboratory
© Copyright 2024 ExpyDoc