MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。

Slides:



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

MPIを用いたグラフの並列計算 情報論理工学研究室 藤本 涼一.
CPUとGPUの 性能比較 -行列計算およびN体問題を用いて-
キャッシュ付PRAM上の 並列クィックソートと 並列マージソート
クラスタの構成技術と クラスタによる並列処理
コンピュータプラクティス I 再現性 水野嘉明
最新ファイルの提供を保証する代理FTPサーバの開発
Flashプレイヤーを使った動画配信 情報工学科 宮本 崇也.
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
分散コンピューティング環境上の Webリンク収集システムの実装
環境教育用E-Learningシステム の開発 平成19年度環境教育実践専修構想発表会 環境教育実践専修 鵜川研究室 彭艶萍
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
IPv6 エニーキャスト ルーティングプロトコル PIA-SM の設計および実装
電子社会設計論 第11回 Electronic social design theory
RTミドルウェアによるシステムの構築 現在,RTミドルウェアの利用が進んでいる ⇒機能要素のRTコンポーネント化を行うことで
Handel-Cによる       エアホッケー.
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
ネットワークの基礎技術.
「まめだくん Ver.1.0」 特徴と利用方法.
医療支援診断のためのコンピュータ分散システムの検討
大きな仮想マシンの 複数ホストへのマイグレーション
CSP記述によるモデル設計と ツールによる検証
 データベースによる並列処理 情報論理工学研究室  三宅健太.
現金に替わる電子マネーの実装 200702894 大城 翔太 木下研究室.
UNIXについて 松野秀平.
分散処理を用いた大規模ソフトウェアに対するコーディングパターン検出ツール
アスペクト指向プログラミングを用いたIDSオフロード
IPv6アドレスによる RFIDシステム利用方式
大規模アドホックネットワークにおける 階層的な名前解決法
サーバ負荷分散におけるOpenFlowを用いた省電力法
京都大学大学院医学研究科 画像応用治療学・放射線腫瘍学 石原 佳知
MPIによるwavからmp3圧縮の検証 情報論理工学研究室 04‐1‐47‐200 木村 惇一.
ソフトを用いた動画の並列変換処理 情報論理工学研究室 中村勇介.
MPIを用いた並列計算 情報論理工学研究室 清水周.
高速剰余算アルゴリズムとそのハードウェア実装についての研究
MPIを用いた最適な分散処理 情報論理工学研究室 角 仁志
グリッド M1 kawai.
リモートホストの異常を検知するための GPUとの直接通信機構
12/14 全体ミーティング 米澤研究室卒論生 山崎孝裕
インターネットにおける真に プライベートなネットワークの構築
実行時情報に基づく OSカーネルのコンフィグ最小化
仮想メモリを用いた VMマイグレーションの高速化
複数ホストに分割されたメモリを用いる仮想マシンの監視機構
通信機構合わせた最適化をおこなう並列化ンパイラ
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
オープンソース開発支援のための リビジョン情報と電子メールの検索システム
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
複数ホストにまたがって動作する仮想マシンの障害対策
VMMのソフトウェア若化を考慮した クラスタ性能の比較
片方向通信路を含む ネットワークアーキテクチャに於ける 動的な仮想リンク制御機構の設計と実装
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
Virtualizing a Multiprocessor Machine on a Network of Computers
「マイグレーションを支援する分散集合オブジェクト」
マイグレーションを支援する分散集合オブジェクト
「マイグレーションを支援する分散集合オブジェクト」
アスペクト指向言語のための視点に応じた編集を可能にするツール
卒業研究 JCSPを用いたプログラム開発  池部理奈.
表紙 分散遺伝的アルゴリズムのための 新しい交叉法.
BSPモデルを用いた 並列計算の有用性の検証
理工学部情報学科 情報論理工学研究室 延山 周平
MPIを用いた並列処理計算 情報論理工学研究室 金久 英之
nチャネルメッセージ伝送方式のためのjailによる経路制御
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
複数ホストにまたがるVMの 高速かつ柔軟な 部分マイグレーション
特定ユーザーのみが利用可能な仮想プライベート・ネットワーク
BSPモデルを用いた 最小スパニング木 情報論理工学研究室 02-1-47-134 小林洋亮.
MPIを用いた 並列処理 情報論理工学研究室 06‐1‐037‐0246 杉所 拓也.
ベイジアンネットワークと クラスタリング手法を用いたWeb障害検知システムの開発
Presentation transcript:

