研究概要 |
計算機技術の発展に伴い,様々な応用分野,様々な計算機構成における並列処理が要求される状況に対し,本研究では様々な環境に適用可能な環境適用型並列化コンパイラを開発することを目的としている.環境適用型並列化コンパイラを開発するための要素技術を,現在開発中の並列化コンパイラ・ツールキットの基で研究・開発した.まず,プログラム並列化処理を並列化ポリシと呼ばれるプログラム変形ルールの集合で記述し,プログラムから得られた依存関係グラフに対してルール集合を適用することによってプログラム並列化を達成する枠組みを開発した.本枠組みにより,数ステップから十数ステップで構成される並列化ポリシを数個組み合わせることで,現在までに開発されている主要な並列化アルゴリズムを実現することができた.また,実行環境となる計算機環境の構成を記述した環境パラメータに基づいて,計算機環境に適したタスクを生成する手法について検討した.並列処理環境においてはタスク間通信に伴う計算機間の通信コストをいかにして推定するかが重要となる.本研究では,計算機間の通信コストをネットワークの性質を表すパラメータから詳細に計算し,その結果をタスク割当てアルゴリズムに利用する手法を開発した.この手法により,様々なネットワーク環境において適切なタスク割当てを実現することができる.本枠組みの基で,コンパイラ開発者はプログラム並列化アルゴリズムをルールとして記述することができ,また,計算機環境の違いもパラメータの違いとして吸収することができる.これにより,開発者はプログラム並列化アルゴリズム,タスク割当てアルゴリズムの開発に集中することができ,並列化コンパイラを効率よく開発することができるようになった.
|