EIC TOP

バッチシステムの利用方法

  • eicシステムではUniva Grid Engine(UGE)というバッチスケジューラを利用して、バッチジョブを投入します。
  • 前システムとの主なコマンド対比
    新システム前システム
    ジョブの投入qsubbsub
    ジョブの監視qstatbjobs
    ジョブのキャンセルqdelbkill
    スクリプト指示行#$#BSUB

ジョブクラス設定

  • 使用するジョブのサイズ、時間に対してジョブクラス(キュー)が設定されています。 (※前システムで「キュー」と呼んでいたものは、今回のシステムでは「ジョブクラス」と称します。)
    ジョブ
    クラス
    実行時間メモリ制限最大メモリ並列度
    CPU数(コア数)
    同時実行数
    (最大コア数)
    備考
    A2時間(CPU時間)8GB8GB1(1)4フロントエンド
    B100時間64GB64GB1(8)4(32)高速計算サーバ
    C20時間256GB256GB4(32)3(96)高速計算サーバ
    D80時間256GB256GB4(32)1(32)高速計算サーバ
    E20時間512GB512GB8(64)2(128)高速計算サーバ
    F80時間512GB512GB8(64)1(64)高速計算サーバ
    G10時間2.2TB2.2TB36(432)2(864)並列計算サーバ
    H40時間2.2TB2.2TB36(432)1(432)並列計算サーバ
  • C,Dは高速計算サーバで4ソケット(32コア)を利用可能で、時間制限がそれぞれ、20時間、100時間となっています。E,Fも同様に8ソケット(64コア)で時間の長さが異なります。
  • G,Hは並列計算サーバでMPI、もしくはMPI・OpenMPハイブリッド計算を18ノード36ソケット(計432コア)のジョブを実行することができます。合計で2.2TBの制限ですが、並列計算サーバは分散メモリのため、もし、どこかのノードで使用できるメモリの125GBを超えますと、例えジョブ全体の合計が2.2TB以下であってもジョブがアボートします。
  • 高速計算サーバ(フロントエンドサーバ)と並列計算サーバは若干、投入方法が異なりますので、ご注意ください。

ジョブの実行

  • ジョブスクリプトを作成し、qsubコマンドで投入します。
  • 並列度1のシングルジョブはジョブクラスAに投入してください。また、長時間シングルジョブを流す場合は、ジョブクラスBに、#$ -ac n=8、#$ -ac P=1を指定して、投入してください。
    • 投入に必要な記述(ジョブクラスごとに違いますので、ご注意ください)
      AB~FG、H
      #$ -jc A
      #$ -ac n=1
      #$ -ac P=1
      #$ -cwd
      プログラム名
      #$ -jc ジョブクラス名
      #$ -ac n=(8.32,64のいずれか)
      #$ -ac P=並列度数(原則、nの値と同じ)
      #$ -cwd
      プログラム名
      #$ -jc ジョブクラス名
      #$ -ac n=432(原則432)
      #$ -ac P=24(原則24)
      #$ -ac T=OpenMPスレッド数(MPIジョブは1で固定)
      #$ -cwd
      プログラム名
      #$ -ac TはG、Hのみです。他のジョブクラスで指定しますと、正常にジョブが実行されません。

    • ジョブクラスAのスクリプト例
      以下のような内容のスクリプトファイルを作成します。
      #!/bin/csh
      #$ -jc A
      #$ -ac n=1
      #$ -ac P=1
      #$ -cwd
      ./a.out
    • ジョブクラスBのスクリプト例(シングルジョブ)
      (シングルジョブでも、n=8でお願いします。1ジョブが1ソケット8コアを確実に確保するためです。)
      #!/bin/csh
      #$ -jc B
      #$ -ac n=8
      #$ -ac P=1
      #$ -cwd
      ./a.out
    • ジョブクラスB~Hまでの並列計算のスクリプトは以下をご参考ください。
  • ジョブの投入
    qsubコマンドを利用して、スクリプトファイル(例ではsample.csh)を投入します。<(リダイレクション)は不要です。
     eic:~> qsub sample.csh
     Your job 307 ("sample.csh") has been submitted
    qstatコマンドで実行状態が確認できます。(一部省略しています。)
     eic:~> qstat
     job-ID     prior  name user   state submit/start           jclass  slots 
     --------------------------------------------------------------------------------
     307 0.55500 sample.csh testuser r     02/12/2015 17:48:10    A.default 32
  • 主な投入オプション(太字は必須です)
    #$ -ac n=432トータルコア数(全クラス必須)
    #$ -jc Gジョブクラス名(全クラス必須)
    #$ -cwd カレントディレクトリで実行(全クラス必須)
    #$ -ac P=24ノードあたりコア数(全クラス必須)
    #$ -ac T=1OpenMPスレッド数(G~Hクラス必須)
    #$ -o filename標準出力ファイル名を指定
    #$ -j y標準出力とエラー出力を統合
    #$ -m eジョブ終了時に指定メイルアドレスにメールを飛ばす
    #$ -M xxx@xxx.jpメイル送信先

ジョブの監視・停止

  • qstatコマンドで実行状態が確認できます。(一部省略しています。)
     eic:~> qstat
     job-ID     prior  name user   state submit/start           jclass  slots 
     --------------------------------------------------------------------------------
     307 0.55500 sample.csh testuser r     02/12/2015 17:48:10    A.default 32
    stateの項目がrであれば、実行中です。qwであればキュー待ちです。Eqwと表示されている場合は、ジョブの実行に失敗しています。スクリプトファイルなどを確認してください。
  • ジョブを停止、キャンセルするにはqdelコマンドにジョブIDを指定します。
     eic:~/UGE_TEST> qdel 307
     testuser has registered the job 307 for deletion
     eic:~/UGE_TEST> qstat
     eic:~/UGE_TEST>

標準出力について

  • UGEのジョブの標準出力はジョブを実行したディレクトリの「スクリプトファイル名.oジョブID」というファイルに保管されます。また、標準エラー出力は「スクリプトファイル名.eジョブID」です。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