- 著者
-
中野 啓史
石坂 一久
小幡 元樹
木村 啓二
笠原 博徳
- 出版者
- 一般社団法人情報処理学会
- 雑誌
- 情報処理学会研究報告計算機アーキテクチャ(ARC) (ISSN:09196072)
- 巻号頁・発行日
- vol.2001, no.76, pp.67-72, 2001-07-25
- 参考文献数
- 13
- 被引用文献数
-
3
近年のプロセッサの動作速度とメモリアクセスの速度差の拡大により,データローカリティを利用したキャッシュ最適化がますます重要となっている。また,マルチプロセッサシステム上での並列処理においては,従来のループ並列化のみの並列処理は限界を向かえつつある。そのため更なる性能向上を得るには粗粒度タスク並列処理の併用等マルチグレイン並列化が重要となっている。本稿では,Fortranプログラムをループ・サブルーチン・基本ブロックの3種類の粗粒度タスクに分割し,粗粒度タスク間の制御依存・データ依存を解析して並列性を抽出する粗粒度タスク並列処理において,粗粒度タスク間のデータ共有量を考慮してキャッシュ最適化を行う粗粒度タスクスタティックスケジューリング手法について述べる。本手法をOSCAR Fortranマルチグレイン並列化コンパイラに実装してSunUltra80(4プロセッサSMP)上で評価を行った結果,SPEC 95fpのswim,tomcatvにおいて,本手法により,Sun Forte HPC 6 update 1 の自動並列化に対してそれぞれ4.56倍,2.37倍の速度向上が得られ,本手法の有効性が確かめられた。Effective use of cache memory based on data locality is getting more important with increasing gap between the processor speed and memory access speed. As to parallel processing on multiprocessor systems, it seems to be difficult to achieve large performance improvement only with the conventional loop iteration level parallelism. This paper proposes a coarse grain task static scheduling scheme considering cache optimization. The proposed scheme is based on the macro data flow parallel processing that uses coarse grain task parallelism among tasks such as loop blocks, subroutines and basic blocks. It is implemented on OSCAR Fortran multigrain parallelizing compiler and evaluated on Sun Ultra80 four-processor SMP machine, using swim and tomcatv from the SPEC fp 95 benchmark suite. As the results, the proposed scheme gives us 4.56 times speedup for swim and 2.37 times for tomcatv respectively against the Sun Forte HPC 6 loop parallelizing compiler on 4 processors.