SLURM サーバーの構成には少し問題があります。短いキューの優先順位が高く、ジョブをすぐに一時停止したり、優先順位の低いジョブにキューを再度追加したりできるように、複数のキュー(パーティション)が必要です。
アイデアは4つのキューを持つことです。
- 無制限:働く時間は無制限です。すべてのノードが存在します。最も低い優先順位。優先順位の高いキューのジョブにノードが必要な場合は、ジョブが再びキューに追加されます。
- バッチ: 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
たぶん別のものが必要でしょうか?