sdiag

Section: Slurm Commands (1)
Updated: Slurm Commands
Index

 

NAME

sdiag - Scheduling diagnostic tool for Slurm
sdiag-Slurmのスケジューリング診断ツール

 

SYNOPSIS

sdiag

 

DESCRIPTION

sdiag shows information related to slurmctld execution about: threads, agents, jobs, and scheduling algorithms.
sdiagは、スレッド、エージェント、ジョブ、およびスケジューリングアルゴリズムに関するslurmctldの実行に関連する情報を表示します。
The goal is to obtain data from slurmctld behaviour helping to adjust configuration parameters or queues policies.
目標は、構成パラメーターまたはキューポリシーの調整に役立つslurmctld動作からデータを取得することです。
The main reason behind is to know Slurm behaviour under systems with a high throughput.
背後にある主な理由は、高スループットのシステムでのSlurmの動作を知ることです。

It has two execution modes.
2つの実行モードがあります。
The default mode --all shows several counters and statistics explained later, and there is another execution option --reset for resetting those values.
デフォルトモード--allには、後で説明するいくつかのカウンターと統計が表示され、それらの値をリセットするための別の実行オプション--resetがあります。

Values are reset at midnight UTC time by default.
デフォルトでは、UTC時間の深夜に値がリセットされます。

The first block of information is related to global slurmctld execution:
情報の最初のブロックは、グローバルslurmctldの実行に関連しています。

Server thread count
The number of current active slurmctld threads.
現在アクティブなslurmctldスレッドの数。
A high number would mean a high load processing events like job submissions, jobs dispatching, jobs completing, etc.
数値が大きいということは、ジョブの送信、ジョブのディスパッチ、ジョブの完了などの高負荷処理イベントを意味します。
If this is often close to MAX_SERVER_THREADS it could point to a potential bottleneck.
これがMAX_SERVER_THREADSに近いことが多い場合は、潜在的なボトルネックを示している可能性があります。

Agent queue size
Slurm design has scalability in mind and sending messages to thousands of nodes is not a trivial task.
Slurmの設計はスケーラビリティを念頭に置いており、何千ものノードにメッセージを送信することは簡単な作業ではありません。
The agent mechanism helps to control communication between slurmctld and the slurmd daemons for a best effort.
エージェントメカニズムは、ベストエフォートのためにslurmctldデーモンとslurmdデーモン間の通信を制御するのに役立ちます。
This value denotes the count of enqueued outgoing RPC requests in an internal retry list.
この値は、内部再試行リストにキューに入れられた発信RPC要求の数を示します。

Agent count
Number of agent threads.
エージェントスレッドの数。
Each of these agent threads can create in turn a group of up to 2 + AGENT_THREAD_COUNT active threads at a time.
これらの各エージェントスレッドは、一度に最大2 + AGENT_THREAD_COUNTアクティブスレッドのグループを順番に作成できます。

Agent thread count
Total count of active threads created by all the agent threads.
すべてのエージェントスレッドによって作成されたアクティブなスレッドの総数。

DBD Agent queue size
Slurm queues up the messages intended for the SlurmDBD and processes them in a separate thread.
Slurmは、SlurmDBD宛てのメッセージをキューに入れ、それらを別のスレッドで処理します。
If the SlurmDBD, or database, is down then this number will increase.
SlurmDBDまたはデータベースがダウンしている場合、この数は増加します。

The max queue size is configured in the slurm.conf with MaxDBDMsgs.
最大キューサイズは、Slurm.confでMaxDBDMsgsを使用して構成されます。
If this number begins to grow more than half of the max queue size, the slurmdbd and the database should be investigated immediately.
この数が最大キューサイズの半分を超えて増加し始めた場合は、slurmdbdとデータベースをすぐに調査する必要があります。

Jobs submitted
Number of jobs submitted since last reset
最後のリセット以降に送信されたジョブの数

Jobs started
Number of jobs started since last reset.
最後のリセット以降に開始されたジョブの数。
This includes backfilled jobs.
これには、埋め戻されたジョブが含まれます。

Jobs completed
Number of jobs completed since last reset.
最後のリセット以降に完了したジョブの数。