MPIによる行列積計算 情報論理工学研究室 04-1-47-015 渡邉伊織 情報論理工学研究室 04-1-47-015 渡邉伊織です。  04-1-47-015  渡邉伊織 情報論理工学研究室 04-1-47-015 渡邉伊織です。 研究テーマ、MPIによる行列計算についての発表をします。

あらまし 目的・方法 並列処理 仮想並列計算機 MPI 計算方法 結果・考察 結論 発表の流れとしましては、並列処理~結論といった形で説明をさせていただきます。

目的と方法 目的 仮想並列計算機の性能を実験的評価 方法 行列積の計算を並列処理で行い処理時間の向上率の検証   仮想並列計算機の性能を実験的評価 方法   行列積の計算を並列処理で行い処理時間の向上率の検証 行列積を選んだ理由は、並列プログラミングの処理しやすいデータでありながら、小規模から大規模までの計算量を必要とするデータであるため

並列処理 メリット デメリット ある一つの処理を複数のプロセッサを用いて行うこと データや機能を分割処理出来る 故障に強い  データや機能を分割処理出来る  故障に強い デメリット  複数のプロセッサが必要  通信時間の発生 並列処理とは複数台のサーバを組み合わせて一つのより大規模なサーバシステムとして利用する ことにより、 ある1つの処理を、複数のプロセッサを用いて行う事。メリットとして、単一のプロセッサでの処理よりも高速に計算処理を行なえます。 また、1台のサーバで障害が発生した場合、他のサーバが処理を引き継ぐことができるため、システム全体がダウンすることがなくなります。 デメリットとしては複数のプロセッサが必要となり、サーバ間の通信時間が発生します。 逐次計算では膨大な時間がかかる処理を、並列処理を用いることで高速化を図りたいと思います。 コンピュータが社会のインフラとして成り立っている現代では、逐次処理では膨大な時間がかかる処理がたくさんあります。並列処理はそういった膨大なデータを処理するために利用されています。

仮想並列計算機 ネットワークを利用し、複数のコンピュータを並列計算機として用いることができる 安価で並列計算機の構築ができる   ネットワークを利用し、複数のコンピュータを並列計算機として用いることができる 安価で並列計算機の構築ができる 容易に並列処理ができる さて、並列処理を行うためには、複数のプロセッサを用いて並列処理を行うことができる並列計算機の環境が必要です。 しかし、一般的に並列計算機は高価であるために、容易に用いることはできません。そこで、ネットワークを利用し複数のコンピュータを並列計算機として利用する仮想並列計算が注目されています。 複数のコンピュータさえあれば並列処理を行う環境が作れるため、安価で並列計算機の環境が構築でき、容易に並列処理が行うことができます。 ~~ 並列計算機には、全てのプロセッサが同じメモリを通して使用する共有メモリ型並列処理や、それぞれのプロセッサは個々に局所メモリを持ち、通信にはネットワークを使用する分散メモリ型並列処理の2つに大きく分けることが出来る。その中で、共有メモリ型並列処理は同期問題やデータの送受信といった問題がメモリを共有しているため対処しやすいが、プロセッサの増減などの変化があった場合には、メモリに全てのプロセッサを接続させることが困難になってしまう。そのため、現在では局所メモリが使用できる分散メモリ型並列処理が主流となっている。

