アライドエンジニアリング

並列処理
並列処理は当社の基盤技術の一つです。

MPI 並列プログラミング
ここでは「MPI 並列プログラミング」(初版 2001年7月17日,第2刷 2001年11月20日,第3刷 2002年10月30日,第4刷 2004年9月30日,第5刷 2005年9月30日,第7刷 2007年10月30日) の紹介をいたします。

MPI並列プログラミング
P. パチェコ著/秋葉 博訳
A5版・496ページ 定価5565円 (税込)
本書は,分散メモリ型並列処理の基本技術としてのメッセージパッシングの世界標準規格,MPIと,それに基づく並列プログラミングについて,初歩から高度な内容まで体系的に学べるよう配慮された原書

Peter S. Pacheco
Parallel Programming with MPI
Morgan Kaufmann Publishers, 1997
の翻訳です(パチェコ教授は本書を短く,PPMPI と呼んでいます)。リファレンスマニュアルだけでは修得しにくい知識が本書でカバーできます。

訳者序文より抜粋します。

MPIは分散メモリ型並列処理の基本であるメッセージパッシングのライブラリの規格である。私が並列処理を知るようになってPVMなどにも触れたが,あれよあれよという間にMPIが世界標準になってしまった。MPIが話題にのぼるようになってからPVMがMPIに置き換わるまで,私の実感では1年である。これは,MPIの素性のよさや,Linuxとその上で動くmpichやLAMのおかげで,広くユーザに支持されたことが大きいと思う。今は,すべての (と言ってよいだろう) 並列システム上でMPIライブラリが動いている。もう1つの急速な変化はクラスタコンピューティング,分散メモリ型並列処理そのものの広まりである。共有メモリ型の並列処理には限界があるし,このことは当然のようにも思えるが,クラスタシステムは本当に実用に近づいた。これには大規模解析への要請とMPIの普及が相互補完的に作用している。これからは必ずクラスタコンピューティングの時代になるだろう。

しかし,クラスタシステム上で動くアプリケーションはまだ少ない。メモリを共有しない分散メモリ型並列処理ではプログラミングの上でメッセージパッシングの手続きを明示的に書かなければならないことで,開発にオーバヘッドが加わるからである。これは,並列化処理が比較的容易で,コンパイラがあるレベルの並列化処理を自動的に供給できる共有メモリシステムとの違いである。

クラスタシステム上の大規模アプリケーションの可能性は無限である。ハードウェアの構築はおよそ際限なく行えるし,プログラムの書き方によっては高い性能を引き出せる。アプリケーション開発者には,従来型のプログラミング技術に加えてメッセージパッシングというまったく別の要素技術を強いるが,これは時代の要請というものだろう。このためには開発者はMPIを学ばなければならない。

MPIの勉強に本書は最適である。ジャック・ドンガラ教授のまえがきにもあるように,本書はMPIのリファレンスマニュアルではなく,MPIを通じて並列処理を教えるよくできた教科書である。リファレンスマニュアルであるMPI標準だけから高い並列効率をもつ実用的な並列プログラムを作るだけの知識を得るのは容易ではない。読者は本書を通じてそれを体得することができるだろう。

MPIの背景について少し補足しておく。現在,普通はMPIといえばMPI-1,詳しくはMPI-1.1 (1995年6月,MPI-1.0は1994年5月) を指し,本書もMPI-1.1に基づいている。この拡張版にMPI-2 (1997年7月) があり,この一部にMPI-1.2が含まれる。MPI-1.2はMPIバージョン番号の取得関数MPI_Get_versionの追加,MPI_Finalizeなど一部関数の定義の説明の追加・修正,MPI-1.1の正誤表などからなる。正誤表は1998年12月にMPI-2とは別にリリースされているので,MPI-1あるいはMPI-1.1は正誤表付きMPI標準といってもよいだろう。以下,本書ではMPI標準とは,この正誤表付きMPI標準を指す。一方MPI-2では,動的プロセス生成,単方向通信,外部インタフェース,拡張集団通信,並列I/O,C++ およびFortran90インタフェースなど,非常に広範囲の拡張が行われた。MPI-1.2については,それに準拠する実装がmpich 1.2などすでにいくつかあるが,MPI-2への動きはやや遅い。その完全な実装はまだ限られているし,普及はこれからである。

PPMPI
原書 Parallel Programming with MPI (PPMPI) のページもご覧ください。本サイトから本書中にあるプログラムのダウンロードが可能です。 原書の正誤表,コメントがあり,その他多くの情報も得られます。

ホームに戻る

(C) 2001-2010 Allied Engineering Corporation. All rights reserved.