Jobs canceled
Number of jobs canceled since last reset.
最後のリセット以降にキャンセルされたジョブの数。

Jobs failed
Number of jobs failed due to slurmd or other internal issues since last reset.
最後のリセット以降、slurmdまたはその他の内部問題が原因で失敗したジョブの数。

Job states ts:
Lists the timestamp of when the following job state counts were gathered.
次のジョブ状態カウントが収集されたときのタイムスタンプを一覧表示します。

Jobs pending:
Number of jobs pending at the given time of the time stamp above.
上記のタイムスタンプの特定の時間に保留中のジョブの数。

Jobs running:
Number of jobs running at the given time of the time stamp above.
上記のタイムスタンプの特定の時間に実行されているジョブの数。

Jobs running ts:
Time stamp of when the running job count was taken.
実行中のジョブカウントが取得されたときのタイムスタンプ。

The next block of information is related to main scheduling algorithm based on jobs priorities.
次の情報ブロックは、ジョブの優先順位に基づくメインのスケジューリングアルゴリズムに関連しています。
A scheduling cycle implies to get the job_write_lock lock, then trying to get resources for jobs pending, starting from the most priority one and going in descendent order.
スケジューリングサイクルは、job_write_lockロックを取得してから、保留中のジョブのリソースを取得しようとすることを意味します。最も優先度の高いものから順に、降順で実行されます。
Once a job can not get the resources the loop keeps going but just for jobs requesting other partitions.
ジョブがリソースを取得できなくなると、ループは続行されますが、他のパーティションを要求するジョブに対してのみです。
Jobs with dependencies or affected by accounts limits are not processed.
依存関係があるジョブ、またはアカウント制限の影響を受けるジョブは処理されません。

Last cycle
Time in microseconds for last scheduling cycle.
最後のスケジューリングサイクルのマイクロ秒単位の時間。

Max cycle
Maximum time in microseconds for any scheduling cycle since last reset.
最後のリセット以降のスケジューリングサイクルの最大時間(マイクロ秒単位)。

Total cycles
Total run time in microseconds for all scheduling cycles since last reset.
最後のリセット以降のすべてのスケジューリングサイクルの合計実行時間(マイクロ秒単位)。
Scheduling is performed periodically and (depending upon configuration) when a job is submitted or a job is completed.
スケジューリングは定期的に実行され、(構成に応じて)ジョブが送信されたときまたはジョブが完了したときに実行されます。

Mean cycle
Mean time in microseconds for all scheduling cycles since last reset.
最後のリセット以降のすべてのスケジューリングサイクルのマイクロ秒単位の平均時間。

Mean depth cycle
Mean of cycle depth.
サイクル深度の平均。
Depth means number of jobs processed in a scheduling cycle.
深さは、スケジューリングサイクルで処理されたジョブの数を意味します。

Cycles per minute
Counter of scheduling executions per minute.
1分あたりのスケジューリング実行のカウンター。

Last queue length
Length of jobs pending queue.
キューを保留しているジョブの長さ。

The next block of information is related to backfilling scheduling algorithm.
次の情報ブロックは、埋め戻しスケジューリングアルゴリズムに関連しています。
A backfilling scheduling cycle implies to get locks for jobs, nodes and partitions objects then trying to get resources for jobs pending.
バックフィルスケジューリングサイクルは、ジョブ、ノード、およびパーティションオブジェクトのロックを取得してから、保留中のジョブのリソースを取得しようとすることを意味します。
Jobs are processed based on priorities.
ジョブは優先度に基づいて処理されます。
If a job can not get resources the algorithm calculates when it could get them obtaining a future start time for the job.
ジョブがリソースを取得できない場合、アルゴリズムは、ジョブの将来の開始時刻を取得できる時期を計算します。
Then next job is processed and the algorithm tries to get resources for that job but avoiding to affect the previous ones, and again it calculates the future start time if not current resources available.
次に、次のジョブが処理され、アルゴリズムはそのジョブのリソースを取得しようとしますが、前のジョブに影響を与えないようにします。また、現在のリソースが利用できない場合は、将来の開始時刻を計算します。
The backfilling algorithm takes more time for each new job to process since more priority jobs can not be affected.
優先度の高いジョブには影響を与えられないため、バックフィルアルゴリズムでは、新しいジョブの処理に時間がかかります。
The algorithm itself takes measures for avoiding a long execution cycle and for taking all the locks for too long.
アルゴリズム自体は、長い実行サイクルを回避し、すべてのロックを長時間取得するための対策を講じています。

