コンテンツにスキップ

ジョブ実行

ジョブサービス

システムHでは、以下のジョブサービスが利用可能です。

サービス名 説明 サービス課金係数 利用形態
On-demand インタラクティブジョブの実行サービス 1.0 インタラクティブジョブ
Spot バッチジョブの実行サービス 1.0 バッチジョブ
Reserved 事前予約型ジョブサービス 1.5 事前予約

各ジョブサービスで利用可能なジョブ実行リソース、制限事項等については、ジョブ実行リソースを参照してください。また、課金については、課金を参照してください。

On-demandサービス

プログラムのコンパイルやデバッグ、対話的なアプリケーション、可視化ソフトウェアの実行に適したインタラクティブジョブの実行サービスです。

利用方法はインタラクティブジョブ、インタラクティブジョブの実行オプションの詳細はジョブ実行オプションをそれぞれ参照してください。

Spotサービス

対話的な処理の必要がないアプリケーションの実行に適したバッチジョブの実行サービスです。On-demandサービスに比べてより長時間のジョブや、より並列度の高いジョブの実行が可能です。

利用方法はバッチジョブ、バッチジョブの実行オプションの詳細はジョブ実行オプションをそれぞれ参照してください。

Reservedサービス

計算リソースを日単位で事前に予約して利用できるサービスです。On-demandおよびSpotサービスの混雑の影響を受けることなく、計画的なジョブ実行が可能となります。また、Spotサービスの経過時間制限以上の予約日数が取れるため、より長時間のジョブ実行が可能です。

Reservedサービスでは、まず事前予約を行って予約IDを取得し、この予約IDを用いてインタラクティブジョブやバッチジョブの実行を行います。

予約方法は事前予約を参照してください。インタラクティブジョブやバッチジョブの利用方法、実行オプションはOn-demandおよびSpotサービスと共通です。

ジョブ実行リソース

システムHでは、計算リソースを論理的に分割した資源タイプを利用して、ジョブサービスにシステムリソースを割り当てます。On-demand、Spot、Reservedのいずれのサービスを利用する場合も、利用者は利用したい資源タイプとその数量を指定して、ジョブの投入/実行、計算ノードの予約を行います。

以下では、まず利用可能な資源タイプについて解説し、続いて同時に利用可能な資源量、経過時間およびノード時間積、ジョブ投入数および実行数に関する制限事項等を説明します。

利用可能な資源タイプ

システムHには、次の資源タイプが用意されています。

計算ノード(H)

Note

資源タイプ課金係数は未確定のため、暫定値を設定しています。 後日、確定値に修正します。

資源タイプ名 説明 割り当て論理CPUコア数 割り当てGPU数 メモリ (GiB) ローカルストレージ (GiB) 資源タイプ課金係数
rt_QF ノード占有 192 4 1000 70001 10
rt_QG ノード共有
GPU利用
32 1 200 1520 4
rt_QC ノード共有
CPU利用のみ
32 0 100 760 2
rt_QD ノード占有
Digital Annealer利用2
192 4 1000 7000 25
rt_QA ノード占有
Fixstars Amplify利用2
192 4 1000 7000 25
rt_QS ノード占有
SQBM+利用2
192 4 1000 7000 25

同時に利用可能なノード数

ジョブサービスごとに利用可能な資源タイプとノード数の組み合わせを以下に示します。同時に複数ノードを利用する場合は、資源タイプrt_QFを指定する必要があります。

サービス名 資源タイプ名 ノード数
On-demand rt_QF 1-8
rt_QG 1
rt_QC 1
rt_QD 1
rt_QA 1
rt_QS 1
Spot rt_QF 1-256
rt_QG 1
rt_QC 1
rt_QD 1
rt_QA 1
rt_QS 1
Reserved rt_QF 1-120
rt_QG 1
rt_QC 1
rt_QD -
rt_QA -
rt_QS -

経過時間およびノード時間積の制限

ジョブサービス、資源タイプに応じて、ジョブの経過時間制限 (実行可能時間の制限) があります。上限値およびデフォルト値を以下に示します。

