第2部 グリッドを実現する要素技術

【MPI】
 PCクラスタなどで用いられている分散並列計算環境のプログラミングモデルとしては、MPI(Message Passing Interface)が一般的です。MPIでは、複数のプロセスが互いに通信を行いながら処理を進めます。
 通常の分散並列計算環境では、例えば、各コンピュータのアーキテクチャやメモリ容量、コンピュータ間のネットワークなどは均質、全てのコンピュータ間は直接通信できるといった条件が想定されています。しかし、グリッドの環境では、各コンピュータやネットワークの性能が異なったり、負荷が変動することがあります。 グリッド上のMPIは、このような問題にも対応して動作することが必要となります。

【GridRPC】
 1台のコンピュータ(マスタ)が複数のコンピュータ(ワーカ)に計算を割り当てる方法としてマスタ・ワーカモデルがあります。GridRPCはグリッド上でマスタ・ワーカモデルを実装しやすい機構です。
 GridRPCは、ユーザのプログラム(クライアント)から遠隔コンピュータ(サーバ)にあるプログラムを容易に呼び出すことができます。1つのユーザプログラムが複数のサーバ上にあるプログラムを同時に呼び出して、並列プログラムを実行することも可能です。ユーザプログラムの中の独立した処理を複数のサーバに分散して並列に実行することによって、大幅な処理時間の高速化を計ることが可能です。

【MPI + GridRPC】
 2つのプログラミング手法を組み合わせて計算を行う手法もあります。
 MPIによるサイト内の高速処理とGridRPCによる広域のコンピュータ上での並列処理により、処理性能の高い計算を行うものです。また、一部のサイトのコンピュータが障害などにより利用できなくなった場合に、他のサイトのコンピュータへ投入し直す機能をマスタ上のプログラムに持たせることで、より信頼性の高い計算を行うことも可能となります。

fig2-5-1