MPIを用いた並列計算

MPIを用いた並列計算
理工学部情報学科
情報論理工学研究室
04-1-47-088 延山 周平
本研究の目的

1台のPCにMPIを用い、並列プログラムの
有用性と限界を示す
仮想並列計算機





処理する情報量の増加
並列計算
実際の並列計算機は高価
複数の計算機をネットワーク接続
代表的な実装方法:PVMやMPI
PVM(Parallel Virtual Machine)




並列処理を行うための並列化ライブラリ
1991年に米国のオークリッジ国立研究所
で開発
異機種間の分散処理が目的
プログラムの移植性が乏しい
MPI
(Message Passing Interface)





分散メモリ型並列計算機
メッセージ通信操作の仕様標準
通信の仕組みを共有化することを目的
1994年にVer1.0の規格制定
1997年にVer2.0(MPI-2)の規格制定
PVMとMPIの差異

MPI:移植性が高い
MPI:高速なメッセージ通信が可能
PVM:異機種間での並列処理が可能

現在は、MPIが主流に


MPIの実装



無料の主な実装:MPICHやLAM
主にC言語やFortran
JAVAをサポート:mpiJava
検証プログラム



シンプルな加算プログラム
同性能のプロセッサ4台を仮定
PC1台による擬似仮想並列計算
並列プログラムの実行概念図
P0
P0
加算データ
をP0に送信
P1
P2
P3
プロ
セッサ
76~
100
入力
それぞれの入力を加算
1~
25
26~
50
51~
75
実行結果
100
10
逐次実行時間
並列実行時間
1
0.1
0.01
100
10,000
考察



処理するデータが大きいほど有効
実際には、通信時間がかかる
通信回数とプロセッサの分担率
最後に




PCの世代交代のはやさ
PCを複数台持つ家庭の増加
仮想並列計算の需要増加
環境作りが課題