サービス名 資源タイプ名 経過時間制限 (上限値/デフォルト)
On-demand rt_QF 12:00:00/1:00:00
rt_QG 72:00:00/1:00:00
rt_QC 12:00:00/1:00:00
rt_QD 4:00:00/1:00:00
rt_QA 4:00:00/1:00:00
rt_QS 4:00:00/1:00:00
Spot rt_QF 72:00:00/1:00:00
rt_QG 72:00:00/1:00:00
rt_QC 72:00:00/1:00:00
rt_QD 4:00:00/1:00:00
rt_QA 4:00:00/1:00:00
rt_QS 4:00:00/1:00:00
Reserved rt_QF 無制限
rt_QG 無制限
rt_QC 無制限

また、On-demandおよびSpotサービスで、複数ノードを使用するジョブを実行する場合には、ノード時間積(使用ノード数 × 実行時間)に以下の制限があります。

サービス名 ノード時間積の最大値
On-demand 12 nodes · hours
Spot 9216 nodes · hours

Note

Reservedサービスでは経過時間に制限はありませんが、予約の終了と共にジョブは強制終了します。 Reservedサービスに関する制限の詳細については事前予約を参照してください。

ジョブ投入数および実行数の制限

1ユーザが同時に投入・実行できるジョブ数に以下の制限があります。 予約ノードに投入されたジョブもOn-demandやSpotのジョブと同様にジョブ数のカウントに含まれ、本制約を受けます。

サービス名 資源タイプ名 1ユーザあたりの同時投入可能ジョブ数 ユーザあたりの同時実行ジョブ数
On-demand rt_QF 4 4
rt_QG 4 4
rt_QC 4 4
rt_QD 1 1
rt_QA 1 1
rt_QS 1 1
Spot rt_QF 500 100
rt_QG 500 100
rt_QC 500 100
rt_QD 10 1
rt_QA 10 1
rt_QS 10 1

実行優先度

各ジョブサービスでは、実行時にPOSIX優先度を指定できます。指定可能な優先度の値は以下のとおりです。

サービス名 優先度(デフォルト値) 説明 POSIX優先度課金係数
On-demand -(50) 変更不可 1.0
Spot 100(0) 1.5

Spotサービスでは、100を指定することで他のジョブより優先的に実行できます。ただし、POSIX優先度課金係数に応じた課金が行われます。

ジョブ実行オプション

インタラクティブジョブ(On-demand)、バッチジョブ(Spot)の実行には qsub コマンドを使用します。

qsub コマンドに関する主要なオプションを以下に示します。

オプション 説明
-W group_list=group システムH利用グループをgroupで指定します。自分のシステムHアカウントが所属しているシステムHグループのみ指定できます。本オプションは指定必須です。
-l resource_type=num[:mpiprocs=num] 資源タイプresource_typeと、その個数numを指定します。本オプションは指定必須です。MPIジョブ実行時に各資源タイプに割当てるプロセス数はmpiprocsで指定します。
-l walltime=[[HH:]MM:]SS 経過時間制限値を指定します。[[HH:]MM:]SSで指定することができます。ジョブの実行時間が指定した時間を超過した場合、ジョブは強制終了されます。
-N name ジョブ名をnameで指定します。デフォルトは、ジョブスクリプト名です。マルチバイト文字を使用することはできません。
-o stdout_name 標準出力名をstdout_nameで指定します。
-p priority SpotサービスでPOSIX優先度をpriorityで指定します。
-e stderr_name 標準エラー出力名をstderr_nameで指定します。
-j oe 標準エラー出力を標準出力にマージします。
-m a ジョブが実行中止された場合にメールを送信します。
-m b ジョブ実行開始時にメールを送信します。
-m e ジョブ実行終了時にメールを送信します。
-M mail_address[,mail_address...] メールを送信するアドレスを指定します。-mオプションを指定した場合は本オプションの指定が必須です。
-J n-m[:s]] アレイジョブのタスクIDをn-m[:s]]で指定します。nは開始番号、mは終了番号、sはステップサイズを表します。
-W depend=afterok:job_id
-W depend=afterany:job_id
依存関係にあるジョブIDをjob_idで指定します。指定された依存ジョブが終了するまでジョブは実行開始されません。afterokを指定した場合は依存ジョブが正常終了した際にジョブが実行され、依存ジョブが異常終了した場合hジョブが削除されます。afteranyを指定した場合は正常/異常に関わらず依存ジョブが終了した際にジョブが実行されます。
-q resv_queue 予約ジョブの投入時は、-qオプションで予約用のキューを指定します。