Total backfilled jobs (since last slurm start)
Number of jobs started thanks to backfilling since last slurm start.
前回のslurm開始以降、埋め戻しのおかげで開始されたジョブの数。

Total backfilled jobs (since last stats cycle start)
Number of jobs started thanks to backfilling since last time stats where reset.
前回の統計がリセットされてからの埋め戻しのおかげで開始されたジョブの数。
By default these values are reset at midnight UTC time.
デフォルトでは、これらの値はUTC時間の深夜にリセットされます。

Total backfilled heterogeneous job components
Number of heterogeneous job components started thanks to backfilling since last Slurm start.
前回のSlurmの開始以降、埋め戻しのおかげで、異種のジョブコンポーネントの数が開始されました。

Total cycles
Number of backfill scheduling cycles since last reset
最後のリセット以降の埋め戻しスケジューリングサイクル数

Last cycle when
Time when last backfill scheduling cycle happened in the format "weekday Month MonthDay hour:minute.seconds year"
「平日月月日時:分。秒年」の形式で最後の埋め戻しスケジューリングサイクルが発生した時刻

Last cycle
Time in microseconds of last backfill scheduling cycle.
最後の埋め戻しスケジューリングサイクルのマイクロ秒単位の時間。
It counts only execution time, removing sleep time inside a scheduling cycle when it executes for an extended period time.
実行時間のみをカウントし、長時間実行するとスケジューリングサイクル内のスリープ時間を削除します。
Note that locks are released during the sleep time so that other work can proceed.
他の作業を続行できるように、スリープ時間中にロックが解除されることに注意してください。

Max cycle
Time in microseconds of maximum backfill scheduling cycle execution since last reset.
最後のリセット以降の最大埋め戻しスケジューリングサイクル実行のマイクロ秒単位の時間。
It counts only execution time, removing sleep time inside a scheduling cycle when it executes for an extended period time.
実行時間のみをカウントし、長時間実行するとスケジューリングサイクル内のスリープ時間を削除します。
Note that locks are released during the sleep time so that other work can proceed.
他の作業を続行できるように、スリープ時間中にロックが解除されることに注意してください。

Mean cycle
Mean time in microseconds of backfilling scheduling cycles since last reset.
最後のリセット以降の埋め戻しスケジューリングサイクルのマイクロ秒単位の平均時間。

Last depth cycle
Number of processed jobs during last backfilling scheduling cycle.
最後の埋め戻しスケジューリングサイクル中に処理されたジョブの数。
It counts every job even if that job can not be started due to dependencies or limits.
依存関係や制限のためにジョブを開始できない場合でも、すべてのジョブをカウントします。

Last depth cycle (try sched)
Number of processed jobs during last backfilling scheduling cycle.
最後の埋め戻しスケジューリングサイクル中に処理されたジョブの数。
It counts only jobs with a chance to start using available resources.
利用可能なリソースの使用を開始する可能性のあるジョブのみをカウントします。
These jobs consume more scheduling time than jobs which are found can not be started due to dependencies or limits.
これらのジョブは、依存関係または制限のために開始できないことが判明したジョブよりも多くのスケジューリング時間を消費します。

Depth Mean
Mean count of jobs processed during all backfilling scheduling cycles since last reset.
最後のリセット以降、すべての埋め戻しスケジューリングサイクル中に処理されたジョブの平均数。
Jobs which are found to be ineligible to run when examined by the backfill scheduler are not counted (e.g. jobs submitted to multiple partitions and already started, jobs which have reached a QOS or account limit such as maximum running jobs for an account, etc).
バックフィルスケジューラによって検査されたときに実行に不適格であることが判明したジョブはカウントされません(たとえば、複数のパーティションに送信されてすでに開始されているジョブ、QOSに達したジョブ、またはアカウントの最大実行ジョブなどのアカウント制限)。

Depth Mean (try sched)
The subset of Depth Mean that the backfill scheduler attempted to schedule.
バックフィルスケジューラがスケジュールしようとした深さ平均のサブセット。

