一般的なコンピュータを使って高速な処理を実現する場合には1つの目的を複数のコンピュータで分散・並列処理することになりますが、この実行基盤の1つが MPI (Message Passing Interface)と呼ばれる仕様・規格で MPICH, Open MPI など複数の実装系が存在しています。 MPI では Task と呼ばれる独立したアドレス空間で動作するプロセスをCPUコア/スレッド毎に生成し、このプロセス間でMPI 標準規格で定義された関数を使ってデータを分割・移動(Message Passing)しながら並列・協調動作を実現しています。