• 検索結果がありません。

OSCARチップマルチプロセッサ上でのマルチグレイン並列性評価

N/A
N/A
Protected

Academic year: 2021

シェア "OSCARチップマルチプロセッサ上でのマルチグレイン並列性評価"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)2004−ARC−159 (11). 社団法人 情報処理学会 研究報告 IPSJ SIG Technical Report. 2004/7/30. OSCAR チップマルチプロセッサ上でのマルチグレイン並列性評価 和. 田. 康 木. 孝† 村. 白 啓. 準†. 子 二†. 石. 坂. 笠 原 博 徳. 一 久†. †. 本論文では,コンパイラ協調型 OSCAR チップマルチプロセッサ (OSCAR CMP) 上でのマルチ グレイン並列性の評価について述べる.OSCAR CMP は,プログラム中のステートメント間の並列 性を利用する近細粒度並列処理,ループイタレーションレベルの並列性を利用する中粒度並列処理, ループやサブルーチン,基本ブロック間の並列性を利用する粗粒度タスク並列処理を階層的に組み合 わせて利用するマルチグレイン並列処理を OSCAR マルチグレイン並列化コンパイラと協調して行う ことができるように設計されている.このコンパイラとアーキテクチャの協調動作により,OSCAR CMP はチップ上の資源の有効利用およびプログラムの開発効率の向上を可能とする.本論文では, SPEC CFP 95 ベンチマークの,OSCAR CMP 上でのマルチグレイン並列処理性能を評価した結果 を報告する.評価の結果,8 プロセッサコアおよび集中共有メモリを 1 チップ上に搭載した OSCAR CMP は,逐次実行に対して,動作周波数が 400MHz であると想定した場合に 2.03∼7.79 倍の性能 向上を,動作周波数が 2.8GHz であると想定した場合に 1.89∼7.05 倍の性能向上を得られることが 確かめられた.. Evaluation of Multigrain Parallelism on OSCAR Chip Multi Processor Yasutaka Wada,† Jun Shirako,† Kazuhisa Ishizaka,† Keiji Kimura† and Hironori Kasahara † This paper describes performance of multigrain parallel processing of SPEC CFP 95 on OSCAR Chip Multi Processor(OSCAR CMP). OSCAR multigrain parallelizing compiler, which exploits statement level near-fine grain parallelism, loop iteration level parallelism and coarse grain parallelism hierarchically, allows us to fully control hardware on OSCAR CMP. Also, this cooperation realizes high software productivity and effective use of hardware resources. Performance of multigrain parallel processing of SPEC CFP 95 benchmark programs on OSCAR CMP with 8 processor cores and centralized shared memory were 2.03 to 7.79 times speedup against sequential execution using 400MHz clock cycles for embedded use and 1.89 to 7.05 times speedup against sequential execution using 2.8GHz clock cycles for high-end use.. ためには,プログラム中の並列性を十分に引き出し,チップ 上のリソースを適切に利用することのできるコンパイラサ ポートが必要不可欠である. これに対し筆者等は,従来から OSCAR マルチグレイン 並列化コンパイラおよびこれと協調して動作する OSCAR チップマルチプロセッサ (OSCAR CMP) を提案してきた. このコンパイラ・CMP アーキテクチャの協調は,命令レベ ルあるいはプログラムの実行文レベルの並列性を利用する近 細粒度並列処理に加え,ループイタレーションレベル並列性 を利用する中粒度並列処理およびループやサブルーチン,基 本ブロック間の並列性を利用する粗粒度タスク並列処理を階 層的に組み合わせて利用するマルチグレイン並列処理,デー タローカリティを有効に利用しプロセッサコア近接メモリを 最大限活用するデータローカライゼーション,タスク処理と. 1. は じ め に 近年,1 つのチップ上に複数のプロセッサを集積するチッ プマルチプロセッサ (CMP) アーキテクチャが種々の分野 で導入され始めており,Hydra1) ,Multiscalar2) ,SKY3) , MP984) ,Power45) など多くのアーキテクチャが提案ある いは商品化されている.しかしながら,チップ上の資源を最 大限活用し,CMP アーキテクチャの性能を十分に引き出す † 早稲田大学理工学部コンピュータ・ネットワーク工学科 Department of Computer Science, School of Science and Engineering, Waseda University. 1. −61−.

