Scheduling Configuration Guide

Overview

Slurm is designed to perform a quick and simple scheduling attempt at events such as job submission or completion and configuration changes.
Slurmは、ジョブの送信や完了、構成の変更などのイベントで、すばやく簡単なスケジューリングを実行するように設計されています。
During these event-triggered scheduling events, default_queue_depth (default is 100) number of jobs will be considered.
これらのイベントトリガースケジューリングイベント中に、default_queue_depth(デフォルトは100)のジョブ数が考慮されます。

At less frequent intervals, defined by sched_interval, all jobs will be considered for scheduling.
sched_intervalで定義された頻度の低い間隔では、すべてのジョブがスケジューリングの対象と見なされます。

In either case, once any job or job array task in a partition is left pending, no other jobs in that partition will be scheduled.
いずれの場合も、パーティション内のジョブまたはジョブ配列タスクが保留状態のままになると、そのパーティション内の他のジョブはスケジュールされません。

A more comprehensive scheduling attempt is typically done by the backfill scheduling plugin.
より包括的なスケジューリングの試みは、通常、バックフィルスケジューリングプラグインによって行われます。

Scheduling Configuration

The SchedulerType configuration parameter specifies the scheduler plugin to use.
SchedulerType構成パラメーターは、使用するスケジューラープラグインを指定します。
Options are sched/backfill, which performs backfill scheduling, and sched/builtin, which attempts to schedule jobs in a strict priority order within each partition/queue.
オプションは、バックフィルスケジューリングを実行するsched / backfillと、各パーティション/キュー内で厳密な優先順位でジョブをスケジュールしようとするsched / builtinです。

There is also a SchedulerParameters configuration parameter which can specify a wide range of parameters as described below.
以下に説明するように、さまざまなパラメーターを指定できるSchedulerParameters構成パラメーターもあります。
This first set of parameters applies to all scheduling configurations.
この最初のパラメーターのセットは、すべてのスケジューリング構成に適用されます。
See the slurm.conf(5) man page for more details.
詳細については、slurm.conf(5)のマニュアルページを参照してください。

  • default_queue_depth=# - Specifies the number of jobs to consider for scheduling on each event that may result in a job being scheduled.
    default_queue_depth =#-ジョブがスケジュールされる可能性のある各イベントでスケジュールするために考慮するジョブの数を指定します。
    Default value is 100 jobs.
    デフォルト値は100ジョブです。
    Since this happens frequently, a relatively small number is generally best.
    これは頻繁に発生するため、一般的には比較的少数が最適です。
  • defer - Do not attempt to schedule jobs individually at submit time.
    延期-送信時にジョブを個別にスケジュールしないでください。
    Can be useful for high-throughput computing.
    ハイスループットコンピューティングに役立ちます。
  • max_switch_wait=# - Specifies the maximum time a job can wait for desired number of leaf switches.
    max_switch_wait =#-ジョブが必要な数のリーフスイッチを待機できる最大時間を指定します。
    Default value is 300 seconds.
    デフォルト値は300秒です。
  • partition_job_depth=# - Specifies how many jobs are tested in any single partition, default value is 0 (no limit).
    partition_job_depth =#-単一のパーティションでテストされるジョブの数を指定します。デフォルト値は0(制限なし)です。
  • sched_interval=# - Specifies how frequently, in seconds, the main scheduling loop will execute and test all pending jobs.
    sched_interval =#-メインのスケジューリングループが実行され、保留中のすべてのジョブをテストする頻度を秒単位で指定します。
    The default value is 60 seconds.
    デフォルト値は60秒です。

Backfill Scheduling

