- 著者
-
石坂 一久
中野 啓史
八木 哲志
小幡 元樹
笠原 博徳
- 出版者
- 一般社団法人情報処理学会
- 雑誌
- 情報処理学会論文誌 (ISSN:18827764)
- 巻号頁・発行日
- vol.43, no.4, pp.958-970, 2002-04-15
- 被引用文献数
-
19
主記憶共有型マルチプロセッサシステムは幅広く使われているが,プロセッサ数の増加にともないその最大性能と実効性能の差が拡大してきている.このような問題を解決するためには,従来のループ並列処理に加えて,粗粒度タスク並列性,近細粒度並列性などのマルチグレイン並列性の利用が重要な技術である.また,プロセッサ技術の進歩とともに,プロセッサとメモリの速度差が顕在化し,その速度差を補うためのメモリ階層,特にキャッシュの有効利用は,マルチプロセッサシステムの性能向上に重要な要因となっている.本論文では,ループ並列化に加えプログラムを基本ブロック,ループ,サブルーチンといった粗粒度タスク(マクロタスク)に分割し,それらの間の並列性を効果的に利用するとともに,従来OSCAR型マルチプロセッサアーキテクチャにおけるローカルメモリおよび分散共有メモリ用に提案されていたデータローカライゼーション手法を主記憶共有型マルチプロセッサ上のキャッシュ最適化用に発展させたデータ分散・ダイナミックスケジューリング手法を提案する.本手法はOSCARマルチグレインコンパイラ上で実現され,逐次FORTRANプログラムを入力すると,共有メモリマシンにおける標準APIであるOpenMPを用いて複数マクロタスク間でキャッシュ上の共有データを再利用する並列化コードを自動生成する.本手法の評価を商用SMPマシンであるIBM RS/6000 604e High Node,Sun Ultra80上でspec95fpベンチマークのtomcatv,swim,mgridを用いて行った結果,IBM RS/6000上ではIBM XL FORTRAN version 6.1コンパイラの自動ループ並列化を行った場合の最小実行時間に対して本手法は最大5.8倍の性能向上を示し,Sun Ultra80上ではSun Forte 6 update 1コンパイラの最小時間に対して最大3.6倍の性能向上が得られることが確かめられた.In multiprocessor systems,the gap between peak and effective performance has getting larger.To cope with this performance gap,it is important to use multigrain parallelismin addition to ordinary loop level parallelism.Also, effective use of memory hierarchy is importantfor the performance improvement of multiprocessor systemsbecause the speed gap between processors and memories is gettinglarger.This paper describes coarse grain task parallel processingthat uses parallelism among macro-tasks like loops and subroutinesconsidering cache optimization using data localization scheme.The proposed scheme is implemented on OSCAR automatic multigrainparallelizing compiler. OSCAR compiler generates OpenMP FORTRAN programrealizing the proposed scheme from an ordinary FORTRAN77 program.Its performance is evaluated on IBM RS6000SP 604e High Node 8 processors SMP machine and Sun Ultra80 4 processors SMP machine.In the evaluation,OSCAR compiler gives us up to 5.8 times speedup againstthe minimum execution time of IBM XL FORTRAN compiler on IBM RS/6000 and up to 3.6 times speedup against Sun Forte 6 update 1 compileron Sun Ultra80.