MPIを用いた並列処理計算 情報論理工学研究室 金久 英之

Slides:



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

MPIを用いたグラフの並列計算 情報論理工学研究室 藤本 涼一.
3次元nクイーン問題の 解に関する研究 論理工学研究室 伊藤精一
CPUとGPUの 性能比較 -行列計算およびN体問題を用いて-
キャッシュ付PRAM上の 並列クィックソートと 並列マージソート
クラスタの構成技術と クラスタによる並列処理
コンピュータプラクティス I 再現性 水野嘉明
最新ファイルの提供を保証する代理FTPサーバの開発
Flashプレイヤーを使った動画配信 情報工学科 宮本 崇也.
全体ミーティング (4/25) 村田雅之.
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
電子社会設計論 第11回 Electronic social design theory
RTミドルウェアによるシステムの構築 現在,RTミドルウェアの利用が進んでいる ⇒機能要素のRTコンポーネント化を行うことで
AllReduce アルゴリズムによる QR 分解の精度について
神奈川大学大学院工学研究科 電気電子情報工学専攻
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
ネットワークの基礎技術.
「まめだくん Ver.1.0」 特徴と利用方法.
リンクパワーオフによる光ネットワークの省電力化
医療支援診断のためのコンピュータ分散システムの検討
大きな仮想マシンの 複数ホストへのマイグレーション
CSP記述によるモデル設計と ツールによる検証
 データベースによる並列処理 情報論理工学研究室  三宅健太.
現金に替わる電子マネーの実装 200702894 大城 翔太 木下研究室.
分散処理を用いた大規模ソフトウェアに対するコーディングパターン検出ツール
モバイルP2Pを用いた携帯電話 動画配信手法の提案 第3回
IPv6アドレスによる RFIDシステム利用方式
大規模アドホックネットワークにおける 階層的な名前解決法
サーバ負荷分散におけるOpenFlowを用いた省電力法
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
京都大学大学院医学研究科 画像応用治療学・放射線腫瘍学 石原 佳知
Occam言語による マルチプリエンプティブシステムの 実装と検証
MPIによるwavからmp3圧縮の検証 情報論理工学研究室 04‐1‐47‐200 木村 惇一.
ソフトを用いた動画の並列変換処理 情報論理工学研究室 中村勇介.
MPIを用いた並列計算 情報論理工学研究室 清水周.
高速剰余算アルゴリズムとそのハードウェア実装についての研究
MPIを用いた最適な分散処理 情報論理工学研究室 角 仁志
MPIとOpenMPを用いた Nクイーン問題の並列化
12/14 全体ミーティング 米澤研究室卒論生 山崎孝裕
実行時情報に基づく OSカーネルのコンフィグ最小化
仮想メモリを用いた VMマイグレーションの高速化
複数ホストに分割されたメモリを用いる仮想マシンの監視機構
通信機構合わせた最適化をおこなう並列化ンパイラ
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
オープンソース開発支援のための リビジョン情報と電子メールの検索システム
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
複数ホストにまたがって動作する仮想マシンの障害対策
片方向通信路を含む ネットワークアーキテクチャに於ける 動的な仮想リンク制御機構の設計と実装
ガイダンス 情報システム管理 ガイダンス 水野 嘉明 情報システム管理 1.
背景 課題 目的 手法 作業 期待 成果 有限体積法による汎用CFDにおける 流体構造連成解析ソルバーの計算効率の検証
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
Virtualizing a Multiprocessor Machine on a Network of Computers
「マイグレーションを支援する分散集合オブジェクト」
マイグレーションを支援する分散集合オブジェクト
「マイグレーションを支援する分散集合オブジェクト」
アスペクト指向言語のための視点に応じた編集を可能にするツール
分散処理を用いたコーディングパターン検出ツールの実装
卒業研究 JCSPを用いたプログラム開発  池部理奈.
BSPモデルを用いた 並列計算の有用性の検証
理工学部情報学科 情報論理工学研究室 延山 周平
ネット時代のセキュリティ3(暗号化) 2SK 情報機器工学.
PVMを用いた高分子材料の撥水画像解析に関する研究
nチャネルメッセージ伝送方式のためのjailによる経路制御
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
ネットワークプログラミング 05A1302 円田 優輝.
情報論理工学 研究室 第1回:並列とは.
BSPモデルを用いた 最小スパニング木 情報論理工学研究室 02-1-47-134 小林洋亮.
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
MPIを用いた 並列処理 情報論理工学研究室 06‐1‐037‐0246 杉所 拓也.
ベイジアンネットワークと クラスタリング手法を用いたWeb障害検知システムの開発
Presentation transcript:

MPIを用いた並列処理計算 情報論理工学研究室 06-1-037-0038 金久 英之  06-1-037-0038  金久 英之 情報論理工学研究室 06-1-037-0038 金久英之です。 研究テーマ、MPIによる行列計算についての発表をします。

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

背景 近年、処理時間を高速化することは、計算機を使用する上での重大な課題 並列計算機 近年、様々な情報や記憶デバイスが計算機で取り扱われている。取り扱われる情報の量などは日々増大しており、その処理時間を高速化することは計算機を使用する上での重大な課題である。高速な処理を行うためには、複数のプロセッサを持つ並列計算機(Parallel Computer)が用いられる。しかし、一般的に並列計算機は高価であるために、容易に用いることはできない。そこで、複数の計算機をネットワーク接続して仮想的並列計算機とする手法が注目されている。本研究では、MPI〔Message Passing Interface〕[1][2]を用いて仮想並列計算を行い、その実用性を検証する。

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

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

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

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

計算方法 8個のN*Nの行列積を求めるプログラム 行列のサイズを10*10から1000*1000 をそれぞれ検証   行列のサイズを10*10から1000*1000   をそれぞれ検証 同性能のプロセッサ4台を用意   OSはWindowsで統一 行列積を選んだ理由は、並列プログラミングの処理しやすいデータでありながら、小規模から大規模までの計算量を必要とするデータであるため 一台の逐次計算による処理と複数台による並列計算による処理とを行列のサイズ毎に場合わけし、処理時間の差を検証します。

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

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

処理結果(秒) CPU\行列サイズ 10 100 500 1000 1台 0.015s 0.066s 10.87s 167.2s 4台 0.012s 0.051s 7.291s 86.3s 速度向上率 1.25倍 1.3倍 1.5倍 1.93倍 行列計算を行った時の処理時間の結果を表に示します。 計算機の台数が1台の時と4台の時の時間と、速度の向上率を10行10列の場合、100行100列の場合、500行500列の場合100行1000列の場合に分けて検証しました。 コンピュータ数1台のときと比べると、どれも大幅に速度が向上しているのが見て取れますが。特に、処理の数が大きければ大きいほど、処理時間の向上率は上がっていることが注目されます。これは、1台で計算を行う場合、データ量が大きければ、ハードディスクのメモリにデータを移したり、読み込んだりする時間がかかる。4台で計算を行う場合、 それぞれのプロセッサにかかるデータ量は分割され小さくなるので、並列処理よりも逐次処理による計算のほうが、メモリにかかる負担が少なくてすむので、処理するデータを大きくするほど、処理時間の向上率は上がっている。 処理の送受信や、同期の時間にかかる時間の影響を受けやすいからであろうと考えられます。また、1台の計算時間はややばらつきがあることに対し、複数のコンピュータによる処理は安定した処理速度となった。これは、膨大な処理を行うことによりかかる負担が、複数のコンピュータの場合よりも、1台のコンピュータにかかる負担のほうがより大きためであろうと考えられます。

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