卒研発表

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を用いての処理の高速化は有効である
 容易に並列計算環境の構築が可能
身近なデータ処理にも有効