クラスタでソフトウェアパッケージ pam-crash を使用し、10 個の浮動ライセンスへのアクセス権があると仮定します。ソフトウェアのアクティブな呼び出しが 10 を超えないかぎり、あらゆるシステムで pam-crash を使用できます。目標は、実行中のそのほかの pam-crash ジョブによって 10 個のライセンスがすべて占有される間は pam-crash ジョブのスケジューリングを避けるように Grid Engine システムを構成することです。
消費可能リソースを使用すると、この目標を簡単に達成できます。まず、グローバル消費可能リソースとして、使用可能な pam-crash ライセンスの数を、コンプレックス構成に追加する必要があります。
消費可能属性の名前は pam-crash に設定されています。その代わりに、qalter -l、 qselect -l、qsh -l、qstat -l、または qsub -l コマンドで、ショートカットとして pc を使用できます。
属性の型は整数カウンタに定義されています。
Requestable フラグは FORCED に設定されています。この設定では、ジョブが発行された時点で、ジョブがいくつの pam-crash ライセンスを占有するかをユーザーが要求しなければならないことが指定されています。
Consumable フラグは、その属性が消費可能リソースであることを指定します。
Requestable は (すべてのジョブでこの属性に対して要求値を受信する必要があることを意味する) FORCED に設定されているため、設定 Default は無関係になります。
コンシューマブルは、complex_values リストを介して、グローバル、ホスト、またはキュー構成からその値を受け取ります。host_conf(5) および queue_conf(5) のマニュアルページだけでなく、「キューの構成」 および 「ホストの構成」を参照してください。
この属性とクラスタに対してリソース計画をアクティブにするには、使用可能な pam-crash ライセンスの数をグローバルホスト構成で定義する必要があります。
属性 pam-crash の値は 10 に設定され、これは 10 個の浮動ライセンスに対応します。
テーブル Consumables/Fixed Attributes は、ホスト構成ファイル書式 host_conf(5) で説明されている complex_values エントリに対応します。
ユーザーが次のジョブを発行すると仮定します。
% qsub -l pc=1 pam-crash.sh |
ジョブは、10 未満の pam-crash ライセンスが現在占有されている場合にのみ起動します。ジョブはクラスタ内の任意の場所で実行可能ですが、実行時間の全体において 1 つの pam-crash ライセンスを占有します。
クラスタ内のホストの 1 つを、浮動ライセンスに含めることができない場合があります。たとえば、そのホストに対しては pam-crash バイナリを使用できません。このような場合、pam-crash ライセンス管理からそのホストを除外できます。消費可能属性 pam-crash に関して、そのホストに関連する容量をゼロに設定することで、そのホストを排除できます。「Host Configuration」ダイアログボックスの「Execution Host」タブを使用します。
コンプレックスのグローバル属性はすべての実行ホストにより継承されるため、pam-crash 属性は暗黙に実行ホストに対して使用可能になります。容量をゼロに設定することで、1 つのホストが管理できるライセンスの数を、2 などのゼロ以外の値に制限することもできます。この場合、そのホストには最大 2 つの pam-crash ジョブが共存できます。
同様に、あるキューが pam-crash ジョブを実行することを防止したい場合があります。たとえば、キューが、pam-crash には適切ではないメモリーと CPU 時間の制限を持つ、エクスプレスキューである場合です。この場合、次の図に示すように、キュー構成で対応する容量をゼロに設定します。
コンプレックスのグローバル属性はすべてのキューにより継承されるため、pam-crash 属性は暗黙にキューに対して使用可能になります。