MPIを用いた並列計算処理 情報論理工学研究室 06-1-037-0041 福崎 伸哉 目次 本研究の目的 並列処理 仮想並列計算機 MPI 並列プログラムの検証 結果・考察 結論 本研究の目的 MPIを用いて並列処理の有用性を示す 行列積の計算を逐次処理と並列処理とに分け、 処理時間の向上率を検証 並列処理 ある1つの処理を複数のプロセッサで行う メリット 処理時間の短縮 データ分割手法 機能分割手法 耐故障性に優れている デメリット 複数の計算機が必要 通信時間の発生 仮想並列計算機 複数の計算機でネットワーク接続する 安価で並列環境を構築できる 手軽にプログラミングが可能 代表的な実装方法 → MPI MPI (Message Passing Interface) 分散メモリ型並列計算機 メッセージ通信操作の仕様標準 メッセージパッシングによる通信の仕組みを 共有化することが目的 プログラムの移植性が高い MPICH MPI規格を基に作られたソフトウェア ゴードン国立研究所により、無償で配布 移植性を重視 OSへの対応が充実 検証プログラム 8個の行列の積を求めるプログラム 行列のサイズを10*10から1000*1000まで 増やして検証 同性能のプロセッサ4台を用意 OSはWindowsで統一 ハブ ホスト サブ1 サブ2 サブ3 行列積計算の方法 1 ホストコンピュータ (8個のN*N行列のデータを保持) A1 A2 サブコンピュータ 11 サブコンピュータ A3 A4 A5 A6 サブコンピュータ 22 サブコンピュータ A7 A8 行列データ を2個ずつ 送信する サブコンピュータ 3 行列積計算の方法 2 Result ホスト 結果送信 {A1{A*A 2}*{A3*A4} * A }{A * A } {A5*A6}*{A7*A8} ホスト サブ 2 5 6 7 8 結果送信 A1 * A2 A3 * A 4 ホスト サブ 1 A5 * A 6 サブ 2 結果送信 A7 * A 8 サブ 3 行列積計算の処理時間(秒) 行列サイズ 計算機数 10*10 100*100 500*500 1000*1000 1台 0.015 0.066 10.87 167.2 4台 0.012 0.051 7.29 86.3 向上率 1.25倍 1.29倍 1.49倍 1.94倍 結論 本研究でMPIによる行列積計算を検証した MPIを用いての処理の高速化は有効である 容易に並列計算環境の構築が可能 身近なデータ処理にも有効
© Copyright 2024 ExpyDoc