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

Slides:



Advertisements
Similar presentations
1 プリミティブ Web サービスの 入出力データに関する一考察 2005 年 3 月 21 日 松江工業高等専門学校 情報工学科 奈良先端科学技術大学院大学 情報科学研究科 越田高志 電子情報通信学会 2005年総合 大会.
Advertisements

HBSP モデル上での 行列積を求めるアルゴリ ム 情報論理工学 吉岡健太.
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
MPIを用いたグラフの並列計算 情報論理工学研究室 藤本 涼一.
キャッシュ付PRAM上の 並列クィックソートと 並列マージソート
クラスタの構成技術と クラスタによる並列処理
コンピュータプラクティス I 再現性 水野嘉明
Chapter11-4(前半) 加藤健.
最新ファイルの提供を保証する代理FTPサーバの開発
LZ圧縮回路の設計とハード・ソフト 最適分割の検討 電子情報デザイン学科 高性能計算研究室 4回生 中山 和也 2009/2/27.
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
計算機システムⅡ 主記憶装置とALU,レジスタの制御
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
PCクラスタにおける2個体分散遺伝的アルゴリズムの高速化
AllReduce アルゴリズムによる QR 分解の精度について
神奈川大学大学院工学研究科 電気電子情報工学専攻
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
モバイルエージェントの応用 概要 モーバイルエージェントの応用分野 AgentSpaceシステム エージェント移動 応用:ソフトウェアの配信
プログラムの動作を理解するための技術として
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
同期的にアドバイスを活性化できる分散動的アスペクト指向システム
 データベースによる並列処理 情報論理工学研究室  三宅健太.
演算/メモリ性能バランスを考慮した マルチコア向けオンチップメモリ貸与法
分散処理を用いた大規模ソフトウェアに対するコーディングパターン検出ツール
変更文の移動を可能にした 静的単一代入形式上の部分冗長性除去
Flyingware : バイトコード変換による 安全なエージェントの実行
既存Javaプログラムの バイトコード変換による 機能分散
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
京都大学大学院医学研究科 画像応用治療学・放射線腫瘍学 石原 佳知
プログラム実行時情報を用いたトランザクションファンクション抽出手法
型付きアセンブリ言語を用いた安全なカーネル拡張
MPIによるwavからmp3圧縮の検証 情報論理工学研究室 04‐1‐47‐200 木村 惇一.
MPIを用いた最適な分散処理 情報論理工学研究室 角 仁志
動的依存グラフの3-gramを用いた 実行トレースの比較手法
最適化の方法 中田育男著 コンパイラの構成と最適化 朝倉書店, 1999年 第11章.
リモートホストの異常を検知するための GPUとの直接通信機構
実行時情報に基づく OSカーネルのコンフィグ最小化
巡回冗長検査CRC32の ハード/ソフト最適分割の検討
進化的計算手法の並列計算機への実装 三木 光範
動的データ依存関係解析を用いた Javaプログラムスライス手法
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
オープンソース開発支援のための リビジョン情報と電子メールの検索システム
実行時情報を用いて通信を最適化するPCクラスタ上の並列化コンパイラ
実行時の情報を用いてプロセッサ間の通信を最適化するコンパイラ
数独の解生成と 解に対する番号付け 理学部 情報科学科 渡辺研究室 戸神星也.
バイトコードを単位とするJavaスライスシステムの試作
軽量な仮想マシンを用いたIoT機器の安全な監視
信頼できないクラウドにおける仮想化システムの監視機構
Peer-to-Peerシステムにおける動的な木構造の生成による検索の高速化
コーディングパターンの あいまい検索の提案と実装
JAVAバイトコードにおける データ依存解析手法の提案と実装
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
コンパイラ 2012年10月1日
実行時の情報を用いて通信を最適化するコンパイラ
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
同期処理のモジュール化を 可能にする アスペクト指向言語
「マイグレーションを支援する分散集合オブジェクト」
プログラムの差分記述を 容易に行うための レイヤー機構付きIDEの提案
表紙 分散遺伝的アルゴリズムのための 新しい交叉法.
理工学部情報学科 情報論理工学研究室 延山 周平
MPIを用いた並列処理計算 情報論理工学研究室 金久 英之
強制パススルー機構を用いた VMの安全な帯域外リモート管理
ネットワーク・プログラミング Linuxシステムとソフトウェア開発.
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
BSPモデルを用いた 最小スパニング木 情報論理工学研究室 02-1-47-134 小林洋亮.
MPIを用いた 並列処理 情報論理工学研究室 06‐1‐037‐0246 杉所 拓也.
並列処理プロセッサへの 実数演算機構の開発
強制パススルー機構を用いた VMの安全な帯域外リモート管理
Josh : バイトコードレベルでのJava用 Aspect Weaver
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

結果(pde1:速度向上比)

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

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

結果(shallow:速度向上比)

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

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

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