P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発

Slides:



Advertisements
Similar presentations
HBSP モデル上での 行列積を求めるアルゴリ ム 情報論理工学 吉岡健太.
Advertisements

MPIを用いたグラフの並列計算 情報論理工学研究室 藤本 涼一.
グローバルコンピューティング環境における遺伝的アルゴリズムの検討
第2回 プロセス管理 ジョブ、プロセスとは? プロセスの状態遷移 プロセス制御ブロック スケジューリング.
CPUとGPUの 性能比較 -行列計算およびN体問題を用いて-
計算理工学基礎 「ハイパフォーマンスコンピューティングの基礎」
クラスタの構成技術と クラスタによる並列処理
Fill-in LevelつきIC分解による 前処理について
A Q R QR分解とは? → × ◆QR分解 QTQ = I (単位行列) ◆応用例 ◆主な計算方法 n m 今回はこの方法に注目
三重対角化アルゴリズムの性能評価 早戸拓也・廣田悠輔.
USB2.0対応PICマイコンによる データ取得システムの開発
超並列計算研究会 PCクラスタにおける ベンチマークと並列ツールの紹介 廣安 知之 三木 光範 大向 一輝 吉田 純一.
全体ミーティング (4/25) 村田雅之.
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
Finger patternのブロック化による 陰的wavelet近似逆行列前処理の 高速化
PCクラスタにおける2個体分散遺伝的アルゴリズムの高速化
DNASシステム上のアプリケーション起動シーケンスのための基盤であるdsh部分の性能評価
報告 (2006/9/6) 高橋 慧.
対角マトリックスを用いた3次元剛塑性有限要素法の並列計算 対角マトリックスを用いた剛塑性有限要素法
AllReduce アルゴリズムによる QR 分解の精度について
神奈川大学大学院工学研究科 電気電子情報工学専攻
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
分散遺伝的アルゴリズムによる各種クラスタのベンチマーク
各種PC クラスタの性能評価 同志社大学 工学部 廣安 知之 三木 光範 谷村 勇輔.
ブロック線図によるシミュレーション ブロック線図の作成と編集 ブロック線図の保存と読込み ブロック線図の印刷 グラフの印刷
PCクラスタ上での 連立一次方程式の解の精度保証
USB2.0対応PICを用いたデータロガーの製作
ネットワーク性能に合わせた 分散遺伝的アルゴリズムにおける 最適な移住についての検討
ノードの情報を動的に反映したオーバレイネットワークの構築
演算/メモリ性能バランスを考慮した マルチコア向けオンチップメモリ貸与法
正方行列向け特異値分解の CUDAによる高速化
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
過負荷時のWebアプリケーションの 性能劣化を改善する Page-level Queue Scheduling
Occam言語による マルチプリエンプティブシステムの 実装と検証
過負荷時の分散ソフトウェアの 性能劣化を改善する スケジューリングの提案
応用数理工学特論 第6回 計算理工学専攻 張研究室 山本有作.
Level-3 BLASに基づく二重対角化 アルゴリズムとその性能評価
2009年度卒業論文発表 CDNコンテンツサーバの動的負荷分散
近況: Phoenixモデル上の データ並列プログラム
東京海洋大産学官連携研究員/技術コンサルタント 高須 知二 Tomoji TAKASU
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(NlogN)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似法
第14章 モデルの結合 修士2年 山川佳洋.
私の立場 OSカーネルを手がけるエンジニア 大阪市立大学 創造都市研究科の学生
通信機構合わせた最適化をおこなう並列化ンパイラ
進化的計算手法の並列計算機への実装 三木 光範
航空エンジンの翼列周り流れ解析のメニーコアシステム向け最適化
SN比を考慮した 無線スケジューリング方式
目的:高速QR分解ルーチンのGPUクラスタ実装
ウェブアプリケーションサーバの Degradation Schemeの 制御に向けて
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
P2P ネットワーク上で 実時間ストリーミングを実現するための 分散制御プロトコルの提案
InTriggerクラスタ環境の構築 i-explosion 支援班 クラスタ環境の概要 研究に使える「共有資源」を提供
Virtualizing a Multiprocessor Machine on a Network of Computers
第4回 メモリ管理 主記憶(メインメモリ)の管理 固定区画方式と可変区画方式 空き領域の管理 スワッピング.
保守請負時を対象とした 労力見積のためのメトリクスの提案
「マイグレーションを支援する分散集合オブジェクト」
メソッドの同時更新履歴を用いたクラスの機能別分類法
Cソースコード解析による ハード/ソフト最適分割システムの構築
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(Nlog2N)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似
理工学部情報学科 情報論理工学研究室 延山 周平
アルゴリズムとデータ構造 --- 理論編 --- 山本 真基
MPIを用いた並列処理計算 情報論理工学研究室 金久 英之
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
キャッシュマシン向け三重対角化 アルゴリズムの性能予測方式
長方行列向け特異値分解の 浮動小数点コプロセッサによる 高速化
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
MPIを用いた 並列処理 情報論理工学研究室 06‐1‐037‐0246 杉所 拓也.
MAUI Project 2009 インターネットにおける近接性
分散メモリ型並列計算機上での行列演算の並列化
2008年 7月17日 応用数理工学特論 期末発表 鈴木綾華,程飛
Presentation transcript:

P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発 修士2年 斉藤 宏樹

研究背景 グリッド グリッドコンピューティング ネットワークで遠隔地にある計算資源を接続 グリッドを利用して大規模計算 アプリケーションのスケジューリングが必要

スケジューリングの必要性 適切な計算資源を選択することが困難 グリッドはCPUやネットワーク性能等が不均質 計算資源の状態が動的に変動 従来の均質環境と大きく異なる特徴を持つ

