本年度は、マルチプロセッサシステム上での階層型粗粒度並列処理におけるデータ転送最小化(データローカライゼーション)手法について研究を行った。階層型粗粒度並列処理では、自動並列化コンパイラがプログラム中の粗粒度タスク(ループやサブルーチン)間の並列性を自動抽出し、それらの粗粒度タスクを実行時に動的にプロセッサに割り当てる方式をとる。このため従来は、粗粒度タスク間のデータ転送が集中共有メモリ経由で行われており、粗粒度タスク間データ転送のオーバヘッドが大きくなるという問題点があった。 この問題点を解決するために、本年度は、各階層の粗粒度タスク間でのデータ転送を、集中共有メモリ経由ではなく、プロセッサ上のローカルメモリ経由で行う方法を提案した。具体的には、各階層において粗粒度並列性が十分に得られ、かつ、粗粒度タスク間でローカルメモリを介したデータ転送が行えるように、粗粒度タスク(ループ)及び配列データを分割する階層型ループ整合分割法を提案した。また、各階層の粗粒度タスク間で多量のデータ転送を必要とする粗粒度タスク集合を実行時に同一のプロセッサに割り当てる方法として、パーシャルスタティックタスク割当てを用いた階層型ダイナミックスケジューリング法を開発した。 また、本研究では、上述の提案手法を用いたシステムソフトウェア(自動並列化コンパイラ)を開発し、マルチプロセッサシステム上で性能評価を行った結果、提案手法の有効性が確かめられた。 本年度に行った研究の成果は、情報処理学会の論文誌、Journal of Parallel Computing、国際会議などで発表されている。
|