The backfill scheduling plugin is loaded by default.
バックフィルスケジューリングプラグインはデフォルトでロードされます。
Without backfill scheduling, each partition is scheduled strictly in priority order, which typically results in significantly lower system utilization and responsiveness than otherwise possible.
バックフィルスケジューリングがない場合、各パーティションは厳密に優先順位に従ってスケジュールされます。これにより、通常、システムの使用率と応答性が他の方法よりも大幅に低くなります。
Backfill scheduling will start lower priority jobs if doing so does not delay the expected start time of any higher priority jobs.
バックフィルスケジューリングは、優先度の高いジョブの予想開始時間を遅らせない場合、優先度の低いジョブを開始します。
Since the expected start time of pending jobs depends upon the expected completion time of running jobs, reasonably accurate time limits are important for backfill scheduling to work well.
保留中のジョブの予想開始時間は、実行中のジョブの予想完了時間に依存するため、バックフィルスケジューリングが適切に機能するには、適度に正確な時間制限が重要です。

Slurm's backfill scheduler takes into consideration every running job.
Slurmのバックフィルスケジューラは、実行中のすべてのジョブを考慮に入れます。
It then considers pending jobs in priority order, determining when and where each will start, taking into consideration the possibility of job preemption, gang scheduling, generic resource (GRES) requirements, memory requirements, etc.
次に、保留中のジョブを優先順に検討し、ジョブのプリエンプション、ギャングスケジューリング、汎用リソース(GRES)要件、メモリ要件などの可能性を考慮して、それぞれがいつどこで開始するかを決定します。
If the job under consideration can start immediately without impacting the expected start time of any higher priority job, then it does so.
検討中のジョブが、優先度の高いジョブの予想開始時間に影響を与えることなくすぐに開始できる場合は、そうします。
Otherwise the resources required by the job will be reserved during the job's expected execution time.
それ以外の場合、ジョブに必要なリソースは、ジョブの予想実行時間中に予約されます。
The backfill plugin will set the expected start time for pending jobs.
バックフィルプラグインは、保留中のジョブの予想開始時間を設定します。
A job's expected start time can be seen using the squeue --start command.
ジョブの予想開始時刻は、squeue--startコマンドを使用して確認できます。

Backfill scheduling is difficult without reasonable time limit estimates for jobs, but some configuration parameters that can help.
ジョブの妥当な時間制限の見積もりがないと、埋め戻しのスケジューリングは困難ですが、役立ついくつかの構成パラメーターがあります。

  • DefaultTime - Default job time limit (specify value by partition)
    DefaultTime-デフォルトのジョブ時間制限(パーティションごとに値を指定)
  • MaxTime - Maximum job time limit (specify value by partition)
    MaxTime-最大ジョブ時間制限(パーティションごとに値を指定)
  • OverTimeLimit - Amount by which a job can exceed its time limit before it is killed.
    OverTimeLimit-ジョブが強制終了される前に制限時間を超えることができる量。
    A system-wide configuration parameter.
    システム全体の構成パラメーター。

