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