Last queue length
Number of jobs pending to be processed by backfilling algorithm.
バックフィルアルゴリズムによって処理されるのを保留しているジョブの数。
A job is counted once for each partition it is queued to use.
ジョブは、使用するためにキューに入れられたパーティションごとに1回カウントされます。
A pending job array will normally be counted as one job (tasks of a job array which have already been started/requeued or individually modified will already have individual job records and are each counted as a separate job).
保留中のジョブ配列は通常、1つのジョブとしてカウントされます(すでに開始/再キューイングされているか、個別に変更されているジョブ配列のタスクには、すでに個別のジョブレコードがあり、それぞれが個別のジョブとしてカウントされます)。

Queue length Mean
Mean count of jobs pending to be processed by backfilling algorithm.
バックフィルアルゴリズムによって処理されるのを保留しているジョブの平均数。
A job once for each partition it requested.
要求したパーティションごとに1回のジョブ。
A pending job array will normally be counted as one job (tasks of a job array which have already been started/requeued or individually modified will already have individual job records and are each counted as a separate job).
保留中のジョブ配列は通常、1つのジョブとしてカウントされます(すでに開始/再キューイングされているか、個別に変更されているジョブ配列のタスクには、すでに個別のジョブレコードがあり、それぞれが個別のジョブとしてカウントされます)。

Last table size
Count of different time slots tested by the backfill scheduler in its last iteration.
最後の反復でバックフィルスケジューラによってテストされたさまざまなタイムスロットの数。

Mean table size
Mean count of different time slots tested by the backfill scheduler.
バックフィルスケジューラによってテストされたさまざまなタイムスロットの平均数。
Larger counts increase the time required for the backfill operation.
カウントが大きいほど、埋め戻し操作に必要な時間が長くなります。
The table size is influenced by many schuling parameters, including: bf_min_age_reserve, bf_min_prio_reserve, bf_resolution, and bf_window.
テーブルサイズは、bf_min_age_reserve、bf_min_prio_reserve、bf_resolution、bf_windowなどの多くのschulingパラメータの影響を受けます。

Latency for 1000 calls to gettimeofday()
Latency of 1000 calls to the gettimeofday() syscall in microseconds, as measured at controller startup.
コントローラの起動時に測定された、gettimeofday()syscallへの1000回の呼び出しの待ち時間(マイクロ秒単位)。

The next blocks of information report the most frequently issued remote procedure calls (RPCs), calls made for the Slurmctld daemon to perform some action.
次の情報ブロックは、最も頻繁に発行されるリモートプロシージャコール(RPC)、つまりSlurmctldデーモンが何らかのアクションを実行するために行われた呼び出しを報告します。
The fourth block reports the RPCs issued by message type.
4番目のブロックは、メッセージタイプごとに発行されたRPCを報告します。
You will need to look up those RPC codes in the Slurm source code by looking them up in the file src/common/slurm_protocol_defs.h.
これらのRPCコードは、ファイルsrc / common / slurm_protocol_defs.hで検索して、Slurmソースコードで検索する必要があります。
The report includes the number of times each RPC is invoked, the total time consumed by all of those RPCs plus the average time consumed by each RPC in microseconds.
レポートには、各RPCが呼び出された回数、それらすべてのRPCによって消費された合計時間、およびマイクロ秒単位の各RPCによって消費された平均時間が含まれます。
The fifth block reports the RPCs issued by user ID, the total number of RPCs they have issued, the total time consumed by all of those RPCs plus the average time consumed by each RPC in microseconds.
5番目のブロックは、ユーザーIDによって発行されたRPC、発行されたRPCの総数、それらすべてのRPCによって消費された合計時間、および各RPCによって消費された平均時間をマイクロ秒単位で報告します。
RPCs statistics are collected for the life of the slurmctld process unless explicitly --reset.
RPC統計は、明示的に--resetされない限り、slurmctldプロセスの存続期間中に収集されます。

