LoginSignup
1
1

More than 5 years have passed since last update.

某スパコンのキュー情報確認方法

Posted at

SLURMで管理されたキュー情報の確認方法(自身のジョブがいつ実行されるかを知る手段)としては、下記のとおり3種類ある。(squeuesは某スパコン独自の仕様)

sinfo -s

 キュー名、ノードリスト、ノード利用状況の確認に。

$ sinfo -s -p d024h,d072h
 PARTITION AVAIL  TIMELIMIT   NODES(A/I/O/T)  NODELIST
 d024h        up 1-00:00:00       36/22/0/58  d[001-002,013-060,073-080]
 d072h        up 3-00:00:00        28/2/0/30  d[001-002,013-040]

=> ノード基準で利用状況を表示するので、複数キューに割り当てられた
  ノードは各キューでそれぞれカウントされる(重複する)。
  (d024hでジョブが実行されてd001が割当てられると、d024h/d072hそれぞれの "NODES(A)" が1減る)
=> PENDING中のノード数は "NODES" にカウントされないので、"NODES(I)" が十分でも実行されない可能性がある。

squeues

 キュー別のノード利用状況の確認に。

$ squeues | grep -E "^Q|^d"
 QUEUE_NAME       TIMELIMIT   STATUS MAXNODES NNODES PEND RUN FREE
 d024h           1-00:00:00       up       58     20    6  14   22
 d072h           3-00:00:00       up       30     22    0  22    2

=> sinfoと違い、キューを基準とした利用状況が表示される。
  d024hで実行された場合は、d024hの "RUN" にしかカウントされない。
  (そのため "RUN" の数はsinfoの "NODES(A)" とは一致しない場合がある)
=> "NNODES" は "RUN" と "PEND" の加算値で、そのキューで要求されているノード数の合計(混み具合)を示す。
  ("PEND" も含むため "MAXNODES" を超える場合がある)
=> "FREE" は空きノードを示すが、"PEND" が1以上であった場合には、基本的には先にPENDINGに
  入ったものから実行されるため、"FREE" 以下を指定してもすぐに実行されない可能性がある。
  "FREE" から "PEND" を除算した数を指定すれば先に実行される可能性は上がる。
=> ユーザが複数のジョブに(Dependency)をもたせている場合も、"PEND" として計上される。

freenodes

 システム別の空きノードの確認に。

$ freenodes | grep "D sys"
 Number of free nodes in D sys. with FDR-IB connected is  22/ 58.

=> キューに拘らずシステム全体の空きノードを確認したい場合に使う。
=> squeuesで "FREE" を確認したほうが、より正確な目安になる。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1