(2) データ転送をオーバーラップして行うデータ転送隠蔽技術 など,チップ上資源の最適利用を可能にする.本論文では, 特にマルチグレイン並列性の利用に着目し,OSCAR CMP アーキテクチャ上でマルチグレイン並列処理の評価・解析を 行った結果について述べる. 以下,2 章でマルチグレイン並列処理について,3 章で OSCAR チップマルチプロセッサアーキテクチャについて, 4 章で SPEC CFP 95 を用いた,マルチグレイン並列性利 用の解析結果についてそれぞれ述べる.. 1 1. 2. 3 2. 3. 4. 5 4. 13. 6. 8. 6. 7. 5. 8. 9. 10. 11. 9. 10. 7. 11. 12. 12 13. 14 14. 2. マルチグレイン並列処理. Data Dependency Control Flow. 本章では,OSCAR CMP が利用する並列処理手法であ る,マルチグレイン並列処理について述べる.マルチグレイ ン並列処理は,ループやサブルーチン,基本ブロック等の粗 粒度タスク間の並列性を利用する粗粒度並列処理,ループイ タレーションレベルでの並列性を利用する中粒度並列処理, 基本ブロック内のステートメント間の並列性を利用する近細 粒度並列処理を階層的に組み合わせて,プログラム全域から 並列性を抽出して利用する並列処理手法である6) .このマル チグレイン並列処理は,OSCAR マルチグレイン並列化コン パイラに実装されている.. Conditional Branch. (a) Macro Flow Graph (MFG). 図1. Data Dependency Extended Contorol Dependency Conditional Branch AND OR Original Control Flow. (b) Macro Task Graph (MTG). マクロフローグラフ (MFG),マクロタスクグラフ (MTG) の例. トあるいは複数のステートメントからなる擬似代入文を 1 つ の近細粒度タスクとして定義する.コンパイラはこれらのタ スク間のデータ依存を解析してタスクグラフを作成し,この タスクグラフ上の各タスクのコストおよびタスク間のデータ 転送コストを考慮して,実行時間を最小化できるように PG 内の PE に対して静的にスケジューリングする. OSCAR マルチグレイン並列化コンパイラにおける近細 粒度タスクの PE へのスケジューリングでは,スケジュー リング手法として,データ転送オーバーヘッドを考慮し実 行時間を最小化するヒューリスティックアルゴリズムである CP/DT/MISF 法,CP/ETF/MISF 法,ETF/CP 法,お よび DT/CP 法の 4 つの手法の中から最良のスケジュール 結果を与えるものが選択される.. 2.1 粗粒度タスク並列処理 粗粒度タスク並列処理では,コンパイラはまず対象とする プログラムを擬似代入文ブロック (BPA),繰り返しブロッ ク (RB),サブルーチンブロック (SB) の 3 種類の粗粒度タ スク (マクロタスク (MT)) に分割する.MT 生成後,MT 間のコントロールフローおよびデータ依存を解析し,マクロ フローグラフ (MFG) を作成し,さらに最早実行可能条件 解析によって MFG から MT 間の並列性を抽出してマクロ タスクグラフ (MTG) を生成する7)8) .MFG および MTG の例を図 1 に示す.その後,コンパイラは各 MT を 1 つ以 上のプロセッサエレメント (PE) をグループとしたプロセッ サグループ (PG) に割り当てる.このとき,MTG 内に条件 分岐等がなければ,プロセッサ間の同期やデータ通信などの オーバーヘッドを最小化するために静的に MT を割り当て る (スタティックスケジューリング).逆に条件分岐等によっ て実行時不確定性が存在する場合には,MT のコードに加え て,MT を PG に割り当てるためのスケジューラのコード も合わせて生成し,実行時に MT を PG に割り当てるよう にする (ダイナミックスケジューリング). さらに,MTG 内の SB や RB 内に粗粒度並列性が存在す る場合,その SB や RB 内部でさらに MTG を生成し,階 層的に粗粒度タスク並列処理を適用する.. 3. OSCAR チップマルチプロセッサアーキ テクチャ 本章では,第 2 章で述べたマルチグレイン並列処理を効率 よく行うために設計された OSCAR チップマルチプロセッ サ (OSCAR CMP) アーキテクチャについて述べる. OSCAR CMP は,簡素なプロセッサコア,ローカルプ ログラムメモリ (LPM),ローカルデータメモリ (LDM),2 ポート構成の分散共有メモリ (DSM) およびデータ転送ユ ニット (DTU) をもつプロセッサエレメント (PE) をチップ 上に複数集積し,これらと集中共有メモリ (CSM) を複数バ スやクロスバ等の結合網で接続したものである. LPM は各 PE が実行するプログラムを格納し,LDM は アプリケーションプログラム中においてコンパイラが検出 あるいは分割配置により割り当てたプロセッサプライベー トデータを格納する.DSM は上述のように 2 ポート構成 となっており,他の PE からも同時にアクセスが可能であ る.DSM は,粗粒度タスク並列処理や近細粒度並列処理に おけるデータ・同期フラグの授受に利用される.DTU はプ ロセッサの処理と非同期に PE 間,PE-CSM 間のデータ転 送を行うことが可能であり,データ転送とタスク処理のオー バーラップのために利用する.また,簡素なプロセッサコア を用いることにより,近細粒度並列処理において,コンパイ ラが各 PE に対してスケジューリングを行った結果をプログ ラム実行時に忠実に再現することができる.. 2.2 中粒度並列処理 PG に割り当てられた RB が DOALL あるいはリダクショ ンループなどの並列化可能ループであった場合,この RB は PG 内の PE を用いてイタレーションレベルの並列処理が適 用される.. 2.3 近細粒度並列処理 PG に割り当てられた MT が BPA あるいは中粒度並列 処理が適用不可能な RB であった場合,BPA 全体,あるい は RB のループボディに対して近細粒度並列処理9) が適用 される. 近細粒度並列処理においては,BPA 内部のステートメン 2. −62−.

