通信遅延を考慮したタスクスケジューリングの 近似アルゴリズムに関する研究 三重大学大学院 工学研究科 情報工学専攻 計算機ソフトウェア研究室 坂上 知英 はじめに • 並列処理システムの性能を最大限に発揮 – タスクスケジューリングが重要 • スケジューリング問題のNP完全性 – 近似アルゴリズムが重要 タスク間の依存関係 レベル ・ DAG(非循環有向グラフ) G=(V,E)で表現 0 T1 T2 T3 頂点 : タスク 有向辺: 依存関係 1 2 T4 T5 T6 レベル2のDAG 通信遅延とは ・ 異なるプロセッサ間の通信時間 T1 プロセッサ 時刻 P1 0 T1 1 T2 T2 (通信遅延τ=2) 2 プロセッサ 時刻 P1 0 P2 T1 1 2 通信遅延なし 3 T2 4 通信遅延あり 通信遅延とは 0 T1 T2 T4 T3 T5 T6 (通信遅延τ=2) P1 P2 P3 T1 T2 T3 1 0 P1 P2 T1 T3 1 2 2 3 3 T2 T4 T4 T5 4 4 5 5 T5 T6 通信遅延を考慮した場合 6 T6 7 通信遅延を考慮しない場合 タスクの複製 0 T1 1 2 P1 T3 T4 0 1 通信遅延τ=1 2 P3 T3 T4 T1 T2 3 T2 P2 複製なし P1 P2 P3 T1 T1 T1 T2 T3 T4 複製あり 本研究の前提 ① 使用できるプロセッサ数は無制限 ② タスクの実行時間は1 ③ 各プロセッサ間の通信遅延時間は整数τ(τ≧1) ④ タスクの複製を許す これまでの研究結果 (Papadimitriou、Yannakakis、1990) ・ 一般のDAGについてNP完全 ・ 一般のDAGに対して近似精度2のアルゴリズム ・ 近似精度2より良いアルゴリズムがあるかどうかを未解決 問題として提示 (河田ら、2001) ・ DAGのレベルを2に限ってもNP完全 ・ DAGのレベルが2、3のとき、それぞれ近似精度1.5、 1.7 のアルゴリズム ・ 任意のレベルのDAGについては未解決 本研究の結果 DAGのレベルが L (3以上)のとき、 1 近似精度 2 M (M 3 2 L 3 ) の多項式時間近似アルゴリズムを考案 各手法の近似精度 レベル 3 4 5 2 ・・・ L 1.7 1.67 1.84 1.92 ・・・ 2 1M PY 河田ら 本研究 • e-valueを用いたときの近似精度の限界は 1 k2 1 k アルゴリズムの概要 DAG、通信遅延τ e-valueの計算 スケジューリング スケジュール e-valueについて ・ タスクvは時刻e(v)より前にスケジュールできない vの開始時刻の下界として利用 ・ スケジューリングに利用 (Papadimitriou、Yannakakis、1990) 本研究ではe-valueを変形して利用 e-valueの計算 T1 T2 T4 T3 e(v) 0 T5 帰納的に計算 T6 e-valueの計算 ・ 先祖をe-valueの降順にソート e(u1) e(uk ) e(u p) u u u k min(p, 1) p:先祖の数 τ:通信遅延時間 p k 1 e(v) e(u k ) k v e(v) max (e(u i ) i ) 1i k スケジューリングの概要 p 1 ① p 1 M k e(v ) M 1 M k e(v ) k M 1 ② ③ p : vの先祖の数 : 通信遅延 L : vのレベル M 3 2 L 3 k min(p, 1) e(v) max (e(ui ) i ) 1i k スケジューリングの概要 p 1 ① p 1 M k e(v ) M 1 M k e(v ) k M 1 ② ③ p : vの先祖の数 : 通信遅延 L : vのレベル M 3 2 L 3 k min(p, 1) e(v) max (e(ui ) i ) 1i k スケジューリング① ( p 1) プロセッサ 0 u p u • すべての先祖を同一プロセッサ にスケジュール 時刻 u 1 v 最適スケジュール スケジューリングの概要 p 1 ① p 1 M k e(v ) M 1 M k e(v ) k M 1 ② ③ p : vの先祖の数 : 通信遅延 L : vのレベル M 3 2 L 3 k min(p, 1) e(v) max (e(ui ) i ) 1i k M k e ( v ) スケジューリング② M 1 u k 1 ~ u p u u • p を別のプロセッサ k 1 ~ にスケジュール u u • 通信を待って、 1 ~ k を 同一プロセッサにスケジュール u u k 1 v 1 e(v) 以下 vの開始時刻は 2 M スケジューリングの概要 p 1 ① p 1 M k e(v ) M 1 M k e(v ) k M 1 ② ③ p : vの先祖の数 : 通信遅延 L : vのレベル M 3 2 L 3 k min(p, 1) e(v) max (e(ui ) i ) 1i k M k k e(v) スケジューリング③ M 1 0 τ+1 レベル0 1 u~u 1 2 u a 1 ・ vのレベルは L M 1 a k M a L-1 v 1 時刻 2 e(v) 以下ならばOK M スケジューリング③ 0 0 1 u a 1 2 いくつか別のプロセッサにスケジュール L‐1 v 1 e(v) 時刻 2 M スケジューリング③ L-1 0 u 2 L-2 2 a 1 2 3 L-1 L‐1 v v 時刻 2 1 e(v) M スケジューリング③ L-1 0 u 2 L-2 2 a 1 2 3 L-1 L‐1 v v 時刻 2 1 e(v) M M k k e(v) スケジューリング③ M 1 li : vと同一プロセッサに残っているレベルiのタスクの個数 L2 li e(v) M i 2 L 1 M L 1 e(ua 1 ) k li e(v) M i 2 L 1 1 2 e(v) M ( L 3) 計算量 ・ e-valueの計算 O| V || E | ・ スケジューリング O |V |2 全体で O| V || E | 近似精度の限界 • 下界にe-valueを使用 k2 近似精度 1 k2 1 が限界 k k2 u u k 2 1 v e(v) k 最適解: k 1 k 2 e(v) k 近似精度の限界 最適解: k k 2 k 2 1 レベル 0 u u レベル 1 k 2 1 レベル L-1 v k 2 おわりに • 本研究では、 Papadimitriouらが提示した未解決問 題に取り組み、任意のレベルのDAGに対するスケ ジューリングアルゴリズムの近似精度を改善した。 近似精度: 1 2 L 3 3 2 L : DAGのレベル • Papadimitriouら、本研究で定義したe-valueを下界 として使用した場合の近似精度の限界を示した。 近似精度の限界: 1 k2 1 k おまけ
© Copyright 2024 ExpyDoc