研究概要 |
並列プログラムの実行をタスクグラフでモデル化し,タスクスケジューリングによってスケジュールを生成し,そのスケジュールに従ってコード化することでMPMD型の並列プログラムを生成できる.このとき、生成されたスケジュールに関する,従来からの性能評価尺度である"メイクスパン"では,実際に実行される並列プログラムのメッセージ一括化をモデル化できないので,その実行性能を的確に近似できない.最終生産物である並列プログラムの実行性能を評価尺度とすべきであるとの立場から,メッセージの一括化が適用可能なスケジュール(以下"BSPスケジュール"と略す)を生成することの重要性が最近認められ,BSPスケジュールを生成するアルゴリズムとしてBCSHが知られている.しかし,大きなタスクグラフを入力とする場合は,BCSHの実行時間が膨大となり実用的ではない. 昨年度は,タスクグラフの並列性は犠牲にするが,連結するタスクを上位の1つのタスクとし,タスクグラフの粒度を粗くすることで対象問題の規模に対応する方法を提案し,どのようにタスクをまとめると効果的となるかなどに関して良好な結果を得た.本年度は,タスクグラフの粒度は細かいままで,タスクグラフを分割し,それらの部分タスクのスケジューリングを並列処理することにより高速化を試みた.その結果,今まで逐次処理で1.2年ほど計算時間がかかる大きなタスクグラフのスケジュールを,2時間程度で並列処理することに成功した.ただし,逐次処理で得られるスケジュールとまったく同一のものを得るわけではなく,並列プログラムとしたときにほとんど性能劣化のないBSPスケジュールを得るように,グラフの分割方法を工夫した.
|