(3) 2.10. OSCAR チップマルチプロセッサアーキテクチャ. 1 クロック. 2 クロック. 1 クロック. 2 クロック. CSM(3MB). 2 クロック. 8 クロック. ネットワーク遅延. 2 クロック. 10 クロック. OR SU 2C. RB 3D TU. 3.17. 1PE 2PE 4PE 8PE. OR SU 2C. TU. RB 3D. 2.22. 1.89. FP PP P. M. 5.12. アプリケーション. 図 4 OSCAR CMP 上でのマルチグレイン並列処理の性能評価結 果 (2.8GHz). また,本評価では SPEC CFP 95 に含まれる APPLU, APSI,FPPPP,MGRID,SU2COR,SWIM,TOMCATV, TURB3D の 8 本の FORTRN77 プログラムを用いて評価 を行った.なお,評価時間を短縮するためプログラム内のパ ラメータや入力データを修正している.これらのプログラ ムに OSCAR マルチグレイン並列化コンパイラによるマル チグレイン並列処理を適用し,実行バイナリを生成した.た だし,並列性の評価が主な目的であるため,データローカリ ティ最適化技術や DTU を用いたデータ転送隠蔽技術などは 利用していない.. 4.2 評 価 結 果 動作周波数 400MHz を想定した場合の評価結果を図 3 に, 2.8GHz を想定した場合については図 4 に示す.図 3 およ び図 4 において,横軸は評価に用いたアプリケーション名, 縦軸は逐次処理に対する並列処理時の速度向上率を表してい る.また,4 本のバーは各々左から 1PE,2PE,4PE,8PE を使用した時の逐次実行に対する速度向上率を示している. 以下,4.2.1 節で主に中粒度並列性を利用したアプリケー ションについて,4.2.2 節で並列性の低いアプリケーション について,4.2.3 節で主に近細粒度並列性を利用したアプリ ケーションについて,4.2.4 節で粗粒度並列性を利用したア プリケーションについてそれぞれ述べる.. OSCAR CMP における各メモリのアクセスコスト 想定動作周波数 400MHz 2.8GHz LDM(128kB). 6.28 4.59. GR ID. 本評価では,OSCAR CMP 上に PE を 1∼8 基搭載する ものとした.CSM は複数のバンクからなるものとし,PE 間結合網は複数バスを用いた.本評価における PE 間結合網 は 3 本バス,CSM の構成は 4 バンク構成とした. プロセッサ動作周波数としては,組み込み向け低消費電 力プロセッサを想定した 400MHz,およびハイエンドプロ セッサを想定した 2.8GHz の条件で評価を行った.PE 内の 各種メモリおよび CSM の容量およびアクセスコスト,PE 間結合網の遅延等については表 1 に示すとおりである.な お,メモリアクセスコストの値は 90nm プロセスを想定し, CACTI11) を用いて算出した値を基にしている. 本評価では,各 PE の持つプロセッサコアは,SPARC V9 規格に準拠したプロセッサである Sun Microsystems 社の UltraSPARC-II のパイプライン構成をベースとし,バリア 同期機構等用の特殊レジスタや特殊レジスタを操作するため の命令を付加したプロセッサで,整数演算ユニット (IEU) を 1 本,ロードストアユニット (LSU) を 1 本,浮動小数点ユ ニット (FPU) を 1 本持つシングルイシューのシンプルな構 成とした. 評価には,上記の構成を持つ OSCAR CMP を精密に再 現するシミュレータを用いた.. 6.00. AP PL U. 4.1 評 価 環 境. 7.05. AP SI. 本章では,OSCAR CMP 上で SPEC CFP 95 を用いて マルチグレイン並列性を評価した結果について述べる.. 10 9 8 7 6 5 4 3 2 1 0. SW IM. 速度向上率. 果 (400MHz). 4. 性 能 評 価. DSM(32kB, 2Port). 2.03. アプリケーション. OSCAR CMP が備えるこれらのハードウェアをコンパ イラが適切に制御して利用することで,効率の良いマルチグ 10) な レイン並列処理を行うことができるようになっている. お,本論文の評価では,CSM もチップ上に集積されている ものとする.OSCAR CMP のアーキテクチャ図を図 2 に 示す.. 表1. 3.99. 1PE 2PE 4PE 8PE. 図 3 OSCAR CMP 上でのマルチグレイン並列処理の性能評価結. TO M. 図2. TO M. M. GR ID. CSM. 4.81. FP PP P. Interconnection Network. 7.24. AP PL U. Bus interface. 7.79. AP SI. DSM. 7.79. 7.48. CA TV. LDM. 10 9 8 7 6 5 4 3 2 1 0. CA TV. LPM. PEn. DTU 速度向上率. CPU. PE2. SW IM. Chip PE1. (調停を含む). 3. −63−.