この他、拡張オプションとして以下のオプションが使用可能です。

オプション 説明
-l USE_SSH=1
-v SSH_PORT=port
-v ALLOW_GROUP_SSH=1
計算ノードへのSSHログインを有効にする。詳細は計算ノードへのSSHアクセスを参照。
-l USE_BEEOND=1
-v BEEOND_METADATA_SERVER=num
-v BEEOND_STORAGE_SERVER=num
BeeGFS On Demand (BeeOND)を利用するジョブの投入。詳細はBeeONDストレージ利用を参照。
-v GPU_COMPUTE_MODE=mode 計算ノードのGPU Compute Modeの変更。詳細はGPU Compute Modeの変更を参照。

インタラクティブジョブ

インタラクティブジョブを実行するには、qsubコマンドに -I オプションを付け加えます。

$ qsub -I -W group_list=grpname -l resource_type=num [options]

例) インタラクティブジョブを実行 (On-demandサービス)

[username@qes01 ~]$ qsub -I -W group_list=grpname -l rt_QF=1 -l walltime=1:00:00
[username@qh001 ~]$

Note

On-demandサービスでは、インタラクティブジョブ実行時にABCIポイントが不足している場合、ジョブの実行に失敗します。

バッチジョブ

システムHでバッチジョブを実行する場合、実行するプログラムとは別にジョブスクリプトを作成します。 ジョブスクリプトには利用する資源タイプ名、経過時間制限値などの資源などのジョブ実行オプションを記述した上で、 実行するコマンド列を記載します。

#!/bin/bash

#PBS -l rt_QF=1
#PBS -l walltime=1:23:45
#PBS -j oe
#PBS -W group_list=grpname

cd ${PBS_O_WORKDIR}

[Environment Modules の初期化]
[Environment Modules の設定]
[プログラムの実行]

例) CUDAを利用したプログラムを実行するジョブスクリプト例

#!/bin/bash

#PBS -l rt_QF=1
#PBS -l walltime=1:23:45
#PBS -j oe
#PBS -W group_list=grpname

cd ${PBS_O_WORKDIR}

source /etc/profile.d/modules.sh
module load cuda/12.6/12.6.2
./a.out

ジョブ操作

ジョブの投入

ジョブを実行するには、qsubコマンドを使用します。

$ qsub [options] script_name

例) ジョブスクリプトrun.shをバッチジョブとして投入 (Spotサービス)

[username@qes01 ~]$ qsub run.sh
12345.qjcm

Note

Spotサービスでは、バッチジョブ投入時にABCIポイントが不足している場合、バッチジョブの投入に失敗します。

ジョブ投入時のエラー

ジョブの投入に成功した場合、qsubコマンドの終了ステータスは0となります。 失敗した場合は0以外の値となり、エラーメッセージが出力されます。

以下はエラーメッセージの一部です。