MPI(Message Passing Interface) メッセージ通信ライブラリ 世界標準を目的とし開発 通信関数の充実 移植性が高い 仮想並列計算機の構築には、MPIというメッセージ通信ライブラリのソフトウェアを用いて行うことができます。 メッセージ通信のプログラムを記述するために広く使われる「標準」を目指して開発されたものです。 MPIは標準を目指して作成されたために様々な通信関数が実装されています、MPI規約を用いて作成したプログラムは移植性が高いため、MPIを使用するユーザは、通信を考慮せずプログラムを組むことが出来ます。 メッセージ通信ライブラリとは、コンピュータ間のメッセージ通信のためのプログラム記述するために広く使われているものです

MPICH ゴードン国立研究所が開発 無償で配布されているライブラリ 移植性を重視 Windows系へのサポート MPICHは、ゴードン国立研究所というアメリカの研究所が開発を行い、無償でソースコードを配布したライブラリである、PVMの問題点を元に、移植しやすさを重視した作りになっている。従来では、UNIXやLinuxのサポートが主流だったのに対し、Windows系へのサポートもしており、OSへの対応が充実している。

行列の計算方法1 ホストコンピュータ サブコンピュータ1 サブコンピュータ2 サブコンピュータ3 (8個のN*N行列データ保持) 行列データを 2つずつ送信 サブコンピュータ1 サブコンピュータ2 サブコンピュータ3 図に、行列の計算方法を示します。初期条件では、ホストコンピュータがすべてのN*N行列を保持しています。 まず、ホストコンピュータは、他のサブコンピュータに生成した行列を送信します。

行列の計算方法2 ホスト ホスト サブ2 ホスト サブ1 サブ2 サブ3 RESULT 結果送信 結果送信 結果送信 このように、ホストコンピュータから2つずつ行列をそれぞれのコンピュータは受け取ります。 各コンピュータにて、受け取った行列同士の積を計算し、その結果を上位コンピュータに渡します。 渡された行列同士の積をさらに計算し、最後に、ホストコンピュータに送り、それらをホストコンピュータで計算します。この結果を表示するまでの時間を計測し、この作業を1台で行ったときと、複数台で行ったときの計測時間を測定します。 ホスト サブ1 サブ2 サブ3

処理結果(秒=s) CPU\行列数 10 100 500 1000 1台 1.2s 2.8s 47.6s 582s 4台 0.9s 2.0s 速度向上率 1.3倍 1.4倍 1.5倍 2.1倍 行列計算を行った時の処理時間の結果を表に示します。 計算機の台数が1台の時と4台の時の時間と、速度の向上率を10行10列の場合、100行100列の場合、500行500列の場合100行1000列の場合に分けて検証しました。 コンピュータ数1台のときと比べると、どれも大幅に速度が向上しているのが見て取れますが。特に、処理の数が大きければ大きいほど、処理時間の向上率は上がっていることが注目されます。これは、処理数の多い場合より少ない処理の場合のほうが、処理の送受信や、同期の時間にかかる時間の影響を受けやすいからであろうと考えられます。また、1台の計算時間はややばらつきがあることに対し、複数のコンピュータによる処理は安定した処理速度となった。これは、膨大な処理を行うことによりかかる負担が、複数のコンピュータの場合よりも、1台のコンピュータにかかる負担のほうがより大きためであろうと考えられます。

結論 本研究では、MPIによる行列積計算の検証をした MPIによる、処理の高速化は有効 容易にプログラミングが出来る   小規模な処理の場合にも、速度の向上率は低いが有効であった   大規模になれば大幅に向上率が上がる 容易にプログラミングが出来る   容易に仮想並列計算機が構築できるため、身近なデータの処理にも並列処理を利用できる 本研究により、仮想並列計算環境を用いて複数のコンピュータを使って膨大なデータの処理を行うことにより、1台のコンピュータでその処理を行った時よりも、大幅に向上することを確認出来た。この、並列計算環境を用いれば、今まで処理時間が膨大で困難だった問題も、大幅に速度を向上して、さらにたくさんの情報を扱うことができるであろう。また、少量のデータの処理においても仮想並列計算環境を用いれば、処理時間が向上していたことにより、身近なことにも利用することが出来るであろうと考えられる。