(4) 4.2.1 中粒度並列性を持つアプリケーション. 6. MGRID,SWIM,TOMCATV,TURB3D はループ並 列性に富むアプリケーションであり,図 3 および図 4 か ら,逐次実行時に対し,400MHz 時に MGRID で最大 7.48 倍,SWIM で最大 7.79 倍,TOMCATV で最大 7.79 倍, TURB3D で最大 7.24 倍,2.8GHz 時に MGRID で最大 7.05 倍,SWIM で最大 6.00 倍,TOMCATV で最大 6.28 倍,TURB3D で最大 5.12 倍と,PE 数に応じたスケーラブ ルな性能向上を得ることができている.ただし,TOMCATV の評価結果については,ファイル入出力部分を除いた値となっ ている. TURB3D では粗粒度並列性も併せて利用しているが,こ れについては 4.2.4 節で述べる.. 4.81. 速度向上率. 5. 4.59. 4 2.92. 3. 1PE 2PE 4PE 8PE. 2.82. 2 1 0. 中粒度のみ. マルチグレイン. 中粒度のみ. マルチグレイン. 400MHz 2.8GHz CPU動作周波数・並列処理手法. 図5. APSI は近細粒度並列性,粗粒度並列性ともに乏しく,主 にループ並列性を利用しているアプリケーションである.し かしながら,400MHz 時に最大 2.10 倍,2.8GHz 時に最大 1.89 倍と他のアプリケーションに比べて速度向上率が低い. これは,並列化可能ループを実行している時間が実行時間全 体に占める割合は大きいが,それらのループの多くは回転数 が小さく,かつループボディも小さいためである.例えば, 本評価で用いた入力データを用いて 400MHz で逐次実行し た場合,並列化可能ループがアプリケーション全体の処理時 間に占める割合はおよそ 83%であるが,そのうち回転数 1 のものが全体の約 15%,回転数 2 のものが全体の約 6%,回 転数 8 のものが全体の約 13%を占めている.このことから, APSI では中粒度並列処理を利用しても得られる並列性は小 さく,400MHz で最大 2.10 倍,2.8GHz で最大 1.89 倍と 言う本性能評価結果は,アプリケーションの並列性を考える と十分な性能であると言える.. 並列処理手法による APPLU の速度向上率の比較. 5 4.5 4 速度向上率. 3.5. 5 BLTS 速度向上率 BUTS 速度向上率 BLTS Effective Para BUTS Effective Para. 3. 4.30 4.34 3.98 3.83 2.94 2.81. 2. 1.69 1.66. 1.5. 1.00 1.00. 1. 0.5 0. 3.5 2.5. 2 1. 4 3. 2.5 1.5. 4.5. Effective Para. 4.2.2 並列性の低いアプリケーション. 0.5 1PE. 2PE 4PE プロセッサ数. 8PE. 0. 図 6 APPLU における速度向上率とコンパイラの引き出した近細 粒度並列性の比較 (2.8GHz). 4.2.3 近細粒度並列性を持つアプリケーション. ているかについて述べる.まずある基本ブロックにおいてコ ンパイラの引き出した近細粒度並列性を式 (1) を用いて定 義する.式 (1) において,Ef f ectiveP ara(i) は基本ブロッ ク Blocki においてコンパイラが抽出した並列性,Seqi は 注目ブロックの逐次実行時のコスト,Schei はコンパイラが 各 PE に対してスケジューリングを行った際のスケジュール 長である.この Ef f ectiveP ara は,コンパイラが想定した とおりにアーキテクチャが動作した場合に得られる速度向上 率の期待値である.. a) APPLU APPLU は,ほぼ同様の構成を持つサブルーチン BLTS および BUTS 内にループを持ち,これが全体の実行時間の 内,大きな割合を占めている. これらのループはパイプライン並列化が可能であることが 知られている.しかしながら,これらのループの最内側ルー プは回転数が少なく,しかも固定なので,ループアンローリ ングを適用することにより 1 つの大きな基本ブロックを持つ 完全ネストループにリストラクチャリング可能である.本評 価では,リストラクチャリング後の BLTS,BUTS に近細 粒度度並列処理を,その他の部分にループ並列処理を適用す るマルチグレイン並列処理を適用して評価を行った. 図 5 に,サブルーチン BLTS および BUTS に対して中 粒度並列処理を適用した場合と,ループアンローリングおよ び近細粒度並列処理によるマルチグレイン並列処理を適用し た場合の APPLU の速度向上率を示す.なお,これらのサ ブルーチン以外の部分については両者とも同様の並列化を適 用している.図 5 より,中粒度並列処理適用時に 400MHz 動作で最大 2.92 倍,2.8GHz 動作で最大 2.82 倍の性能向 上に留まっているのに対し,近細粒度並列処理適用時には 400MHz 動作で最大 4.81 倍,2.8GHz 動作で最大 4.59 倍 と大きな性能向上を得ることができている. 次に,OSCAR CMP アーキテクチャが近細粒度並列処 理においてコンパイラの引き出した並列性を十分に利用でき. Ef f ectiveP ara(i) =. Seqi Schei. (1). 図 6 に APPLU のサブルーチン BLTS および BUTS に 対して,ループアンローリングおよび近細粒度並列処理を適 用した場合の速度向上率と Ef f ectiveP ara を示す.図 6 中 の横軸はプロセッサ数,縦軸は逐次実行に対する速度向上率 および Ef f ectiveP ara である.図 6 を見ると,それぞれ のサブルーチンの速度向上率はほぼ Ef f ectiveP ara と同 様の推移を示している.このことから,OSCAR CMP アー キテクチャは近細粒度並列処理においてコンパイラの引き出 した並列性を十分に利用できていると言える.. b) FPPPP FPPPP はループ並列性,粗粒度並列性が共にほとんど存 在しないが,近細粒度並列性の高いアプリケーションであり, プログラムのほぼ全域に対して近細粒度並列処理を適用す 4. −64−.

