あなたが話しているメカニズムは、厳密には実装に依存しています。 MPIは、ハードウェアとオペレーティングシステムによって提供される通信メカニズムの最上位に位置する中間レベルの標準です。
ORTEは、今日の野生の一般的なMPI実装の1つであるOpen MPIの一部です。また、MPICHとMPICH2とその変形(例:Intel MPI)もあります。ほとんどのスーパーコンピュータベンダーは、独自のMPI実装を提供しています(IBMがBlue Gene/Q用に変更されたMPICH2を提供しているなど)。
Open MPIの機能は、複数のレイヤーに分割され、各レイヤーの機能は動的にロードされる多数のモジュールによって提供されるということです。特定の条件下で最良のモジュールを選択するスコアリングメカニズムがあります。
すべてのMPI実装は、いわゆるSPMDの起動を行うメカニズムを提供します。基本的にMPIアプリケーションは特殊な種類のSPMD(Single Program Multiple Data)です。単一の実行可能ファイルの多くのコピーが実行され、メッセージのやり取りは通信と調整のメカニズムとして使用されます。実行ノードのリストを取得し、プロセスを遠隔から起動し、それらの間の関連および通信スキームを確立するのはSPMDランチャーです(Open MPIではこれをMPI Universeと呼びます)。これは、グローバルMPIコミュニケータMPI_COMM_WORLDを作成し、最初のランク割当てを配布し、CPUコアへのプロセスのバインド(NUMAシステムでは非常に重要)などのオプションを提供できます。プロセスが開始されると、識別のためのいくつかのメカニズムが利用可能である(例えば、ランクとIPアドレス/ TCPポートとの間のマッピング)、他のアドレッシング方式が採用されてもよい。たとえば、Open MPIは、ssh
,rsh
を使用してリモートプロセスを起動するか、別のリソース管理システム(PBS/Torque、SLURM、Grid Engine、LSFなど)によって提供されるメカニズムを使用できます。プロセスが起動し、そのIPアドレスとポート番号がユニバースに記録され、ブロードキャストされると、プロセスは他の(より高速な)ネットワーク上で互いに見つけることができます。 InfiniBandに接続し、通信ルートを確立します。
ルーティングメッセージは、通常、MPI自体では行われませんが、基礎となる通信ネットワークに残されます。 MPIはメッセージの作成だけを行い、ネットワークに渡して宛先に配信します。同じノードに存在するプロセス間の通信には、通常は共有メモリが使用されます。
技術的な詳細についてお知りになりたい場合は、Open MPIのソースコードを読むことをお勧めします。プロジェクトのWEB siteにあります。
[このビデオ](http://www.open-mpi.org/video/?category=tuning)が役立つかもしれません。 – falconepl