Grid Engine システムは、exec システムコールを使用して起動手続きを呼び出すことによって並列環境を起動します。起動用の実行可能ファイル名とそのファイルに渡すパラメータは、Grid Engine システムの中から設定することができます。
Grid Engine システムの配布ツリーには、PVE 環境用のこのような起動手続きのサンプルが含まれています。起動手続きは、シェルスクリプト 1 つとそのスクリプトによって呼び出される C プログラム 1 つで構成されています。シェルスクリプトは C プログラムを使用して、PVM をクリーンに起動します。そのほかの必要な処理はすべて、シェルスクリプトが行います。
このシェルスクリプトのパスは sge-root/pvm/startpvm.sh です。C プログラムファイルのパスは sge-root /pvm/src/start_pvm.c です。
起動手続きが、C プログラム 1 つだけであってもかまいません。シェルスクリプトを使用することによって、サンプルの起動手続きのカスタマイズが容易になります。
サンプルスクリプトの startpvm.sh には、次の 3 つの引数が必要です。
Grid Engine ソフトウェアによって生成されたホストファイルのパス (PVM が起動されるホスト名を含む)
startpvm.sh 手続きの起動元のホスト
通常は、PVM_ROOT 環境変数に含まれる、PVM ルートディレクトリのパス
これらのパラメータは、「QMON を使用した並列環境の構成」で説明されている方法で、起動スクリプトに渡すことができます。実行中、Grid Engine システムによって並列環境の起動および停止スクリプトに提供されるパラメータは、このほかにもあります。たとえば、必要なホストファイルは Grid Engine システムによって生成されます。そのファイル名は、並列環境の構成で特殊パラメータ名 $pe_hostfile を使用して起動手続きに渡すことができます。使用可能なすべてのパラメータの説明は、 sge_pe(5) のマニュアルページに記載されています。
ホストファイルの形式は次のとおりです。
ファイルの各行は、並列プロセスを実行するキューを表します。
各行の最初のエントリはキュー名を示します。
2 つ目のエントリは、このキューで実行する並列プロセス数を示します。
3 つ目のエントリは、キューを示します。
4 つ目のエントリは、マルチプロセッサマシンの場合に使用するプロセッサ範囲を示します。
このファイル形式は Grid Engine システムにより生成されます。このファイル形式は固定されています。異なるファイル形式を必要とする並列環境は、起動手続き内で形式を変換する必要があります。startpvm.sh ファイルを参照してください。異なるファイル形式を必要とする並列環境の例は PVM です。
Grid Engine システムによって並列環境の起動手続きが実行されると、起動手続きにより並列環境が起動されます。起動手続きは、ゼロの終了ステータスで終了するようにします。起動手続きの終了ステータスがゼロ以外の場合、Grid Engine ソフトウェアはエラーを報告し、並列ジョブを実行しません。
最初は Grid Engine システムを使用せずに、コマンド行から起動手続きをテストする必要があります。こうすることで、手続きを Grid Engine システムの枠組みに組み込んだ場合の、追跡が困難なすべてのエラーを回避できます。