研究概要 |
本研究では,計算機クラスタ環境で効率のよい並列処理を可能とするプログラム並列化手法,タスク実行制御手法を開発することを目的とする.タスク間データ・パイプラインによりタスク間で共有されるデータを効率よく転送し,最大限の並列性が抽出されるよう,プログラムを並列化しタスクを生成する手法と,タスクの実行を制御する手法について研究する. 今年度は,プログラム中のループ文に着目し,複数のループ文をパイプライン的に並列実行するためのプログラム解析手法を検討した.ループ文をパイプライン的に実行するとき,そのループ文が配列データをどのような順序で操作するかが重要となる.操作の順序が類似したループ文は効率よいデータ・パイプライン並列処理が可能である.我々はループ文における配列データの操作の順序をアクセス・パターンとしてモデル化し,アクセス・パターンの類似性によりデータ・パイプライン並列処理の適用可否を判断する手法を開発した. また,並列化コンパイラの実装を容易にするための研究も進めた.プログラム並列化という並列化コンパイラの行う作業に対して,様々な並列化アルゴリズムにおける共通部分,非共通部分を整理し,並列化コンパイラの枠組みを定めた.そして,プログラム並列化処理を,プログラムを並列処理単位に分割する処理と,並列処理単位を計算機環境に割り当てる処理とにモデル化した.そのモデル化の枠組みを並列化コンパイラ・ツールキットという形で実現するための開発作業を行った.
|