エラーメッセージ 終了ステータス 説明
qsub: ERROR: error: ERROR! invalid option argument "XXX" 255 オプション指定に誤りがあります。ジョブ実行オプションを確認してください。
qsub: ERROR: SIM1001: Invalid option value: 'XXX' 1 オプションに指定した値に誤りがあります。ジョブ実行オプションを確認してください。
qsub: ERROR: SIM1300: Group list is not specified. Specify group list with '-W' option. 1 システムHグループが指定されていません。-WオプションでシステムHグループを指定してください。
Unable to run job: SIM4403: The amount of estimated consumed-point 'NNN' is over remaining point. Try 'show_point' for point information. 1 ABCIポイントが不足しています。ABCIポイントの確認を参照の上、ABCIポイントの使用状況を確認してください。
qsub: ERROR: SIM1200: Resource type is not specified. Specify resource type with '-l' option. 1 資源タイプと個数が指定されていません。ジョブ実行オプションを確認してください。
qsub: ERROR: SIM1202: 'XXX=NUM' is over the limit on resource type 'XXX'. 1 要求したリソースが制限を超過しています。制限値については同時に利用可能なノード数経過時間およびノード時間積の制限を確認してください。

ジョブの状態の確認

ジョブを状態を確認するには、qstatコマンドを利用します。

$ qstat [options]

qstatコマンドの主要なオプションを以下に示します。

オプション 説明
-f ジョブに関する追加情報を表示します。

例)

[username@qes01 ~]$ qstat
Job id            Name             User              Time Use S Queue
----------------  ---------------- ----------------  -------- - -----
12345.qjcm        run.sh           username                 0 R abciq
項目 説明
Job id ジョブID
Name ジョブ名
User ジョブのオーナー
Time Use ジョブの実行経過時間
S ジョブ状態 (R: 実行中、Q: 待機中、F: 完了、S: 一時停止、E: 終了中)
Queue キュー名

ジョブの削除

ジョブを削除するには、qdelコマンドを利用します。

$ qdel job_id

例) ジョブを削除

[username@qes01 ~]$ qstat
Job id            Name             User              Time Use S Queue
----------------  ---------------- ----------------  -------- - -----
12345.qjcm        run.sh           username          00:01:23 R abciq
[username@qes01 ~]$ qdel 12345
[username@qes01 ~]$

ジョブの標準出力と標準エラー出力

ジョブの標準出力ファイルと標準エラー出力ファイルは、ジョブ実行ディレクトリもしくは、 ジョブ投入時に指定されたファイルに出力されます。 標準出力ファイルにはジョブ実行中の標準出力、標準エラー出力ファイルにはジョブ実行中のエラーメッセージが出力されます。 ジョブ投入時に、標準出力ファイル、標準エラー出力ファイルを指定しなかった場合は、以下のファイルに出力されます。

  • JOB_NAME.oJOB_ID --- 標準出力ファイル
  • JOB_NAME.eJOB_ID --- 標準エラー出力ファイル

例)ジョブ名がrun.sh、ジョブIDが12345の場合

  • 標準出力ファイル名:run.sh.o12345
  • 標準エラー出力ファイル名:run.sh.e12345

環境変数

ジョブ実行中に、ジョブスクリプトもしくはコマンドラインで利用できる環境変数は以下の通りです。

環境変数 説明
PBS_ENVIRONMENT バッチジョブの場合は"PBS_BATCH"が、インタラクティブジョブの場合は"PBS_INTERACTIVE"割り当てられる
PBS_JOBID ジョブID
PBS_JOBNAME ジョブ名
PBS_NODEFILE ジョブに割り当てられたホスト名が記載されたファイルへのパス
PBS_RESVDIR Reservedサービスに割り当てられたローカルストレージへのパス
PBS_BEEONDDIR BeeONDストレージ利用時に割り当てられたBeeONDストレージへのパス
PBS_LOCALDIR ジョブに割り当てられたローカルストレージへのパス
PBS_O_WORKDIR ジョブ投入時の作業ディレクトリへのパス
PBS_ARRAY_ID アレイジョブのアレイID(アレイジョブでない場合は未定義)
PBS_ARRAY_INDEX アレイジョブのアレイ番号

Warning

上記の環境変数については、ジョブスケジューラで予約された変数であり、ジョブスケジューラの動作に影響を与える可能性があるためジョブの中で変更しないようにしてください。

事前予約

Reservedサービスでは、計算ノードを事前に予約して計画的なジョブ実行が可能となります。

