
SLURM サーバーの構成に少し苦労しています。短いキューに高い優先度を設定し、ジョブをすぐに開始して優先度の低いジョブを一時停止または再キューイングできるように、複数のキュー (パーティション) を用意したいと考えていました。
アイデアとしては、4 つのキューを用意することです。
- infinite: 無制限の時間ジョブ。すべてのノードがイン。最低の優先度。優先度の高いキューのジョブにノードが必要な場合は、ジョブを再度キューに入れます。
- バッチ: 24 時間のジョブ。すべてのノードが入っています。優先度は上記よりも高くなります。優先度の高いキューのジョブにノードが必要な場合は、ジョブを再度キューに入れます。
- 短い: 4 時間のジョブ。3 つのノードが存在します (前のパーティションと共有)。上記よりも優先度が高くなります。優先度の高いキューのジョブにノードが必要な場合は、ジョブを一時停止します。
- cpupower: 1 時間のジョブ。1 ノード (ファーム内で最適なノードで、以前のパーティションと共有)。最高の優先度。この種類のジョブが多すぎない限り、このキューへのジョブは入力する必要があります。
マニュアルを見ると、次のようにするとうまくいくと思いましたが、ジョブが一時停止されたり、キューに再登録されたりすることはありません。
PartitionName=infinite Nodes=ALL Default=NO MaxTime=INFINITE Priority=10 OverSubscribe=FORCE:1 PreemptMode=requeue State=UP
PartitionName=batch Nodes=ALL Default=YES MaxTime=24:00:00 Priority=20 OverSubscribe=FORCE:1 PreemptMode=requeue State=UP
PartitionName=short Nodes=node[001,002,0032] Default=NO MaxTime=4:00:00 Priority=30 OverSubscribe=FORCE:1 PreemptMode=suspend State=UP
PartitionName=cpupower Nodes=node003 Default=NO MaxTime=1:00:00 Priority=40 OverSubscribe=NO PreemptMode=off State=UP
他に何か必要なことがあるでしょうか?