研究課題/領域番号 |
05452354
|
研究機関 | 早稲田大学 |
研究代表者 |
成田 誠之助 早稲田大学, 理工学部・電気工学科, 教授 (90063677)
|
研究分担者 |
合田 憲人 早稲田大学, 情報科学センター, 助手 (80247212)
本多 弘樹 山梨大学, 工学部・電子情報工学科, 助教授 (20199574)
笠原 博徳 早稲田大学, 理工学部・電気工学科, 助教授 (30152622)
|
キーワード | 並列処理 / 並列化コンパイラ / スーパーコンピュータ / マルチプロセッサ / Fortran / スケジューリング / 粗粒度タスク / マクロデータフロー処理 |
研究概要 |
主記憶共有マルチプロセッサシステム上でのFortranプログラムの並列処理では、従来よりマルチタスキングやマイクロタスキングなどの手法が用いられてきた。マルチタスキングでは、ユーザが粗粒度タスク間の並列性を指定し、OSなどが実行時にタスクをプロセッサに割り当てる方式がとられていたため、ユーザによる並列性指定が困難である。OSコールなどによるスケジューリングオーバーへッドが大きいといった問題がある。マイクロタスキングは、最も広く用いられてきたループ並列化手法であるが、イタレーション間にまたがる複雑なデータ依存やループ外への条件分岐によって並列化できないループが依然存在する。 これらに対して当研究者等は、マクロデータフロー処理手法を提案している。本手法では、コンパイラがプログラムを粗粒度タスクへ分割し、粗粒度タスクの最早実行可能条件を解析することにより粗粒度タスク間の並列性を自動抽出する。コンパイラが各ソースプログラム専用に生成したスケジューリングルーチンを用いることで、スケジューリングオーバーヘッドを抑えることができる。 また、マクロデータフロー処理を行なう場合、各データをデータ転送を最小化するよう考慮し、各プロセッサ上のローカルメモリに配置(データローカライズ)することによって、より効率の良い並列処理が可能となる。 プロトタイプマルチプロセッサシステムOSCAR上での性能評価では、マクロデータフロー処理による粗粒度タスクの有効な並列処理を確認できた。また富士通VPP-500、Alliant FX/4、KSR1、NEC Cenju-3等、商用マルチプロセッサシステム上での性能評価でも、従来手法であるマルチタスキングおよびカイクロタスキングに比べ、マクロデータフロー処理の方が高い並列性の抽出が可能であることが分った。 さらに、それらの評価から従来手法に比べて低オーバーヘッドな処理を行なうことが可能で、プログラムの実行速度が向上することも確認された。
|