(5) 2.24. 速度向上率. EffectiveP ara. 2. 1.63. 1.5 1. 1.00. 1.42. 1.66. 1.80. 2.13. 2.03. 2.22. 1.00 1.00. 1. 0.5 0. 1PE. 2PE. 4PE. 6. 2 1.5. 8PE. 400MHz 中粒度 400MHz マルチグレイン 400MHz マルチグレイン(粗粒度優先) 2.8GHz 中粒度 2.8GHz マルチグレイン 2.8GHz マルチグレイン(粗粒度優先). 7. 2.5 速度向上率. 速度向上率(400MHz) 速度向上率(2.8GHz). 2.5. 8. 3. 2.61. EffectiveP ara. 3. 5. 7.24. 7.09. 5.85 5.11 5.12 4.55. 4. 3.57. 3.78 3.83. 3.54. 3.69 3.72. 3 1.99 1.99 1.94 1.99 1.99 1.95. 2. 0.5. 1. 0. 0. 1.00 1.00 1.00 1.00 1.00 1.00. 1PE. 2PE. 4PE. 8PE. プロセッサ数. プロセッサ数. 図8. 図 7 FPPPP の速度向上率とコンパイラの引き出した並列性の. 並列処理手法による TURB3D の速度向上率の比較. 比較. 2. 上述のループ群に関しては中粒度並列処理を適用し, それ以外の箇所は粗粒度並列性を利用した場合 (マルチ グレイン) 3. 上述のループ群に対してループディストリビューショ ンを施し,粗粒並列性を優先的に利用した場合 (マルチ グレイン (粗粒度優先)) の 3 種類の並列化を行った場合について評価を行った.2. で はループ並列性を優先的に利用しているのに対し,3. では, ループディストリビューション後の個々のループが粗粒度タ スクとして PG に割り当てられ,PG 内の PE を用いて中 粒度並列処理を行う階層的な並列処理が行われる形になる. なお,サブルーチン TURB3D 以外の箇所については同様 の並列化を適用している.これら 3 種類の並列化を行った場 合の速度向上率を図 8 に示す.図 8 において,横軸はプロ セッサ数,縦軸は逐次実行に対する速度向上率である. 図 8 では,プロセッサ数が 4PE 以下の少ない場合であれ ば三者ともほぼ同等の性能を示している.しかしながら,プ ロセッサ数が増えた場合,中粒度並列処理のみでは速度向上 が得られていないのに対し,粗粒度並列性を利用した場合に は,スケーラブルな性能向上を維持していることがわかる. また,2. と 3. を比べると,PE 数が 8 までの範囲であれば ほぼ同等の性能を示している.これは,上述のループ群のコ ストが PE 数と比較して十分大きく,ループ制御やダイナ ミックスケジューリングのオーバーヘッドが相対的に小さく 抑えられているためである.. ることで,逐次実行に対し 400MHz 動作時に最大 2.03 倍, 2.8GHz 動作時に最大 2.22 倍の性能向上を得ている. ここで,式 (1) を拡張し,プログラム全体の近細粒度並列 性を Ef f ectiveP ara として式 (2) を用いて定義する.式 (2) において,counti は基本ブロック Blocki の実行回数を 表し,他の値は式 (1) と同様である.. Ef f ectiveP ara =. n Seqi × counti ni=1 i=1. Schei × counti. (2). 実際には,この Ef f ectiveP ara は近細粒度並列処理が適 用されたブロックのみを対象としているため,近細粒度並列性 以外の並列性を利用して速度向上を得ているプログラムにお いては,この値だけでプログラム全体の並列性を表すことはで きない.しかし,FPPPP では上述のように速度向上のほぼ全 てが近細粒度並列処理によるため,この Ef f ectiveP ara を プログラム全体の速度向上の期待値とみなすことができる.図 7 に FPPPP の速度向上率と Ef f ectiveP ara を示す.図の 横軸はプロセッサ数,縦軸は逐次実行に対する速度向上率およ び Ef f ectiveP ara である.図 7 より,Ef f ectiveP ara は 同期等のコストを考慮していないため速度向上率の方が若干 低い値を示しているが,速度向上率と Ef f ectiveP ara はほ ぼ同様の推移を示していることがわかる.すなわち,APPLU のように並列化可能ループをアンローリングしたステート メント間の依存が少ない基本ブロックだけではなく,複雑な 依存関係を持った基本ブロックに対しても,OSCAR CMP アーキテクチャはコンパイラの引き出した並列性を反映した 性能を示しているといえる.. b) SU2COR SU2COR はサブルーチン LOOPS 内に粗粒度並列性を 持つループが存在し,そのループ内の粗粒度タスクが内部に ループ並列性を併せ持つアプリケーションである.ただし, ループ並列性を持つ箇所がネストの深い部分に存在するため, コンパイラは同期等のオーバーヘッドを考慮してより階層の 浅い部分に存在する粗粒度並列性を優先して利用する選択を する.しかし,チップマルチプロセッサのような同期のオー バーヘッドを低く抑えることのできるアーキテクチャでは, ネストの深い箇所のループ並列性を利用した場合でも性能向 上を得ることができる可能性がある.よって本評価では,サ ブルーチン LOOPS において粗粒度並列性を優先して利用 した場合に加え,粗粒度並列性を用いずにループ並列性を利 用した場合についても評価を行った.粗粒度並列性を利用し た場合は,粗粒度タスクが PG に割り当てられ,PG 内の PE を用いて各粗粒度タスク内で中粒度並列処理を行う階層. 4.2.4 粗粒度並列性を持つアプリケーション a) TURB3D TURB3D は実行時間のほとんどをサブルーチン TURB3D が占め,サブルーチン TURB3D はその内部にサブルーチ ン XYFFT,ZFFT を呼び出すコストの大きなループを複 数持つ.これらのループは並列化可能であり,ループディス トリビューションを施すことで粗粒度並列性も抽出できる. また,サブルーチン TURB3D 内にはこれらのループ以外 にも粗粒度並列性を持つ箇所が存在する.本評価では,この サブルーチン TURB3D に対して, 1. 粗粒度並列性を用いず,ループ並列性を利用した場合 (中粒度) 5. −65−.

