Presentation is loading. Please wait.

Presentation is loading. Please wait.

通信機構合わせた最適化をおこなう並列化ンパイラ

Similar presentations


Presentation on theme: "通信機構合わせた最適化をおこなう並列化ンパイラ"— Presentation transcript:

1 通信機構合わせた最適化をおこなう並列化ンパイラ
横田大輔† 千葉滋† ‡ 板野肯三† †筑波大学電子・情報工学系 ‡科学技術振興事業団さきがけ研究21

2 高速な並列コードを得たい ハードウェアの活用 ソフトウェアの解析 ハードウェアが持つ特殊な通信機能 通信を自動最適化したい
RDMA(CP-PACS/Pilot-3:日立SR2201) ソフトウェアの解析 通信を自動最適化したい 通信の最適化には通信パターンの把握が必要 現在のところ静的な解析では限界がある

3 本研究の目的 動的な解析による通信パターンの把握 コンパイラによるRDMAの活用 インスペクタ・エグゼキュータの応用
HPFコード→RDMAを利用したSPMDコード

4 CP-PACS/Pilot3 2048PE(CP-PACS)/128PE(Pilot3) 分散メモリ機 特殊な通信機構(RDMA) 片側通信
送信先のメモリに直接書き込む 通信を事前にセッティングできる ブロックストライドによる送信が可能

5 RDMA 送信側メモリ 受信側メモリ 通信 4~65532byte 4~1020byte RDMAによる通信

6 インスペクタ・エグゼキュータ 通信の解析が静的にできない場合に有効 インスペクタ処理は比較的重たい 定型的なコードの挿入で並列化できる
通信パターンの解析を実行時に行う インスペクタ処理は比較的重たい 同じ通信パターンが繰り返されると有効 定型的なコードの挿入で並列化できる

7 インスペクタ・エグゼキュータ インスペクタ ・通信パターンの解析 エグゼキュータ 通信 ・目的データの交換 処理

8 本研究が提案する手法(1/2) HPF命令+実行時の情報による通信の最適化 解析の高速化 通信をブロックストライドにまとめ、通信回数を減らす
INDEPENDENT命令が許す範囲で通信を移動 解析の高速化 通信パターンに影響しないコードを実行しない 追加した命令でユーザが指示可能

9 本研究が提案する手法(2/2) 通信の最適化 通信+コードの最適化Ⅰ 通信+コードの最適化Ⅱ(実装中) RDMAの活用
インスペクタ・エグゼキュータの応用 通信+コードの最適化Ⅰ インスペクタ部を実行した後、エグゼキュータ部を最適化コンパイル(1CPU) 通信+コードの最適化Ⅱ(実装中) インスペクタ部を実行した後、エグゼキュータ部を最適化コンパイル(多CPU)

10 通信の最適化(1/2) インスペクタ ・通信パターンの解析 通信の最適化 エグゼキュータ 通信 ・目的データの交換 処理

11 通信の最適化(2/2) 実行速度が速い 全てのプロセッサが同じパターンで通信してなければならない 実行時情報を用いて通信関連のコードを最適化
1プロセッサ分しか通信パターンを解析しない

12 通信+コードの最適化Ⅰ(1/2) ソースコード インスペクタ用 コード生成 通信履歴 インスペクタ実行 テーブル 1CPUの計算機
並列コード

13 通信+コードの最適化Ⅰ(2/2) 実行速度が速い 全てのプロセッサが同じパターンで通信してなければならない コンパイル時間の増加
実行時情報を用いて通信関連のコードをさらに最適化 全てのプロセッサが同じパターンで通信してなければならない 1プロセッサ分しか通信パターンを解析しない コンパイル時間の増加 コンパイル中にソースコードの一部分を実行

14 通信+コードの最適化Ⅱ(1/2) ソースコード インスペクタ用 コード生成 通信履歴 テーブル インスペクタ実行 コード生成 多CPUの
計算機 並列コード

15 通信+コードの最適化Ⅱ(2/2) 実行速度が速い 各プロセッサは通信パターンが異なってもコンパイル可能 コンパイル時間の増加
実行時情報を用いて通信関連のコードをさらに最適化 各プロセッサは通信パターンが異なってもコンパイル可能 全プロセッサ分の通信パターンを解析 コンパイル時間の増加 コンパイル中にソースコードの一部分を実行

16 実装 FreeBSD4.2 HPF(サブセット)を入力としCP-PACS/Pilot3用の並列なFortran90を出力
出力されるコードはRDMAによるブロックストライド通信を用いたSPMDコード

17 実験(1/2) コンパイル時間と実行時間の測定 ベンチマーク
コンパイル環境はFreeBSD4.2,PentiumII300Mhz,メモリ128M 実行環境はPilot3上の4~64PE ベンチマーク pde1(GENESIS Distributed Memory Benchmarks) shallow(Shallow Water Benchmark)

18 実験(2/2) 他方式との比較 通信の最適化 通信+コードの最適化Ⅰ 商用並列化コンパイラ (日立製98年バージョン02-05)
素朴なインスペクタ・エグゼキュータ

19 結果(pde1:実行時間) 実行時間(pde1: N = 7, プロセッサ数= 64)

20 結果(pde1:速度向上比)

21 結果(pde1:通信+コードの最適化Ⅰコンパイル時間)

22 結果(shallow:実行時間) 実行時間 (shallow: N = 1024, プロセッサ数= 64)

23 結果(shallow:速度向上比)

24 結果(shallow:通信+コードの最適化Ⅰコンパイル時間)

25 結論 コンパイラによるエグゼキュータ部の最適化は効果があった コンパイル時間は容認できる 最大6%の速度改善
コンパイル時間はプロセッサ数が増加すると減少

26 おわりに 実行時の情報を用いた通信の最適化 今後の課題 効果的にRDMAを用いることができた エグゼキュータ部を最適化し、さらに高速化できた
通信+コードの最適化Ⅱによるコンパイラの実装


Download ppt "通信機構合わせた最適化をおこなう並列化ンパイラ"

Similar presentations


Ads by Google