SLURMスケジューラを使用するコンピューティングクラスタにアカウントがあります。キューにいくつかのジョブがあり、「watch」コマンドを使用してその状態を確認しています。
watch squeue -u myUserName
このコマンドを実行すると、スケジューラに常に多くのストレスがかかりますか?
答え1
top
他のものがうまくいくのを見て邪魔したくない場合は、iostat
次systat
のものを使用することをお勧めしますnice
。
nice watch squeue -u myUserName
これにより、基本優先順位と比較して低い優先順位でプロセスが実行されます。クラスタジョブが通常優先順位で実行されていると仮定すると、プロセスは、上記nice
のすべてのジョブがCPU時間を受信した後に残りのアイドルCPU時間のみを許可するとスケジューラに通知します。
負荷の高いシステムで優先度の低いタスクを実行する場合は、常に次の点を考慮する必要があります。
$ nice bash -l
〜するすべて実際、クラスターがすでに実行されている「実際のジョブ」よりも低い優先順位で実行されています。
答え2
各squeue
このコマンドは、Slurm制御デーモンのRPC()を起動しますslurmctld
。これは制御デーモンに負荷を与えますが、コントローラの電力がどれくらいになるのか、システムの負荷がどれくらいになるのかわからないと、定数がsqueue
どれだけ影響するのかわかりません。
組織のユーザーが500人を超えて継続的に実行されている場合、watch "squeue -u $USER_NAME"
これは単に強力なシステムで実行するよりもシステムに大きな負荷をかけます。
時間をよりよく活用するには、タスクのタイムアウトを正しく設定して、数分以内に作業中と同じ状態にする必要があることを知っている場合は、タスクが完了したりタスクが完了したcompleting
ときsleep x; squeue -u $USER_NAME
にこのメッセージが表示されます。特定の段階に達します。これwatch
このオプションを使用してコマンドの実行頻度を設定することもできます-n
。