Parallel Multithreaded Machine ( PM2 ) は、コンピューターの並列ネットワーク化のための ソフトウェアです。
PM2は、分散アーキテクチャ上で、非常に不規則な動作(例:分岐限定探索、疎行列の計算など)を伴う分散プログラムを効率的に実行できるように設計された、オープンソースの分散マルチスレッドプログラミング環境です。GPLライセンスの下で配布されています。
PM2は、 PVMやMPI通信ライブラリと非常によく似たSPMD(Single Program Multiple Data )プログラミングモデルに準拠しています。ユーザーは単一のプログラムテキストを記述し、そのコピーが現在の構成の各処理ノード上で特定のロードコマンドによって起動されます。処理ノード間の差異を明確にするために分岐を組み込むかどうかはプログラマの判断に委ねられます。これにより、異機種マシンのネットワークを単一の分散並列プロセッサとして利用できるようになります。
主に、高性能ネットワークで相互接続された汎用処理ノードからなる中規模クラスタ向けに設計されていますが、一方では超並列MIMDマシンでの使用、他方ではインターネット経由のメタコンピューティングのサポートとしての使用も可能です。相互接続されたクラスタ群など、異機種混在のネットワーク構成もサポートします。
PM2の特徴的な機能としては、優先度駆動型のスケジューリングポリシー、スレッドマイグレーションメカニズム、そして様々な負荷分散ポリシーを容易に開発できる機能などが挙げられます。PM2は、利用可能な物理プロセッサごとに数百のスレッドを管理できます。PM2インターフェースは、この高度な並列処理の管理と動的な負荷分散のための機能を提供します。
PM2のスレッド管理サブシステムはMarcel(マルセル・プルーストにちなんで名付けられました)と呼ばれ、その通信サブシステムはMadeleine (マルセル・プルーストの人生で中心的な役割を果たしたとされるフランスの菓子)です。PM2には、スレッドが物理的な場所に関わらず、データへの一貫したアクセスを提供する追加機能があります。これはDSM-PM2と呼ばれます。
PM2 はほとんどのUnixプラットフォームで動作します。
開発の歴史
PM2 は、フランスのボルドーにある研究所、LaBRI (Laboratoire Bordelais de Recherche en Informatique) で開発され、INRIA、CNRS、ボルドー大学の共同支援を受けています。その前に、PM2 は、フランスの ENS リヨン (リヨン高等師範学校) にある研究研究所 LIP (Laboratoire de l'Informatique du Parallélisme) で、INRIA、CNRS、クロード ベルナール リヨン大学の共同支援を受けて開発されました。 PM2 は元々、フランスのリール大学 LIFL の Raymond Namyst と Jean-François Méhaut によって設計されました。
参照
参考文献
- この記事はもともと、PM2入門記事(Copyright © 2006年3月 Team Runtime)の資料に基づいています。
- クッキーの崩れ方/プルーストはマドレーヌについてどれだけ知っていたのか? エドマンド・レビン著、2005年5月11日
外部リンク
- 公式サイト