本サービスで予約可能なノード数およびノード時間積は、以下表の「1予約あたりの最大予約ノード数」、「1予約あたりの最大予約ノード時間積」が上限です。 また、本サービスでは、利用者は予約ノード数を上限とするジョブしか実行できません。 なお、システム全体で「システムあたりの最大同時予約可能ノード数」に上限があるため、「1予約あたりの最大予約ノード数」を下回る予約しかできない場合や、予約自体ができない場合があります。 予約した計算ノードにて各資源タイプが利用可能です。

項目 設定値
予約期間単位 1日
最小予約日数 1日
最大予約日数 30日
システムHグループあたりの最大同時予約可能ノード数 120ノード
システムあたりの最大同時予約可能ノード数 120ノード
1予約あたりの最小予約可能ノード数 1ノード
1予約あたりの最大予約可能ノード数 120ノード
1予約あたりの最大予約ノード時間積 20,160 nodes・h (120ノード x 7日 x 24時間)
予約受付開始時刻 30日前の午前10時
予約受付締切時刻 予約開始前日の午後9時
予約取消受付期間 予約受付後~予約開始前日の午後9時
予約開始時刻 予約開始日の午前10時
予約終了時刻 予約終了日の午前9時30分

予約の実行

計算ノードを予約するには、ABCI-Q利用者ポータルもしくはpbs_rsubコマンドを使用します。 予約が完了すると、予約用のキューが発行されますので、予約した計算ノードを使用する際にこの予約用のキューを指定してください。

Warning

計算ノードの予約は、利用責任者もしくは利用管理者のみが実施できます。

$ pbs_rsub options

オプション 説明
-a YYYYMMDD 予約開始日をYYYYMMDDで指定します。
-d days 予約日数をdaysで指定します。
-g group システムH利用グループをgroupで指定します。
-N name 予約名をnameで指定します。英数字と記号+-_.が指定可能で、最大230文字まで指定できます。
-n numnodes 予約するノード数をnumnodesで指定します。
-m a 予約が中止された場合にメールを送信します。
-m b 予約開始時にメールを送信します。
-m e 予約終了時にメールを送信します。
-M mail_address[,mail_address...] メールを送信するアドレスを指定します。-mオプションを指定した場合は本オプションの指定が必須です。

例) 2025年7月5日から1週間 (7日間) 計算ノード4台を予約

[username@qes01 ~]$ pbs_rsub -a 20250705 -d 7 -g grpname -n 4 -N "Reserve_for_AI"
R12345.qjcm UNCONFIRMED

計算ノードの予約が完了した時点でABCIポイントを消費します。 また、発行された予約IDは予約時に指定したシステムHグループに所属するABCIアカウントでご利用いただけます。

Note

予約可能なノード数がpbs_rsubコマンドで指定したノード数より少ない場合、以下のエラーメッセージを出力して予約取得に失敗します。

Number of reserved nodes(NNN) exceeds the maximum value on YYYYmmdd. Number of available nodes on YYYYmmdd is MMM.

予約状態の確認

予約状態を確認するには、ABCI-Q利用者ポータルもしくはpbs_rstatコマンドを使用します。

例)

[username@qes01 ~]$ pbs_rstat
Resv ID     Queue  User     State Start / Duration / End
---------------------------------------------------------------------
R12345.qjcm R12345 username CO    Sat Jul 01 2025 1 / 604800 / Thu Jan 02 2025 0
項目 説明
Resv ID 予約ID (Resv ID)
User 予約のオーナー
Queue 予約用のキュー名
State (CO: 予約確定, RN: 予約実行中)
Start 予約開始日 (予約開始時刻は常に午前10時)
Duration 予約期間 (秒)
End 予約終了日 (予約終了時刻は常に午前9時30分)

システムあたりの予約可能ノード数を確認するには、ABCI-Q利用者ポータルもしくはpbs_rstatコマンドの--availableオプションを使用します。

計算ノードの予約可能ノード数の確認