スケジューリングへのアプローチ Launch-time Scheduling ReScheduling Meta-Scheduling アプリケーション実行前のみ行う 適切な計算資源を選択 ReScheduling アプリケーション実行中にも行う 動的情報を考慮しながら計算資源を再選択 Meta-Scheduling 同時に同じ計算資源で実行するアプリケーションを考慮して順序などを決定

研究目標 グリッドにおけるスケジューラの開発 ScaLAPACKのスケジューラ開発 分散アプリケーションを対象 有効な計算資源を選択したスケジュール生成 ScaLAPACKのスケジューラ開発 アプリケーション実行前に計算資源を選択 ScaLAPACKは計算と通信を頻繁に実行するため, スケジューリングの対象として有効

ScaLAPACKとは? 分散メモリ用の線形計算ライブラリ 通信しながら行列を分解(MPIなど使用) 計算資源に合わせてパラメータ調整可能 Scalable LAPACK 共有メモリ用のLAPACKを並列用に拡張 通信しながら行列を分解(MPIなど使用) LU分解,QR分解 計算資源に合わせてパラメータ調整可能 問題サイズ,ブロックサイズ,P,Q比など 科学技術分野で使用される重要なライブラリ

P,Q比とは?(2次元) 行方向と列方向へのプロセスの割り当て方 6ノードに行列を分配する場合

コスト見積もり関数とは? スケジューラ

従来のコスト見積もり関数 パラメータに制限 Pが1に固定(1次元のみ)

開発したコスト見積もり関数 P,Q比が変更可能 2次元の方が1次元よりも実行時間は短くなる

P,Q比が変更可能なコスト見積もり関数の開発 密連立一次方程式を解くアルゴリズムを対象 PDGESVルーチン LU分解による行列演算時間を見積もる 従来のコスト見積もり関数を調査 PDGESVルーチンのアルゴリズム解析 演算量と通信量の見積もり値・方法を決定 評価(見積もり値の正確さ) 修正

ブロックLU分解フェーズ(1) 最大要素の探索(PDAMAX)

ブロックLU分解フェーズ(2) ブロック列において行交換(PDSWAP)

ブロックLU分解フェーズ(3) ブロック列(L)の計算(PDSCAL)

ブロックLU分解フェーズ(4) ブロックパネル(U)の更新(PDGER)

演算範囲の推移 これまでの演算をNB-1回繰り返す

ピボット情報の送信 列方向にBroadCast

各ブロック列において行交換 行方向でSendRecv

ブロック行の更新フェーズ(1) 分解済みブロックパネル(L)の送信 BroadCast

ブロック行の更新フェーズ(2) ブロック行(U)の更新

未更新行列の更新フェーズ(1) 分解済みブロック(L)の送信 BroadCast

未更新行列の更新フェーズ(2) 分解済みブロックの送信 BroadCast

未更新行列の更新フェーズ(3) 行列積の演算(PDGEMM)

コスト見積もり関数の開発 演算量の見積もり 演算時間の算出 計算時間の大部分を占めるルーチンを分析 行列更新の浮動小数点演算量を見積もる DGEMMルーチン 行列更新の浮動小数点演算量を見積もる 演算時間の算出 DGEMMのピーク性能値(Flops)を用いる 演算量(Flops)/ピーク性能(Flops)=時間(sec)

通信時間の見積もり SendRecv BroadCast 行交換の際に発生(P≧2) 送受信にかかる時間を計算 Split-ring方式を見積もる 送信ステップは(n+1)/2

Split-ringの見積もり プロセス番号0の送受信が終了するまで

数値実験(関数の評価) ScaLAPACKをクラスタで実行 ParadynによりScaLAPACKを実行 NWSにより計算資源情報を収集し関数へ入力 CPU利用可能率,バンド幅,レイテンシ収集 ATLAS, High Performance BLASを使用 正確な演算性能で計算させる コスト見積もり関数による見積もり値と比較 ParadynによりScaLAPACKを実行 Paradynにより演算時間や送受信量を計測 演算時間と送受信量を見積もり値と比較

実験環境 ・静的情報 ・動的情報(NWSより) Cluster Gregor Xenia クロック周波数(MHz) FLOPS/クロック周波数(Hz) DGEMMピーク性能(%) メモリ(MB) ノード数 1000 1.0 60 512 30 2400 2.0 87.5 48 ・動的情報(NWSより) CPU利用可能率(%) バンド幅(Mbps) レイテンシ(μsec) [0.0 – 1.0] -

ScaLAPACKのパラメータ ・Gregor ・Xenia Problem Size(N) 9600 Block Size(NB) 80 Process Grid(P,Q) (1×30),(2×15),(3×10),(5×6), (6×5),(10×3),(15×2),(30×1) ・Xenia Problem Size(N) 11520 Block Size(NB) 80 Process Grid(P,Q) (1×48),(2×24),(3×16),(4×12), (6×8),(8×6),(12×4),(16×3), (24×2),(48×1)

実測値と見積もり値の比較 ・Gregor ・Xenia 最小実行時間をとるP,Qの値が異なる

見積もり値の誤差 ・Gregor ・Xenia GregorとXeniaで誤差に大きな差

演算時間・送受信量の比較(Gregor) 演算時間の誤差は小さい

まとめ P,Q比が変更可能な見積もり関数開発 実測値と見積もり値の比較 PDGESVルーチン解析 送受信の見積もりに行交換を新しく追加 クラスタにScaLAPACK,NWSをインストール Paradynにより演算時間と送受信量を比較 誤差の原因を把握して修正する必要がある