(6) 共有メモリを 1 チップ上に搭載した OSCAR CMP は,逐 次実行に対して,動作周波数が 400MHz であると想定した 場合に 2.03∼7.79 倍の性能向上を,動作周波数が 2.8GHz であると想定した場合に 1.89∼7.05 倍の性能向上を得られ ることが確かめられた.また,各アプリケーションの並列性 の特徴を考慮しつつ得られた性能を解析した結果,コンパイ ラはプログラムの各部分から適切な粒度の並列性を抽出し, アーキテクチャがそれらの並列性を十分に利用できているこ とが確認できた. 今後の課題としては,さらに PE 数が増加した場合や HW コストの制限がある場合に問題となる,PE 間結合網などの リソース競合に対する対応,コンパイラと協調した低消費電 力化などが挙げられる. 謝辞 本研究の一部は,STARC「自動並列化コンパイラ協調型 シングルチップマルチプロセッサの研究」及び早稲田大学理 工総研プロジェクト研究「自動並列化コンパイラ協調型チッ プマルチプロセッサ」により行われた.本論文作成にあたり 有益なコメントをいただいた,宮田操氏 (STARC),高橋宏 政氏 (富士通研),高山秀一氏 (松下),安川英樹氏 (東芝),倉 田隆弘氏 (ソニー) に感謝致します.. 5 400MHz 中粒度 400MHz 粗粒度 2.8GHz 中粒度 2.8GHz 粗粒度. 4.5 4 速度向上率. 3.5. 3.99 3.92 3.15 3.17. 3. 2.80. 2.68 2.68. 2.5 2 1.5 1. 1.73 1.64 1.73. 2.53. 1.60. 1.00 1.00 1.00 1.00. 0.5 0. 1PE. 2PE. プロセッサ数. 4PE. 8PE. MT20. MT24. MT21. MT12. MT11. MT23 MT17. MT19. MT7. MT27. MT25. MT16. MT3 MT5. MT9. MT1. MT13. MT4. MT15. MT18. MT7. MT12. MT11. MT8. MT22. MT17. MT21. MT27. MT25. MT16. MT9. MT5. PG1. MT1. MT2. MT13. PG0. MT15. 図 9 並列処理手法による SU2COR の速度向上率の比較. MT8. 図 10 マルチグレイン並列処理時の SU2COR の実行トレース. 参 考. の例. 文. 献. 1) Hammond, L., Hubbert, B., Siu, M., Prabhu, M. K., Chen, M. and Olukotun, K.: The Stanford HYDRA CMP, IEEE MICRO, Vol. 19, No. 2 (1999). 2) Sohi, G., Breach, S. and Vijaykumar, T.: Multiscalar Processors, Proc. 22th International Symposium on Computer Architecture (ISCA-22) (1995). 3) 小林, 岩田, 安藤, 島田: 非数値計算プログラムのスレッ ド間命令レベル並列を利用するプロセッサ・アーキテク チャSKY, JSPP’98 , pp. 87–94 (1998). 4) Edahiro, M., Matsushita, S., Yamashita, M. and Nishi, N.: A Single-Chip Multiprocessor for Smart Terminals, IEEE MICRO (2000). 5) Tendler, J. M., Dodson, S., Fields, S., Le, H. and Sinharoy, B.: POWER4 System Microarchitecture (2001). 6) Kasahara, Honda and Narita: A Multigrain Parallelizing Compilation Scheme for OSCAR, Proc.4th Workshop on Lang. And Compilers for Parallel Computing (1991). 7) 本田, 岩田, 笠原: Fortran プログラム粗粒度タスク間 の並列性検出法, 信学論 (D-I), Vol. J73-D-I, No. 12, pp. 951–960 (1990). 8) 笠原, 合田, 吉田, 岡本, 本多: Fortran マクロデータフ ロー処理のマクロタスク生成手法, 信学論, Vol. J75-D-I, No. 8, pp. 511–525 (1992). 9) 木村, 尾形, 岡本, 笠原: シングルチップマルチプロ セッサ上での近細粒度並列処理, 情報処理学会論文誌, Vol. 40, No. 5 (1999). 10) Kimura, K., Kodaka, T., Obata, M. and Kasahara, H.: Multigrain Parallel Processing on Compiler Cooperative OSCAR Chip Multiprocessor Architecture, The IEICE Transactions on Electronics, Special Issue on High-Performance and LowPower System LSIs and Related Technologies. 11) Wilton, S. and Jouppi, N.: CACTI: An enhanced cache access and cycle time model, IEEE Journal of Solid-State Circuits, Vol. 31, No. 5, pp. 677–688 (1996).. 的マルチグレイン並列処理が適用される. SU2COR における両者の性能の比較を図 9 に示す.なお, 図中の横軸はプロセッサ数,縦軸は逐次実行に対する速度向 上率である.図 9 より,逐次実行に対し 400MHz 動作時に 最大 3.99 倍,2.8GHz 動作時に最大 3.17 倍の性能向上を得 ることができている.また,粗粒度並列性を利用して階層的 マルチグレイン並列処理を行った場合と,粗粒度並列性を用 いずループ並列性を利用した場合でほぼ同等の性能を示して いる. ここで,階層的マルチグレイン並列処理を適用した際の実 行トレースの例を図 10 に示す.図 10 から,粗粒度並列性 を利用した場合には,MT 間の依存関係によって PG に処 理が割り当てられていない時間が発生している.すなわち, タスクの処理時間,依存関係ををきちんと考慮し,タスク分 割等の技術を利用してこれらの処理未割り当て時間を軽減す れば,単純にループ並列性を利用した場合に比べて大きな性 能向上を得ることが可能である. さらに,今後集積可能な PE 数が増加していくことを考 えると,単純にループ並列性を用いるだけではループ回転数 以上の並列性を得ることができないため,PE 数に応じた性 能向上を得ることはできない.しかしながら,粗粒度並列性 を併用し階層的にマルチグレイン並列処理を適用することで より大きな並列性を引き出すことができ,多くのプロセッサ を有効に利用することができると考えられる.. 5. ま と め 本論文では,ソフトウェア協調動作型 OSCAR チップマ ルチプロセッサ (OSCAR CMP) 上でのマルチグレイン並 列処理性能について述べた.SPEC CFP 95 ベンチマーク を用いた性能評価では,簡素なシングルイシューのプロセッ サコアを持つプロセッサエレメント (PE)8 基,および集中. 6. −66−.

