Transcript スケジューリング③
通信遅延を考慮したタスクスケジューリングの
近似アルゴリズムに関する研究
三重大学大学院 工学研究科 情報工学専攻
計算機ソフトウェア研究室
坂上 知英
はじめに
• 並列処理システムの性能を最大限に発揮
– タスクスケジューリングが重要
• スケジューリング問題の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
L3
)
の多項式時間近似アルゴリズムを考案
各手法の近似精度
レベル
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(uk ) k
v
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 2L3
e(v) max(e(ui ) i)
k min( p, 1)
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 2L3
e(v) max(e(ui ) i)
k min( p, 1)
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 2L3
e(v) max(e(ui ) i)
k min( p, 1)
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 2L3
e(v) max(e(ui ) i)
k min( p, 1)
1i k
M
k
k e(v)
スケジューリング③
M 1
0
τ+1
レベル0
u
1
u~u
1
・ vのレベルは L
2
M 1
a
k
M
a
L-1
v
a 1
時刻
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
L1
M L 1
e(ua1 ) k li
e(v)
M
i 2
L1
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
L3
3 2
L : DAGのレベル
• Papadimitriouら、本研究で定義したe-valueを下界
として使用した場合の近似精度の限界を示した。
近似精度の限界:
1
k2 1
k
おまけ