The sixth block of information, labeled Pending RPC Statistics, shows information about pending outgoing RPCs on the slurmctld agent queue.
「PendingRPCStatistics」というラベルの付いた6番目の情報ブロックには、slurmctldエージェントキューで保留中の発信RPCに関する情報が表示されます。
The first section of this block shows types of RPCs on the queue and the count of each.
このブロックの最初のセクションには、キューにあるRPCのタイプとそれぞれの数が表示されます。
The second section shows up to the first 25 individual RPCs pending on the agent queue, including the type and the destination host list.
2番目のセクションには、タイプと宛先ホストリストを含む、エージェントキューで保留中の最初の25個の個別のRPCが表示されます。
This information is cached and only refreshed on 30 second intervals.
この情報はキャッシュされ、30秒間隔でのみ更新されます。

 

OPTIONS

-a, --all
Get and report information.
情報を取得して報告します。
This is the default mode of operation.
これがデフォルトの動作モードです。

-h, --help
Print description of options and exit.
オプションの説明を印刷して終了します。

-i, --sort-by-id
Sort Remote Procedure Call (RPC) data by message type ID and user ID.
リモートプロシージャコール(RPC)データをメッセージタイプIDとユーザーIDで並べ替えます。

-M, --cluster=<string>
The cluster to issue commands to.
コマンドを発行するクラスター。
Only one cluster name may be specified.
指定できるクラスター名は1つだけです。
Note that the SlurmDBD must be up for this option to work properly.
このオプションが正しく機能するには、SlurmDBDが稼働している必要があることに注意してください。

-r, --reset
Reset scheduler and RPC counters to 0.
スケジューラーとRPCカウンターを0にリセットします。
Only supported for Slurm operators and administrators.
Slurmオペレーターおよび管理者のみがサポートされます。

-t, --sort-by-time
Sort Remote Procedure Call (RPC) data by total run time.
リモートプロシージャコール(RPC)データを合計実行時間で並べ替えます。

-T, --sort-by-time2
Sort Remote Procedure Call (RPC) data by average run time.
リモートプロシージャコール(RPC)データを平均実行時間で並べ替えます。

--usage
Print list of options and exit.
オプションのリストを印刷して終了します。

-V, --version
Print current version number and exit.
現在のバージョン番号を出力して終了します。

 

PERFORMANCE

Executing sdiag sends a remote procedure call to slurmctld.
sdiagを実行すると、リモートプロシージャコールがslurmctldに送信されます。
If enough calls from sdiag or other Slurm client commands that send remote procedure calls to the slurmctld daemon come in at once, it can result in a degradation of performance of the slurmctld daemon, possibly resulting in a denial of service.
リモートプロシージャコールをslurmctldデーモンに送信するsdiagまたは他のSlurmクライアントコマンドからの十分な呼び出しが一度に着信すると、slurmctldデーモンのパフォーマンスが低下し、サービス拒否が発生する可能性があります。

Do not run sdiag or other Slurm client commands that send remote procedure calls to slurmctld from loops in shell scripts or other programs.
シェルスクリプトまたは他のプログラムのループからslurmctldにリモートプロシージャコールを送信するsdiagまたは他のSlurmクライアントコマンドを実行しないでください。
Ensure that programs limit calls to sdiag to the minimum necessary for the information you are trying to gather.
プログラムがsdiagへの呼び出しを、収集しようとしている情報に必要な最小限に制限していることを確認してください。

 

ENVIRONMENT VARIABLES

Some sdiag options may be set via environment variables.
一部のsdiagオプションは、環境変数を介して設定できます。
These environment variables, along with their corresponding options, are listed below.
これらの環境変数とそれに対応するオプションを以下に示します。
(Note: commandline options will always override these settings)
(注:コマンドラインオプションは常にこれらの設定を上書きします)

SLURM_CLUSTERS
Same as --cluster

SLURM_CONF
The location of the Slurm configuration file.
Slurm構成ファイルの場所。

 

COPYING

Copyright (C) 2010-2011 Barcelona Supercomputing Center.
Copyright (C) 2010-2019 SchedMD LLC.

Slurm is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Slurm is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

 

SEE ALSO

sinfo(1), squeue(1), scontrol(1), slurm.conf(5),


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
PERFORMANCE
ENVIRONMENT VARIABLES
COPYING
SEE ALSO

This document was created by man2html using the manual pages.
Time: 20:44:46 GMT, May 21, 2020