[username@qes01 ~]$ pbs_rstat --available
06/27/2025  120
07/05/2025  120
07/06/2025  120

Note

計算ノードが予約されていない日付は表示されません。

予約の取り消し

Warning

予約の取り消しは利用責任者もしくは利用管理者のみが実施できます。

予約を取り消すには、ABCI-Q利用者ポータルもしくはpbs_rdelコマンドを使用します。pbs_rdelコマンドでの予約取り消しは、「,(カンマ)」区切りのリストとして複数指定できます。指定したar_idの中に1つでも存在しない予約ID、もしくは削除権限のない予約IDが指定されている場合は、エラーとなり削除は実行されません。

例) 予約を取り消し

[username@qes01 ~]$ pbs_rdel R12345,R12346

予約ノードの使い方

予約した計算ノードには、-qオプションにて予約キューを指定してジョブを投入します。

例) 予約IDR12345.qjcm(予約キューR12345)で予約された計算ノードでインタラクティブジョブを実行

[username@qes01 ~]$ qsub -q R12345 -W group_list=grpname -l rt_QF=1 -l
[username@qh001 ~]$

例) ジョブスクリプトrun.shを予約IDR12345.qjcm(予約キューR12345)で予約された計算ノードにバッチジョブとして投入

[username@qes01 ~]$ qsub -q R12345 run.sh
12346.qjcm

Note

  • 予約作成時に指定したシステムHグループを指定する必要があります。
  • バッチジョブは予約作成直後から投入できますが、予約開始時刻になるまで実行されません。
  • 予約開始時刻前に投入したバッチジョブはqdelコマンドで削除できます。
  • 予約開始時刻前に予約を削除した場合、当該予約に投入されていたバッチジョブは削除されます。
  • 予約終了時刻になると実行中のジョブは強制終了されます。

予約ノードご利用時の注意

予約は期間中の計算ノードの可用性を保証するものではありません。予約した計算ノードの利用中に一部が利用不可となることがありますので、以下の点をご確認ください。

  • 予約した計算ノードの利用可否状態は、pbs_rstat -f Resv ID コマンドで確認できます。
  • 予約開始前日に一部の予約ノードが利用不可と表示される場合は、予約の取り消し・再度予約をご検討ください。
  • 予約期間中に計算ノードが利用不可となった場合などの時は、お問い合わせください。

Note

  • 予約の取り消しは予約開始前日の午後9時までになります。
  • 計算ノードの空きが無い場合、予約の作成はできません。
  • ハードウェア障害は適宜対応しております。予約開始前日より前の利用不可に対するお問い合わせはご遠慮願います。
  • 予約している計算ノード数変更や予約期間の延長の依頼は対応不可になります。

課金

On-demandおよびSpotサービス

On-demandおよびSpotサービスでは、ジョブ実行開始時にジョブが使用予定のABCIポイントを経過時間制限値を元に計算し、減算処理を実施します。ジョブ実行終了時に実際の経過時間を元にABCIポイントを再計算し、返却処理を実施します。

サービスごとの使用ABCIポイントの計算式は以下の通りです。

サービス課金係数 × 資源タイプ課金係数 × POSIX 優先度課金係数 × 資源タイプ個数 × max(経過時間[秒], 最低経過時間[秒]) ÷ 3600

Note

  • 小数点5位以下は切り捨てられます。
  • 最低経過時間より短い経過時間ジョブを実行した場合、ABCIポイントは最低経過時間を元に計算されます。

Reservedサービス

Reservedサービスでは、予約完了時に予約期間を元にABCIポイントを計算し、減算処理を実施します。予約の取り消しをしない限り、返却処理は実施されません。予約にて消費するポイントは、グループの利用責任者の消費ポイントとしてカウントされます。

サービスごとの使用ABCIポイントの計算式は以下の通りです。

サービス課金係数 × 資源タイプ課金係数 × 予約ノード数 × 予約日数 × 24


  1. /local1 (3500 GiB) と /local2 (3500 GiB) の合算 

  2. 利用許可されたグループのみ