1 / 87

グリッド環境における タスクスケジューラの構築

グリッド環境における タスクスケジューラの構築. 斉藤宏樹 博士前期課程 2003 年度 737 番 知的システムデザイン研究室. 研究背景. グリッド ネットワークで遠隔地にある計算資源を接続 ユーザに大規模な計算資源を提供 グリッドコンピューティング 効率的に分散・並列アプリケーションを実行. スケジューリングの必要性. 適切な計算資源を選択することは困難 グリッドは CPU やネットワーク性能等がヘテロ 計算資源の状態が動的に変動. 研究目的. 大規模計算を効率的に実行 グリッドによって実行時間を短縮 グリッドにおけるタスクスケジューラの開発

luka
Download Presentation

グリッド環境における タスクスケジューラの構築

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. グリッド環境におけるタスクスケジューラの構築グリッド環境におけるタスクスケジューラの構築 斉藤宏樹 博士前期課程 2003年度 737番 知的システムデザイン研究室

  2. 研究背景 • グリッド • ネットワークで遠隔地にある計算資源を接続 • ユーザに大規模な計算資源を提供 • グリッドコンピューティング • 効率的に分散・並列アプリケーションを実行

  3. スケジューリングの必要性 • 適切な計算資源を選択することは困難 • グリッドはCPUやネットワーク性能等がヘテロ • 計算資源の状態が動的に変動

  4. 研究目的 • 大規模計算を効率的に実行 • グリッドによって実行時間を短縮 • グリッドにおけるタスクスケジューラの開発 • 分散アプリケーションScaLAPACKを対象 • 有効な計算資源を選択 • アプリケーションのタスクを割り振る ScaLAPACKは計算と通信を頻繁に実行するため, スケジューリングの対象として有効

  5. ScaLAPACK • 分散メモリ用の線形計算ライブラリ • Scalable LAPACK • 共有メモリ用のLAPACKを並列・分散用に拡張 • 通信しながら行列計算(MPIなど使用) • 実行前に行列を計算資源へ分配 • 行列の分解・通信・更新を繰り返し行う • 計算資源に合わせてパラメータ調整可能 • 問題サイズ,ブロックサイズ,P,Q比など • 科学技術分野で使用される重要なライブラリ

  6. ScaLAPACKの実行手順 • 行列の分配 • プロセスグリッド(P,Q)に基づいて分割 N:問題サイズ NB:ブロックサイズ

  7. ScaLAPACKの実行手順 2.行列計算(LU分解) • 分解・通信・更新を繰り返す • ブロック列(L)を計算

  8. ScaLAPACKの実行手順 2.行列計算(LU分解) • 分解・通信・更新を繰り返す • 分解パネルの送信

  9. ScaLAPACKの実行手順 2.行列計算(LU分解) • 分解・通信・更新を繰り返す • 更新パネル送信

  10. ScaLAPACKの実行手順 2.行列計算(LU分解) • 分解・通信・更新を繰り返す • 未更新行列の更新

  11. ScaLAPACKの実行手順 2.行列計算(LU分解) • 分解・通信・更新を繰り返す

  12. ScaLAPACKをグリッド上で実行 • 実行時間の短縮を目指す • 計算資源の選択が重要(計算と通信のバランス) • パラメータ(プロセスグリッド)が重要 • 実行する前にシミュレーションが必要 • 実行する環境でどの程度の時間を要するか予測したい • GrADS Projectはシミュレータを開発 有効な計算資源やパラメータを 実行して設定するには時間がかかる ScaLAPACKのコスト見積もり関数によって, 実行時間を予測

  13. ScaLAPACKのコスト見積もり関数 • ScaLAPACKの行列計算の時間を予測 • 行列の分解や更新に必要な浮動小数点演算量を算出 • 分解パネルの通信量を算出 • 入力情報 • 計算資源情報 • CPU性能,ネットワーク性能,メモリの容量など • ScaLAPACKのパラメータ • 問題サイズ,ブロックサイズ,プロセスグリッド • 出力情報 • ScaLAPACKの見積もり実行時間 本研究では実行時間をより短縮するために, 従来のコスト見積もり関数を拡張する

  14. 従来のコスト見積もり関数 • パラメータに制限 • Pが1に固定(1次元のみ)

  15. コスト見積もり関数の拡張 • P,Q比が変更可能 • 2次元の方が1次元よりも実行時間は短くなる

  16. 拡張したコスト見積もり関数 • プロセスグリッド(P,Q)が変更可能 • P方向に複数プロセスが割り当てられる • 計算の待ち時間が短縮 • 1つのプロセスの通信量が減少 • 新たにP方向の通信が発生 従来の関数(P=1に固定)よりも短い実行時間を 正確に見積もることができるか確認

  17. 拡張したコスト見積もり関数の評価 • ScaLAPACKをクラスタで実行し,実測値と見積もりの比較 • 実験環境 • パラメータ

  18. 実験結果(1) • 見積もり値と実測値の比較 最小実行時間をとるP,Qの値が異なるが,傾向がほぼ等しい Pの値が3よりも大きくなるにつれて誤差が大きくなる

  19. 実験結果(2) • 演算時間・通信量の比較 演算時間の誤差は小さく,通信量の増減の傾向も同じ 最適なプロセスグリッドが異なったのは,通信方式の見積もりが 正確でないと考えられる

  20. タスクスケジューラの構築 • スケジュールを最適化

  21. GAによるスケジューリング手法 • 生物の進化を工学的に模倣した最適化手法

  22. GAによるスケジューリング手法 • 生物の進化を工学的に模倣した最適化手法

  23. 数値実験 • グリッド環境でScaLAPACKのスケジューリング • スケジューラによる見積もり値と実測値を比較 • 生成されたスケジュールの検討 • OBIグリッド(Open BioInformatics Grid)で実験 • 国内バイオインフォマティクス関連の大学・研究機関・ 企業の27サイトが参加 • 12ノード利用(全て同じスペック) • 各サイト間のネットワーク速度はヘテロ • 最大で20Mbps,最小で3Mbps程度

  24. GAのパラメータ

  25. 実験結果(1) • 見積もり値と実測値の比較 各問題サイズにおいて誤差が小さい 最適なスケジュールは最大で4台を利用

  26. 実験結果(2) • 生成された最適なスケジュール(N=8000の場合) • 同志社大の2台(sand, dnis),東工大(kona02),  統計数理研究所(obism220)の各1台の計4台 • P,Q=2×2 • 他のP,Qの値よりも短い実行時間 1293.63(sec)

  27. 主要ノードとのネットワーク速度 • obism220とのネットワーク速度一覧

  28. 結論 • ScaLAPACKのコスト見積もり関数の拡張により,  より短い時間で実行可能 • P,Qのパラメータが重要 • 従来よりも効率的に実行可能となった 2. グリッド環境においてタスクスケジューリングを  行った結果,良好なスケジュールを生成 • 計算資源から有効な組み合わせを選択・配置 • 最小時間で実行

  29. 発表論文リスト • 廣安知之,三木光範,斉藤宏樹,谷村勇輔,Jack Dongarra グリッド環境におけるScaLAPACKのためのGAによるスケジューリング   第10回MPSシンポジウム,同志社大学,2003.10 • 斉藤宏樹,廣安知之,三木光範,谷村勇輔,Jack Dongarra グリッド環境における分散アプリケーションのための GAによるスケジューリング   同志社大学理工学研究報告書 第45巻 第4号 2005.1

  30. 数値実験 • 拡張したコスト見積もり関数の評価 • ScaLAPACKをクラスタで実行し,実測値と見積もり値の比較 • 演算時間や送受信量についても,実測値と見積もり値の比較 • グリッド環境におけるスケジューリング • OBIグリッドの分散処理プラットフォームでScaLAPACKを実行し,実測値と見積もり値の比較 • 最適なスケジュールの有効性の検討

  31. 発表の流れ • 研究背景・目的 • グリッド • スケジューラの必要性 • 分散アプリケーションScaLAPACK • 実行手順 • コスト見積もり関数 • ScaLAPACKのコスト見積もり関数の拡張 • 最適化手法GAの実装 • 数値実験 • 拡張したコスト見積もり関数の評価 • OBIグリッドにおけるスケジューリング • 結論

  32. スケジューラ タスクスケジューラの構築

  33. dMSXF(いいとこどり交叉) • TSPで良好な結果 • 近傍とステップ数で探索

  34. スケジューリングへのアプローチ • Launch-time Scheduling • アプリケーション実行前のみ行う • 適切な計算資源を選択 • ReScheduling • アプリケーション実行中にも行う • 動的情報を考慮しながら計算資源を再選択 • Meta-Scheduling • 同時に同じ計算資源で実行するアプリケーションを考慮して順序などを決定

  35. シミュレーション環境

  36. 実験結果 • 見積もり値と実測値の比較 拡張したコスト見積もり関数が良好な結果 2回GAを行う手法が良好

  37. 実験結果(関数の比較) • 最適なスケジュール(N=14000)

  38. 実験結果(GAの比較) • 最適なスケジュール(N=14000)

  39. P,Q比が変更可能なコスト見積もり関数の開発 • 密連立一次方程式を解くアルゴリズムを対象 • PDGESVルーチン • LU分解による行列演算時間を見積もる

  40. 見積もり関数の入力パラメータ • 計算資源情報 • CPU性能,ネットワーク性能,メモリ容量など • (P,Q)の値,N, NB

  41. ブロックLU分解フェーズ(1) • 最大要素の探索(PDAMAX)

  42. ブロックLU分解フェーズ(2) • ブロック列において行交換(PDSWAP)

  43. ブロックLU分解フェーズ(3) • ブロック列(L)の計算(PDSCAL)

  44. ブロックLU分解フェーズ(4) • ブロックパネル(U)の更新(PDGER)

  45. 演算範囲の推移 • これまでの演算をNB-1回繰り返す

  46. ピボット情報の送信 • 列方向にBroadCast

More Related