Omni Grid RPC
OmniRPCは、クラスタ環境から広域ネットワークで構成されたグリッド環境ま
でシームレスな並列プログラミングを可能にするGrid RPCシステムです。
以下のような特徴があります。
- サポートするするプログラミングモデルとして、master-slave型の並列
プログラミングをサポートします。特に、グリッド環境において典型的なアプリ
ケーションであるパラメータ検索などのアプリケーションを効率的にサポート
する機能があります。
- 利用する計算資源として、単一のPCやワークステーションはもちろんの
こと、クラスタを利用することができます。
クラスタを構成するネットワークとしてプライベートなアドレスを用いて構成
されたクラスタについてもサポートしています。また、複数の遠隔のクラスタ
を利用することも可能です。
- APIとして、基本的にNinf version.1のAPIを踏襲しています(但し、完
全に互換ではなく、多少違いがあります)。また、リモート側の状態を保持する
persistencyをサポートしているため、これを利用した効率的なプログラミン
グが可能です。現在のバージョンではC言語のAPIを提供しています。
- 並列プログラミングのためのAPIとしては、非同期呼び出しを用いること
ができます。さらに、簡便な並列プログラミングのためにRPCをスレッドセー
フに実装されているため、OpenMPの指示文による並列プログラミングをサポー
トし、ベースとなる既存の逐次プログラムをなるべく書き換えずに並列化できます。
- パラメータ検索など並列アプリケーションを効率的にサポートするため
に、自動初期化実行モジュール機能を提供しています。これは、初期化のため
の大量のデータの転送や計算が必要な場合、これを再利用することにより、効
率化する機能です。
- 認証を行うGrid環境として、Globusの他、sshによる認証も可能です。
ファイヤウォールのある遠隔の計算機についても、omrpc-agentによるproxy機
能を用いることにより、sshでloginできるシステムならば、計算資源として利
用できます。
-
各計算資源の管理ポリシーを考慮したジョブ起動をサポートします。例え
ば、クラスタではPBSなどのバッチシステムで運用されていることがあります
が、このような場合は指定された起動方法で遠隔のプログラムを起動すること
ができます。サポートしているジョブスケジューラはpbsとsgeです。