menu

ジョブ投入

ジョブキューイングシステム

Cray XC30はジョブスケジューラによって管理されています.

基本的なジョブの確認,投入方法は並列機利用マニュアルをご参照ください.

キュークラス

クラス ノード数 コア数 実行時間 同時実行ジョブ数 同時実行ジョブ数/1ユーザ 優先度
TINY 1-4node ~96core 30min 無制限 無制限 1
SMALL 4-16node ~384core 48hour 16job 4job 3
MEDIUM 16-32node ~768core 12hour 6job 3job 4
LARGE 32-128node ~3072core 12hour 2job 1job 2
XLARGE 128-356node ~8544core 12hour 1job 1job 7
LONG-S 1-8node ~192core 1week 4job 1job 3
LONG-M 8-32node ~768core 96hour 2job 1job 4
LONG-L ~360node (申請ベース) - - -  
  • ノード/コア=利用可能ノード数/コア数
  • 実行時間=キューに投入されたジョブが実行状態に置かれる最大の時間
  • 同時実行ジョブ数=同じキュー内のジョブが同時に実行されうる個数
  • 同時実行ジョブ数/1ユーザ=同じキュー内にある同一ユーザのジョブが同時に実行されうる個数
  • 同時投入数/1ユーザ=同じキューに1ユーザが同時に投入可能なジョブ数(実行中のジョブも含む)

■1ノードには2CPU/24コアが搭載されています.
■ジョブの割り振りはノード単位で行われます.このためシングルプロセス+シングルスレッドのジョブでも1ノード=24コアが占有される場合があります.
4ノードがTINYキュー専用に分離されています.このためXLARGEキューは8544Coreが取得できる最大コア数となります.申請クラスのLARGE-Lはこの限りではありません.

**なお、申請ジョブクラスについてはこちらをご覧ください

ジョブの確認(XC30専用コマンド)

XC30では,PBS標準のqstatコマンドだと利用中のノード数などが正確に表示されない場合があります.
現在動作しているジョブを確認するためには以下のコマンドが利用できます.

nqstat

ジョブスクリプト例

MPI プログラム

#!/bin/csh
#PBS -q <QUEUE>
#PBS -j oe
#PBS -l mppwidth=48 <-利用するMPIプロセス数 <必須>
#PBS -l mppnppn=24  <-1ノードで動作させるプロセス数 <必須:最大は24>
#PBS -l mppdepth=1 <-MPIプログラムでは1を指定

#PBS -N BATCH-JOB  <- ジョブ名の設定

cd $PBS_O_WORKDIR <- 作業ディレクトリ(カレントディレクトリ)への移動

aprun -n 48 -N 24 -d 1  ./a.out

XC30ではプログラム実行用に特殊なコマンド"aprun"を利用します.

aprun [-n num/-N num/ -d num ] <実行ファイル>

-n: MPIプロセス数 (PBSのmppwidthに対応)
-N: 1ノードあたりに割り付けるMPIプロセス数 (PBSのmppnppnに対応)
-d: 1MPIプロセス内のスレッド数 (PBSのmppdepthに対応)



MPI/OpenMP ハイブリッド

#!/bin/csh
#PBS -l mppwidth=4 <-動作させるMPIプロセス数.2プロセスx2ノード=4. この場合2ノード利用
#PBS -l mppnppn=2 <-1ノード内で2プロセス.12スレッドx2プロセス=24で,ノード内の24コア全てを利用.
#PBS -l mppdepth=12 <-1CPU内の12コアを用いて12スレッドで動作

$PBS_O_WORKDIR <- 作業ディレクトリ(カレントディレクトリ)への移動

aprun -n 4 -N 2 -d 12 ./a.out

 

複数スクリプトの実行

XC30では2013/7より1ユーザが同時に投入しておけるジョブの数を制限することになりました.このため多くの実行ファイルを実行させたい場合は,ジョブスクリプトに複数の実行ファイルを記載しておく必要があります.

1つのジョブスクリプトの中で複数の実行ファイルを実行する場合の記述例は以下です.

*スクリプトの書き方によっては,各スクリプトの実行結果が上書きされる場合があります.実行結果の格納位置には十分気をつけてください.

#!/bin/csh
#PBS -q SMALL
#PBS -j oe
#PBS -l mppwidth=48 <-動作させるMPIプロセス数 <必須>
#PBS -l mppnppn=24   <-1ノードで動作させるプロセス数 <必須:最大24>
#PBS -l mppdepth=1 <-MPIプログラムでは1を指定

#PBS -N BATCH-JOB  <- ジョブ名の設定

cd /work/xxxxxxxx/job1
aprun -n 48 -N 24 -d 1  ./job1.exe

cd /work/xxxxxxxxx/job2
aprun -n 48 -N 24 -d 1  ./job2.exe

cd /work/xxxxxxxx/job3
aprun -n 48 -N 24 -d 1  ./job3.exe

申請キューとは

事前に申請して了承が得られれば,期間を限定して機器の全体または一部ノードを占有することができます.

機器を占有するための期間限定のキューを申請キューといいます.

申請キューの申請方法

  1. LONG-Lの申請の際には少なくとも実行したい日付の2週間前にmpc-adminに申請する。
  2. mpc-adminグループがLONG-Lの申請を受理した場合、ユーザーに占有する時間を告知し、そのスケジュールに合わせて情報社会基盤研究センターがキューにある新規ジョブの実行を停止する設定を行う。
  3. LONG-Lの申請者は実行中のジョブが終了しリソースが空いた時点でがジョブを投入する。
  4. LONG-Lの申請者は終了時間まで全てのジョブを終了させる。また、申請者は申請したことにより得られた成果を報告する.