通常、バッチジョブは、要求プロファイルを基にキューに割り当てられます。ユーザーは、特定のジョブに対して要求プロファイルを定義します。ユーザーは、ジョブを正しく実行するために満たされなければならない要求のセットを組み立てます。スケジューラは、このジョブに関する要求のセットを満たすキューだけを考慮します。
ユーザーがジョブに関する要求を指定しない場合、スケジューラは、ユーザーがアクセス可能なあらゆるキューを考慮します。この場合、キューがアクセス可能であること以外の制約はありません。ただし、Grid Engine ソフトウェアでは、ユーザーがリソース要求を明示的に指定しなくてもジョブのリソース要求を定義するデフォルト要求を構成することができます。
デフォルト要求は、クラスタのユーザー全員にグローバルに構成することも、任意のユーザーに対して個人用として構成することもできます。デフォルト要求の構成は、デフォルト要求ファイルに格納されます。グローバル要求ファイルは sge-root/cell /common/sge_request にあります。ユーザー別の要求ファイルは、ユーザーのホームディレクトリまたは現在の作業ディレクトリのいずれかに置くことができます。 作業ディレクトリは、qsub コマンドが実行される場所です。ユーザー別の要求ファイルは、.sge_request と呼ばれます。
これらのファイルが存在する場合は、あらゆるジョブでその評価が行われます。評価の順序は次のとおりです。
グローバルデフォルト要求ファイル
ユーザーのホームディレクトリにあるユーザー別デフォルト要求ファイル
現在の作業ディレクトリにあるユーザー別デフォルト要求ファイル
ジョブスクリプトまたは qsub コマンドで指定された要求は、デフォルト要求ファイルの要求より優先されます。ジョブに対する明示的なリソース要求方法についての詳細は、『Sun N1 Grid Engine 6.1 ユーザーズガイド』の第 3 章「ジョブの発行」を参照してください。
(以前の要求の指定を破棄する) qsub -clear コマンドを使用することで、Grid Engine システムがデフォルト要求ファイルを使用しないようにすることができます。
ローカルおよびグローバル両方のデフォルト要求ファイルの形式は次のようになります。
デフォルト要求ファイルには、任意の数の行を含むことができます。空白行と、先頭に # 記号がある行は無視されます。
qsub(1) のマニュアルページで説明されているように、無視する行以外の各行には、任意の qsub オプションを含めることができます。1 行に複数のオプションを指定することができます。バッチスクリプトファイルと、バッチスクリプトに対する引数オプションは、qsub オプションとみなされません。このため、これらはデフォルト要求ファイルでは使用できません。
qsub -clear コマンドは、現在評価されている要求ファイルまたは以前に処理された要求ファイルの、以前のあらゆる要求指定を廃棄します。
あるユーザーのローカルのデフォルト要求ファイルが例 4–2 のスクリプト、test.sh と同じ構成であると仮定します。
# Local Default Request File # exec job on a sun4 queue offering 5h cpu -l arch=solaris64,s_cpu=5:0:0 # exec job in current working dir -cwd |
このスクリプトを実行するには、ユーザーは次のコマンドを入力します。
% qsub test.sh |
次のように、ユーザーが直接コマンド行ですべての qsub オプションを指定した場合、test.sh スクリプトを実行した結果と同じになります。
% qsub -l arch=solaris64,s_cpu=5:0:0 -cwd test.sh |
qsub を使用して発行したバッチジョブ同様、qsh を使用して発行した対話形式のジョブでもデフォルト要求ファイルは考慮されます。QMON を使用して発行した対話形式またはバッチジョブでも、これらの要求ファイルが考慮されます。