Grid Engine システムがジョブの振り分けを開始する前、ジョブは優先順位の高い順に、優先順位に組み入れられます。続いてシステムは、優先順位の順番でジョブに適したリソースを見つけようとします。
管理者の操作がなければ、順序は先入れ先出し (FIFO) です。管理者には、ジョブの順序を制御する次の手段があります。
チケットに基づくジョブ優先順位。ジョブは常に、ジョブが有するチケットの数により定義される相対的な重要性にしたがって扱われます。保留中のジョブはチケット順にソートされます。管理者がチケットポリシーに適用するすべての変更は、ソート順も変更します。
緊急度に基づくジョブ優先順位。ジョブには、その相対的な重要性を決定する緊急度の値を割り当てることができます。保留中のジョブは、緊急度の値に従ってソートされます。緊急度ポリシーに適用されるすべての変更により、ソート順序も変更されます。
POSIX 優先順位。 qsub コマンドに –p オプションを使用すると、サイト固有の優先順位ポリシーを実現できます。–p オプションにより、–1023 から 1024 の範囲の優先順位が指定されます。数字が大きければ、優先順位も高くなります。 ジョブのデフォルトの優先順位はゼロです。
ユーザーまたはユーザーグループジョブの最大数。ユーザーまたは UNIX ユーザーグループが並行して実行可能なジョブの最大数を制限できます。制限を超えていないユーザーのジョブは優先されるため、この制限は保留中のジョブリストのソート順序に影響します。
各優先順位の種類に対して、重み付け係数を指定できます。この重み付け係数は、各種類の優先順位がジョブ全般の優先順位に影響を与える程度を決定します。各優先順位の種類の値の範囲を制御しやすくするため、生のチケットの値、緊急度の値、および POSIX 優先順位の値の代わりに、正規化された値が使用されます。
ジョブの優先順位値がどのように決定されるかは、次の式で表されます。
job_priority = weight_urgency * normalized_urgency_value + weight_ticket * normalized_ticket_value + weight_priority * normalized_POSIX_priority_value |
ジョブの優先順位の監視には qstat コマンドを使用できます。
POSIX 優先順位を含む、ジョブ優先順位全般を監視するには、qstat –pri を使用します。
チケットポリシーに基づいてジョブ優先順位を監視するには、qstat –ext を使用します。
緊急度ポリシーに基づいてジョブ優先順位を監視するには、qstat –urg を使用します。
緊急度ポリシー、チケットに基づくポリシー、および-p <priority> を同時に使用した場合のジョブの優先順位に関する問題を診断するには、qstat –pri を使用します。
エラー状態に基づいてさまざまなキューインスタンスを診断するには、qstat –explain を使用します。
緊急度ポリシーは各ジョブの緊急度の値を定義します。緊急度の値は、次の 3 つの情報の合計から得られます。
リソース要求の情報
待機時間の情報
締め切りの情報
リソース要求の情報は、すべてのハードリソースの要求の合計から得られ、各要求に関する 1 つの加数になります。
リソース要求が型 numeric である場合、リソース要求の加数は、次の 3 つの要素の積になります。
コンプレックスで定義されているリソースの緊急度の値。詳細については、「QMON を使用したコンプレックスリソース属性の構成」を参照してください。
ジョブの、想定されているスロット割り当て。
qsub –l コマンドにより指定されるスロットごとの要求。
リソース要求が型 string である場合、リソース要求の加数は、コンプレックスで定義されているリソースの緊急度の値になります。
待機時間の情報は、秒単位でのジョブの待機時間と、「Policy Configuration」ダイアログボックスで指定されている waiting-weight 値の積になります。
締め切りの情報は、締め切りのないジョブではゼロになります。締め切りのあるジョブの場合、締め切りの情報は、(締め切り開始時間までの) 秒単位の空き時間で除算された、「Policy Configuration」ダイアログボックスで定義されている waiting-weight 値です。
緊急度ポリシーの構成の詳細については、「緊急度ポリシーの構成」を参照してください。