Backfill scheduling is a time consuming operation.
バックフィルスケジューリングは時間のかかる操作です。
Locks are released briefly every two seconds so that other options can be processed, for example to process new job submission requests.
ロックは2秒ごとに短時間解放されるため、他のオプションを処理できます。たとえば、新しいジョブ送信要求を処理できます。
Backfill scheduling can optionally continue execution after the lock release and ignore newly submitted jobs (SchedulerParameters=bf_continue).
バックフィルスケジューリングは、オプションで、ロック解除後も実行を継続し、新しく送信されたジョブを無視できます(SchedulerParameters = bf_continue)。
Doing so will permit consideration of more jobs, but may result in the delayed scheduling of newly submitted jobs.
そうすることで、より多くのジョブを検討できますが、新しく送信されたジョブのスケジュールが遅れる可能性があります。
A list of SchedulerParameters configuration parameters related to backfill scheduling follows.
バックフィルスケジューリングに関連するSchedulerParameters構成パラメーターのリストは次のとおりです。
See the slurm.conf(5) man page for more details.
詳細については、slurm.conf(5)のマニュアルページを参照してください。

  • bf_continue - If set, then continue backfill scheduling after periodically releasing locks for other operations.
    bf_continue-設定されている場合、他の操作のロックを定期的に解放した後、バックフィルスケジューリングを続行します。
  • bf_interval=# - Interval between backfill scheduling attempts.
    bf_interval =#-埋め戻しスケジューリングの試行間の間隔。
    Default value is 30 seconds.
    デフォルト値は30秒​​です。
  • bf_max_job_part=# - Maximum number of jobs to initiate per partition in each backfill cycle.
    bf_max_job_part =#-各バックフィルサイクルでパーティションごとに開始するジョブの最大数。
    Default value is 0 (no limit).
    デフォルト値は0(制限なし)です。
  • bf_max_job_start=# - Maximum number of jobs to initiate in each backfill cycle.
    bf_max_job_start =#-各埋め戻しサイクルで開始するジョブの最大数。
    Default value is 0 (no limit).
    デフォルト値は0(制限なし)です。
  • bf_max_job_test=# - Maximum number of jobs consider for backfill scheduling in each backfill cycle.
    bf_max_job_test =#-各バックフィルサイクルでバックフィルスケジューリングを検討するジョブの最大数。
    Default value is 100 jobs.
    デフォルト値は100ジョブです。
  • bf_max_job_user=# - Maximum number of jobs to initiate per user in each backfill cycle.
    bf_max_job_user =#-各埋め戻しサイクルでユーザーごとに開始するジョブの最大数。
    Default value is 0 (no limit).
    デフォルト値は0(制限なし)です。
  • bf_resolution=# - Time resolution of backfill scheduling.
    bf_resolution =#-埋め戻しスケジューリングの時間解決。
    Default value is 60 seconds.
    デフォルト値は60秒です。
    Larger values are appropriate if job time limits are imprecise and/or small delays in starting pending jobs in order to achieve higher system utilization is desired.
    より高いシステム使用率を達成するために、ジョブの時間制限が不正確である場合、および/または保留中のジョブの開始のわずかな遅延が必要な場合は、より大きな値が適切です。
  • bf_window=# - How long, in minutes, into the future to look when determining when and where jobs can start.
    bf_window =#-ジョブをいつどこで開始できるかを決定するときに、将来を見据える時間(分単位)。
    Higher values result in more overhead and less responsiveness.
    値を大きくすると、オーバーヘッドが大きくなり、応答性が低下します。
    A value at least as long as the highest allowed time limit is generally advisable to prevent job starvation.
    仕事の飢餓を防ぐために、少なくとも許容される最大の制限時間内の値が一般的に推奨されます。
    In order to limit the amount of data managed by the backfill scheduler, if the value of bf_window is increased, then it is generally advisable to also increase bf_resolution.
    バックフィルスケジューラによって管理されるデータの量を制限するために、bf_windowの値を増やす場合は、通常、bf_resolutionも増やすことをお勧めします。
    The default value is 1440 minutes (one day).
    デフォルト値は1440分(1日)です。
  • bf_yield_interval=# - The backfill scheduler will periodically relinquish locks in order for other pending operations to take place.
    bf_yield_interval =#-バックフィルスケジューラは、他の保留中の操作を実行するために、定期的にロックを放棄します。
    This specifies the times when the locks are relinquished in microseconds.
    これは、ロックがマイクロ秒単位で放棄される時間を指定します。
    The default value is 2,000,000 microseconds (2 seconds).
    デフォルト値は2,000,000マイクロ秒(2秒)です。
    Smaller values may be helpful for high throughput computing when used in conjunction with the bf_continue option.
    小さい値は、bf_continueオプションと組み合わせて使用​​すると、高スループットのコンピューティングに役立つ場合があります。
  • bf_yield_sleep=# - The backfill scheduler will periodically relinquish locks in order for other pending operations to take place.
    bf_yield_sleep =#-バックフィルスケジューラは、他の保留中の操作を実行するために、定期的にロックを放棄します。
    This specifies the length of time for which the locks are relinquished in microseconds.
    これは、ロックが解放される時間の長さをマイクロ秒単位で指定します。
    The default value is 500,000 microseconds (0.5 seconds).
    デフォルト値は500,000マイクロ秒(0.5秒)です。

Last modified 6 September 2019