研究概要 |
計算機技術の発展に伴い,様々な応用分野,様々な計算機構成における並列処理が要求されている状況に対し,本研究では様々な環境に適用可能な環境適用型並列化コンパイラを開発することを目的としている.今年度は最終年度であり,システムの実装を中心として,タスク・スケジューリング方式について研究した.具体的には,環境適用型並列化コンパイラから出力されたタスク群を計算機で適切に実行可能とするタスク複製型スケジューリング方式を開発した.本コンパイラは様々な計算機環境を対象にしており,プロセッサ数が多数含まれている計算機環境においては,プロセッサを有効に利用することが必要である.タスク複製型スケジューリング方式では,依存関係により実行待ちタスクの要因となるタスクを複製して複数のプロセッサで実行することにより,タスク実行後のプロセッサ間通信を削除して効率よくタスク群を実行することが可能となる.従来までのタスク複製型スケジューリング方式では,複製可能なタスクをすべて複製することで実行効率を向上させているが,必要となるプロセッサ数が膨大となった.我々が開発したスケジューリング方式では,一般のスケジューリング方式でプロセッサ割当てした結果に基づき,2ステップでタスク複製を実現した.まず,現在使用されているプロセッサの中でアイドル部分に複製可能なタスクを割り当てる(タスク充填).タスク充填により,使用プロセッサ数を増加させないタスク複製が可能となった.次に,未使用プロセッサを有効に利用するため,無用なタスク複製,すなわち全体の実行時間が短縮しないタスク複製を排除するため,タスクグラフを深さ優先探索し,有効な複製候補タスクを選択し,空プロセッサに複製する(タスク複製).この2ステップの手法を用いることにより,プロセッサ数の異なる様々な計算機環境において有効なタスク・スケジューリングが可能となった.
|