(7)

図 1 マクロフローグラフ (MFG),マクロタスクグラフ (MTG) の例 トあるいは複数のステートメントからなる擬似代入文を 1 つ の近細粒度タスクとして定義する.コンパイラはこれらのタ スク間のデータ依存を解析してタスクグラフを作成し,この タスクグラフ上の各タスクのコストおよびタスク間のデータ 転送コストを考慮して,実行時間を最小化できるように PG 内の PE に対して静的にスケジューリングする. OSCAR マルチグレイン並列化コンパイラにおける近細 粒度タスクの PE へのスケジューリングで
図 6 APPLU における速度向上率とコンパイラの引き出した近細 粒度並列性の比較 (2.8GHz) ているかについて述べる.まずある基本ブロックにおいてコ ンパイラの引き出した近細粒度並列性を式 (1) を用いて定 義する.式 (1) において, EffectiveP ara ( i ) は基本ブロッ ク Block i においてコンパイラが抽出した並列性, Seq i は 注目ブロックの逐次実行時のコスト, Sche i はコンパイラが 各 PE に対してスケジューリングを行った際のスケジュール 長で

参照

関連したドキュメント

転倒評価の研究として,堀川らは高齢者の易転倒性の評価 (17) を,今本らは高 齢者の身体的転倒リスクの評価 (18)

究機関で関係者の予想を遙かに上回るスピー ドで各大学で評価が行われ,それなりの成果

本節では本研究で実際にスレッドのトレースを行うた めに用いた Linux ftrace 及び ftrace を利用する Android Systrace について説明する.. 2.1

[r]

PAD)の罹患者は60歳では人口の7.0%に,80歳では 23.2%にのぼるとされている 1) .本邦では間欠性跛行

瓦礫類の線量評価は,次に示す条件で MCNP コードにより評価する。 なお,保管エリアが満杯となった際には,実際の線源形状に近い形で

ると思いたい との願望 外部事象のリ スクの不確か さを過小評価. 安全性は 日々向上す べきものとの