研究概要 |
本年度は,研究計画書の「項目C:構造化並列プログラミング環境の実現と性能評価」を中心に研究を行った。主に,実用の観点から,共有キャッシュが存在するようなメモリ階層構造を持つ,マルチコア並列計算機システム上で効率よく動作する並列スケルトンによる構造化並列プログラミングライブラリの実現方法を示した。この並列スケルトンライブラリを用いることで,多くのアルゴリズムに対して共有キャッシュを利用して並列計算を行うようなコードを容易に記述することが可能となる。また,実際に実行可能な並列スケルトンライブラリとして実装し,数値計算や知識発見のような現実問題を解くことで,共有メモリ環境下で共有キャッシュを持ったXeonやCore 2 Quadのようなマルチコアの計算機上で共有キャッシュを効率よく利用するコードが容易に記述可能であることを示した。 また,「リスト上の最大マーク付け問題」を解く並列プログラムの導出方法を提案した。最大マーク付け問題とは,入力として与えられたデータに対し,ある述語を満たし,かつ,重み和が最大となる要素集合を求める問題である。多くの最適化問題は最大マーク付け問題として定式化できることが知られている。リスト上の最大マーク付け問題について,その問題を解くスケルトン並列プログラムを自動的に導出する手法を与え,また,その導出を行うシステムを実装した。スケルトンによる構造化並列プログラムの導出は3ステップからなる。 (1)篠埜らによる導出法によって得られる逐次プログラムを変形する。 (2)逐次プログラム中の関数を並列スケルトンによって置き換える。 (3)得られた並列スケルトンの引数の関数に対して準結合的な演算子を導出する。 さらに,得られたプログラムの台数効果および導出システムにおける最適化の効果について,実験によって確かめた。
|