Info
2024年10月31日をもって、ジョブサービスは終了しました。
ジョブ実行
ジョブサービス
ABCIシステムでは、以下のジョブサービスが利用可能です。
| サービス名 | 説明 | サービス課金係数 | 利用形態 |
|---|---|---|---|
| On-demand | インタラクティブジョブの実行サービス | 1.0 | インタラクティブジョブ |
| Spot | バッチジョブの実行サービス | 1.0 | バッチジョブ |
| Reserved | 事前予約型ジョブサービス | 1.5 | 事前予約 |
各ジョブサービスで利用可能なジョブ実行リソース、制限事項等については、ジョブ実行リソースを参照してください。また、課金については、課金を参照してください。
On-demandサービス
プログラムのコンパイルやデバッグ、対話的なアプリケーション、可視化ソフトウェアの実行に適したインタラクティブジョブの実行サービスです。
利用方法はインタラクティブジョブ、インタラクティブジョブの実行オプションの詳細はジョブ実行オプションをそれぞれ参照してください。
Spotサービス
対話的な処理の必要がないアプリケーションの実行に適したバッチジョブの実行サービスです。On-demandサービスに比べてより長時間のジョブや、より並列度の高いジョブの実行が可能です。
利用方法はバッチジョブ、バッチジョブの実行オプションの詳細はジョブ実行オプションをそれぞれ参照してください。
Reservedサービス
計算リソースを日単位で事前に予約して利用できるサービスです。On-demandおよびSpotサービスの混雑の影響を受けることなく、計画的なジョブ実行が可能となります。また、Spotサービスの経過時間制限以上の予約日数が取れるため、より長時間のジョブ実行が可能です。
Reservedサービスでは、まず事前予約を行って予約ID (AR-ID)を取得し、この予約IDを用いてインタラクティブジョブやバッチジョブの実行を行います。
予約方法は事前予約を参照してください。インタラクティブジョブやバッチジョブの利用方法、実行オプションはOn-demandおよびSpotサービスと共通です。
ジョブ実行リソース
ABCIシステムでは、計算リソースを論理的に分割した資源タイプを利用して、ジョブサービスにシステムリソースを割り当てます。On-demand、Spot、Reservedのいずれのサービスを利用する場合も、利用者は利用したい資源タイプとその数量を指定して、ジョブの投入/実行、計算ノードの予約を行います。
以下では、まず利用可能な資源タイプについて解説し、続いて同時に利用可能な資源量、経過時間およびノード時間積、ジョブ投入数および実行数に関する制限事項等を説明します。
利用可能な資源タイプ
ABCIシステムには、次の資源タイプが用意されています。
Note
メモリインテンシブノードのサービスは、2023年10月27日15:00 をもって終了しました。
計算ノード(V)
| 資源タイプ | 資源タイプ名 | 説明 | 割り当て物理CPUコア数 | 割り当てGPU数 | メモリ (GiB) | ローカルストレージ (GB) | 資源タイプ課金係数 |
|---|---|---|---|---|---|---|---|
| Full | rt_F | ノード占有 | 40 | 4 | 360 | 1440 | 1.20 |
| G.large | rt_G.large | ノード共有 GPU利用 |
20 | 4 | 240 | 720 | 1.08 |
| G.small | rt_G.small | ノード共有 GPU利用 |
5 | 1 | 60 | 180 | 0.36 |
| C.large | rt_C.large | ノード共有 CPUのみ利用 |
20 | 0 | 120 | 720 | 0.72 |
| C.small | rt_C.small | ノード共有 CPUのみ利用 |
5 | 0 | 30 | 180 | 0.24 |
計算ノード(A)
| 資源タイプ | 資源タイプ名 | 説明 | 割り当て物理CPUコア数 | 割り当てGPU数 | メモリ (GiB) | ローカルストレージ (GB) | 資源タイプ課金係数 |
|---|---|---|---|---|---|---|---|
| Full | rt_AF | ノード占有 | 72 | 8 | 480 | 34401 | 6.00 |
| AG.small | rt_AG.small | ノード共有 GPU利用 |
9 | 1 | 60 | 390 | 1.00 |
同時に利用可能なノード数
ジョブサービスごとに利用可能な資源タイプとノード数の組み合わせを以下に示します。同時に複数ノードを利用する場合は、資源タイプrt_Fもしくはrt_AFを指定する必要があります。
| サービス名 | 資源タイプ名 | ノード数 |
|---|---|---|
| On-demand | rt_F | 1-32 |
| rt_G.large | 1 | |
| rt_G.small | 1 | |
| rt_C.large | 1 | |
| rt_C.small | 1 | |
| rt_AF | 1-4 | |
| rt_AG.small | 1 | |
| Spot | rt_F | 1-512 |
| rt_G.large | 1 | |
| rt_G.small | 1 | |
| rt_C.large | 1 | |
| rt_C.small | 1 | |
| rt_AF | 1-64 | |
| rt_AG.small | 1 | |
| Reserved | rt_F | 1-予約ノード数 |
| rt_G.large | 1 | |
| rt_G.small | 1 | |
| rt_C.large | 1 | |
| rt_C.small | 1 | |
| rt_AF | 1-予約ノード数 | |
| rt_AG.small | 1 |
経過時間およびノード時間積の制限
ジョブサービス、資源タイプに応じて、ジョブの経過時間制限 (実行可能時間の制限) があります。上限値およびデフォルト値を以下に示します。
| サービス名 | 資源タイプ名 | 経過時間制限 (上限値/デフォルト) |
|---|---|---|
| On-demand | rt_F, rt_AF | 12:00:00/1:00:00 |
| rt_G.large, rt_C.large | 12:00:00/1:00:00 | |
| rt_G.small, rt_C.small, rt_AG.small | 12:00:00/1:00:00 | |
| Spot | rt_F | 168:00:00/1:00:00 |
| rt_AF | 72:00:00/1:00:00 | |
| rt_G.large | 168:00:00/1:00:00 | |
| rt_C.large | 72:00:00/1:00:00 | |
| rt_G.small, rt_C.small, rt_AG.small | 72:00:00/1:00:00 | |
| Reserved | rt_F, rt_AF | 無制限 |
| rt_G.large, rt_C.large | 無制限 | |
| rt_G.small, rt_C.small, rt_AG.small | 無制限 |
また、On-demandおよびSpotサービスで、複数ノードを使用するジョブを実行する場合には、ノード時間積(使用ノード数 × 実行時間)に以下の制限があります。
| サービス名 | ノード時間積の最大値 |
|---|---|
| On-demand | 12 nodes · hours |
| Spot(計算ノード(V)) | 43008 nodes · hours |
| Spot(計算ノード(A)) | 2304 nodes · hours |
Note
Reservedサービスでは経過時間に制限はありませんが、予約の終了と共にジョブは強制終了します。 Reservedサービスに関する制限の詳細については事前予約を参照してください。
ジョブ投入数および実行数の制限
1ユーザが同時に投入・実行できるジョブ数に以下の制限があります。 予約ノードに投入されたジョブもOn-demandやSpotのジョブと同様にジョブ数のカウントに含まれ、本制約を受けます。
| 制限項目 | 制限値 |
|---|---|
| 1ユーザあたりの同時投入可能ジョブ数 | 1000 |
| 1ユーザあたりの同時実行ジョブ数 | 200 |
| 1アレイジョブあたりの最大投入可能タスク数 | 75000 |
2023年度まで資源タイプごとのジョブ実行数に制限はなく、利用可能な計算リソースから順次割り当てていましたが、 2024年度以降、資源タイプごとにシステムあたりの同時実行ジョブ数に制限を設けます。 なお、対象となるジョブサービスはOn-demandサービスとSpotサービスとなります。 Reservedサービスで予約ノードに投入されたジョブはカウントに含まれません。
| 資源タイプ | システムあたりの同時実行ジョブ数の制限値 |
|---|---|
| rt_F | 918 |
| rt_G.large, rt_C.large | 170 |
| rt_G.small, rt_C.small | 680 |
| rt_AF | 115 |
| rt_AG.small | 40 |
実行優先度
各ジョブサービスでは、実行時にPOSIX優先度を指定できます。指定可能な優先度の値は以下のとおりです。
| サービス名 | 優先度 | 説明 | POSIX優先度課金係数 |
|---|---|---|---|
| On-demand | -450 | 既定 (変更不可) | 1.0 |
| Spot | -500 | 既定 | 1.0 |
| -400 | 優先実行 | 1.5 | |
| Reserved | -500 | 既定 (変更不可) | NA |
On-demandサービスでは、優先度は-450に固定されており変更できません。
Spotサービスでは、-400を指定することで他のジョブより優先的に実行できます。ただし、POSIX優先度課金係数に応じた課金が行われます。
Reservedサービスでは、インタラクティブジョブ、バッチジョブのいずれの場合も優先度は-500に固定されており変更できません。
ジョブ実行オプション
インタラクティブジョブの実行にはqrshコマンド、バッチジョブの実行にはqsubコマンドをそれぞれ使用します。
qrsh、qsubコマンドに共通する、主要なオプションを以下に示します。
| オプション | 説明 |
|---|---|
| -g group | ABCI利用グループをgroupで指定します。自分のABCIアカウントが所属しているABCIグループのみ指定できます。 |
| -l resource_type=num | 資源タイプresource_typeと、その個数numを指定します。本オプションは指定必須です。 |
| -l h_rt=[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 y | 標準エラー出力を標準出力にマージします。 |
| -m a | ジョブが実行中止された場合にメールを送信します。 |
| -m b | ジョブ実行開始時にメールを送信します。 |
| -m e | ジョブ実行終了時にメールを送信します。 |
| -t n[-m[:s]] | アレイジョブのタスクIDをn[-m[:s]]で指定します。nは開始番号、mは終了番号、sはステップサイズを表します。 |
| -hold_jid job_id | 依存関係にあるジョブIDをjob_idで指定します。指定された依存ジョブが終了するまでジョブは実行開始されません。qrshコマンドにて使用する場合、引数にコマンドを指定した場合のみ利用可能です。 |
| -ar ar_id | 予約した計算ノードを利用する際に予約ID(AR-ID)をar_idで指定します。 |
この他、拡張オプションとして以下のオプションが使用可能です。
| オプション | 説明 |
|---|---|
| -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の変更を参照。 |
| -l docker -l docker_images |
Dockerを利用するジョブの投入。詳細はDockerを参照。 |
| -l USE_EXTRA_NETWORK=1 | ジョブに割り当てる計算ノードが最小ホップ構成とならないことを許容する。 実行時間が短いジョブで本オプションを指定した場合、計算資源の空き状況によっては未指定時より早くジョブを開始できる場合があるが、通信性能が劣化する可能性がある。 |
| -v ALLOW_GROUP_QDEL=1 | ジョブ投入時に指定したABCIグループ内の他アカウントがこのジョブを削除することを許可する。 |
インタラクティブジョブ
インタラクティブジョブを実行するには、qrshコマンドを使用します。
$ qrsh -g group -l resource_type=num [options]
例) インタラクティブジョブを実行 (On-demandサービス)
[username@es1 ~]$ qrsh -g grpname -l rt_F=1 -l h_rt=1:00:00
[username@g0001 ~]$
Note
On-demandサービスでは、インタラクティブジョブ実行時にABCIポイントが不足している場合、ジョブの実行に失敗します。
X Window を利用するアプリケーションを実行するには、
まずインタラクティブノードへのログイン時に、X11転送を有効(-Xもしくは-Yオプションを指定)にします。
[yourpc ~]$ ssh -XC -p 10022 -l username localhost
次にインタラクティブジョブ実行時に、引数に-pty yes -display $DISPLAY -v TERM /bin/bashを指定します。
[username@es1 ~]$ qrsh -g grpname -l rt_F=1 -l h_rt=1:00:00 -pty yes -display $DISPLAY -v TERM /bin/bash
[username@g0001 ~]$ xterm <- Xアプリケーションを起動
バッチジョブ
ABCIシステムでバッチジョブを実行する場合、実行するプログラムとは別にジョブスクリプトを作成します。 ジョブスクリプトには利用する資源タイプ名、経過時間制限値などの資源などのジョブ実行オプションを記述した上で、 実行するコマンド列を記載します。
#!/bin/bash
#$ -l rt_F=1
#$ -l h_rt=1:23:45
#$ -j y
#$ -cwd
[Environment Modules の初期化]
[Environment Modules の設定]
[プログラムの実行]
例) CUDAを利用したプログラムを実行するジョブスクリプト例
#!/bin/bash
#$-l rt_F=1
#$-j y
#$-cwd
source /etc/profile.d/modules.sh
module load cuda/10.2/10.2.89
./a.out
バッチジョブの投入
バッチジョブを実行するには、qsubコマンドを使用します。
$ qsub -g group [options] script_name
例) ジョブスクリプトrun.shをバッチジョブとして投入 (Spotサービス)
[username@es1 ~]$ qsub -g grpname run.sh
Your job 12345 ("run.sh") has been submitted
Warning
-gオプションは、ジョブスクリプト内には指定できません。
Note
Spotサービスでは、バッチジョブ投入時にABCIポイントが不足している場合、バッチジョブの投入に失敗します。
ジョブ投入時のエラー
バッチジョブの投入に成功した場合、qsubコマンドの終了ステータスは0となります。
失敗した場合は0以外の値となり、エラーメッセージが出力されます。
以下はエラーメッセージの一部です。 こちらにないエラーについて確認したい場合は、ABCIサポートまでお問い合わせください。
| エラーメッセージ | 終了ステータス | 説明 |
|---|---|---|
| qsub: ERROR: error: ERROR! invalid option argument "XXX" | 255 | オプション指定に誤りがあります。ジョブ実行オプションを確認してください。 |
| Unable to run job: SIM0021: invalid option value: 'XXX' | 1 | オプションに指定した値に誤りがあります。ジョブ実行オプションを確認してください。 |
| Unable to run job: job rejected: the requested project "username" does not exist. | 1 | ABCIグループが指定されていません。-gオプションでABCIグループを指定してください。 |
| 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ポイントの使用状況を確認してください。 |
| Unable to run job: Resource type is not specified. Specify resource type with '-l' option. | 1 | 資源タイプと個数が指定されていません。ジョブ実行オプションを確認してください。 |
| Unable to run job: SIM4702: Specified resource(XXX) is over limitation(NNN). | 1 | 要求したリソースが制限を超過しています。制限値については同時に利用可能なノード数、経過時間およびノード時間積の制限を確認してください。 |
バッチジョブの状態の確認
バッチジョブを状態を確認するには、qstatコマンドを利用します。
$ qstat [options]
qstatコマンドの主要なオプションを以下に示します。
| オプション | 説明 |
|---|---|
| -r | ジョブのリソース情報を表示します。 |
| -j | ジョブに関する追加情報を表示します。 |
例)
[username@es1 ~]$ qstat
job-ID prior name user state submit/start at queue jclass slots ja-task-ID
------------------------------------------------------------------------------------------------------------------------------------------------
12345 0.25586 run.sh username r 06/27/2018 21:14:49 gpu@g0001 80
| 項目 | 説明 |
|---|---|
| job-ID | ジョブID |
| prior | ジョブ優先度 |
| name | ジョブ名 |
| user | ジョブのオーナー |
| state | ジョブ状態 (r: 実行中、qw: 待機中、d: 削除中、E: エラー状態) |
| submit/start at | ジョブ投入/開始時刻 |
| queue | キュー名 |
| jclass | ジョブクラス名 |
| slots | ジョブスロット数 (ノード数 x 80) |
| ja-task-ID | アレイジョブのタスクID |
バッチジョブの削除
バッチジョブを削除するには、qdelコマンドを利用します。
$ qdel job_id
例) バッチジョブを削除
[username@es1 ~]$ qstat
job-ID prior name user state submit/start at queue jclass slots ja-task-ID
------------------------------------------------------------------------------------------------------------------------------------------------
12345 0.25586 run.sh username r 06/27/2018 21:14:49 gpu@g0001 80
[username@es1 ~]$ qdel 12345
username has registered the job 12345 for deletion
ジョブ投入時に-v ALLOW_GROUP_QDEL=1オプションを指定すると、qsubコマンドの-g groupオプションで指定したABCIグループのアカウントがこのジョブを削除できるようになります。
許可されたジョブを他のアカウントが削除する場合、qdelコマンドに-g groupオプションを指定します。
[username@es1 ~]$ qdel -g group 12345
username has registered the job 12345 for deletion
| オプション | 説明 |
|---|---|
| -g group | ABCI利用グループをgroupで指定します。自分のABCIアカウントが所属しているABCIグループのみ指定できます。 |
バッチジョブの標準出力と標準エラー出力
バッチジョブの標準出力ファイルと標準エラー出力ファイルは、ジョブ実行ディレクトリもしくは、 ジョブ投入時に指定されたファイルに出力されます。 標準出力ファイルにはジョブ実行中の標準出力、標準エラー出力ファイルにはジョブ実行中のエラーメッセージが出力されます。 ジョブ投入時に、標準出力ファイル、標準エラー出力ファイルを指定しなかった場合は、以下のファイルに出力されます。
- JOB_NAME.oJOB_ID --- 標準出力ファイル
- JOB_NAME.eJOB_ID --- 標準エラー出力ファイル
例)ジョブ名がrun.sh、ジョブIDが12345の場合
- 標準出力ファイル名:run.sh.o12345
- 標準エラー出力ファイル名:run.sh.e12345
バッチジョブの統計情報出力
バッチジョブの統計情報を出力するには、qacctコマンドを利用します。
$ qacct [options]
qacctコマンドの主要なオプションを以下に示します。
| オプション | 説明 |
|---|---|
| -g group | groupのジョブに関する情報を表示します。 |
| -j job_id | job_idのジョブに関する情報を表示します。 |
| -t n[-m[:s]] | アレイジョブのタスクIDをn[-m[:s]]で指定します。指定されたタスクIDにマッチするジョブの情報のみ表示されます。本オプションは-jオプションを指定した場合のみ使用可能です。 |
例) バッチジョブの統計情報を参照
[username@es1 ~]$ qacct -j 12345
==============================================================
qname gpu
hostname g0001
group group
owner username
project group
department group
jobname run.sh
jobnumber 12345
taskid undefined
account username
priority 0
cwd NONE
submit_host es1.abci.local
submit_cmd /home/system/uge/latest/bin/lx-amd64/qsub -P username -l h_rt=600 -l rt_F=1
qsub_time 07/01/2018 11:55:14.706
start_time 07/01/2018 11:55:18.170
end_time 07/01/2018 11:55:18.190
granted_pe perack17
slots 80
failed 0
deleted_by NONE
exit_status 0
ru_wallclock 0.020
ru_utime 0.010
ru_stime 0.013
ru_maxrss 6480
ru_ixrss 0
ru_ismrss 0
ru_idrss 0
ru_isrss 0
ru_minflt 1407
ru_majflt 0
ru_nswap 0
ru_inblock 0
ru_oublock 8
ru_msgsnd 0
ru_msgrcv 0
ru_nsignals 0
ru_nvcsw 13
ru_nivcsw 1
wallclock 3.768
cpu 0.022
mem 0.000
io 0.000
iow 0.000
ioops 0
maxvmem 0.000
maxrss 0.000
maxpss 0.000
arid undefined
jc_name NONE
主な表示項目は以下の通りです。
その他項目の詳細はman sge_accountingを参照ください。
| 項目 | 説明 |
|---|---|
| jobnunmber | ジョブID |
| taskid | アレイジョブのタスクID |
| qsub_time | ジョブの実行投入時刻 |
| start_time | ジョブの実行開始時刻 |
| end_time | ジョブの実行終了時刻 |
| failed | ジョブスケジューラのジョブ終了コード |
| exit_status | ジョブの終了ステータス |
| wallclock | ジョブの実行時間(前後処理を含む) |
環境変数
ジョブ実行中に、ジョブスクリプトもしくはコマンドラインで利用できる環境変数は以下の通りです。
| 環境変数 | 説明 |
|---|---|
| ENVIRONMENT | ジョブの場合、"BATCH"が割り当てられる |
| JOB_ID | ジョブID |
| JOB_NAME | ジョブ名 |
| JOB_SCRIPT | ジョブスクリプト名 |
| NHOSTS | ジョブに割り当てられたホスト数 |
| PE_HOSTFILE | ジョブに割り当てられたホスト、スロット、キュー名が記載されたファイルへのパス |
| RESTARTED | ジョブが再実行された場合は1、それ以外は0 |
| SGE_ARDIR | Reservedサービスに割り当てられたローカルストレージへのパス |
| SGE_BEEONDDIR | BeeONDストレージ利用時に割り当てられたBeeONDストレージへのパス |
| SGE_JOB_HOSTLIST | ジョブに割り当てられたホストが記載されたファイルへのパス |
| SGE_LOCALDIR | ジョブに割り当てられたローカルストレージへのパス |
| SGE_O_WORKDIR | ジョブ投入時の作業ディレクトリへのパス |
| SGE_TASK_ID | アレイジョブのタスクID(アレイジョブでない場合は"undefined") |
| SGE_TASK_FIRST | アレイジョブの最初のタスクID |
| SGE_TASK_LAST | アレイジョブの最後のタスクID |
| SGE_TASK_STEPSIZE | アレイジョブのステップサイズ |
Warning
上記の環境変数については、ジョブスケジューラで予約された変数であり、ジョブスケジューラの動作に影響を与える可能性があるためジョブの中で変更しないようにしてください。
事前予約
Reservedサービスでは、計算ノードを事前に予約して計画的なジョブ実行が可能となります。
本サービスで予約可能なノード数およびノード時間積は、以下表の「1予約あたりの最大予約ノード数」、「1予約あたりの最大予約ノード時間積」が上限です。また、本サービスでは、利用者は予約ノード数を上限とするジョブしか実行できません。なお、システム全体で「システムあたりの最大同時予約可能ノード数」に上限があるため、「1予約あたりの最大予約ノード数」を下回る予約しかできない場合や、予約自体ができない場合があります。予約した計算ノードにて各資源タイプが利用可能です。
| 項目 | 計算ノード(V)向け説明 | 計算ノード(A)向け説明 |
|---|---|---|
| 最小予約日数 | 1日 | 1日 |
| 最大予約日数 | 30日 | 30日 |
| ABCIグループあたりの最大同時予約可能ノード数 | 272ノード | 30ノード |
| システムあたりの最大同時予約可能ノード数 | 476ノード | 30ノード |
| 1予約あたりの最大予約ノード数 | 272ノード | 30ノード |
| 1予約あたりの最大予約ノード時間積 | 45,696ノード時間積 | 6,912ノード時間積 |
| 予約受付開始時刻 | 30日前の午前10時 | 30日前の午前10時 |
| 予約受付締切時刻 | 予約開始前日の午後9時 | 予約開始前日の午後9時 |
| 予約取消受付期間 | 予約開始前日の午後9時 | 予約開始前日の午後9時 |
| 予約開始時刻 | 予約開始日の午前10時 | 予約開始日の午前10時 |
| 予約終了時刻 | 予約終了日の午前9時30分 | 予約終了日の午前9時30分 |
予約の実行
計算ノードを予約するには、ABCI利用者ポータルもしくはqrsubコマンドを使用します。
予約が完了すると、予約IDが発行されますので、予約した計算ノードを使用する際にこの予約IDを指定してください。
Warning
計算ノードの予約は、利用責任者もしくは利用管理者のみが実施できます。
$ qrsub options
| オプション | 説明 |
|---|---|
| -a YYYYMMDD | 予約開始日をYYYYMMDDで指定します。 |
| -d days | 予約日数をdaysで指定します。 -eオプションとは排他です。 |
| -e YYYYMMDD | 予約終了日をYYYYMMDD指定します。-dオプションとは排他です。 |
| -g group | ABCI利用グループをgroupで指定します。 |
| -N name | 予約名をnameで指定します。英数字と記号=+-_.が指定可能で、最大64文字まで指定できます。ただし、先頭の文字に数字を指定することはできません。 |
| -n nnnode | 予約するノード数をnnnodeで指定します。 |
| -l resource_type | 予約する資源タイプをresource_typeで指定します。 省略した場合は、rt_F が指定されたとみなします。 |
例) 2018年7月5日から1週間 (7日間) 計算ノード(V)4台を予約
[username@es1 ~]$ qrsub -a 20180705 -d 7 -g grpname -n 4 -N "Reserve_for_AI"
Your advance reservation 12345 has been granted
例) 2021年7月5日から1週間 (7日間) 計算ノード(A)4台を予約
[username@es1 ~]$ qrsub -a 20210705 -d 7 -g grpname -n 4 -N "Reserve_for_AI" -l rt_AF
Your advance reservation 12345 has been granted
計算ノードの予約が完了した時点でABCIポイントを消費します。 また、発行された予約IDは予約時に指定したABCIグループに所属するABCIアカウントでご利用いただけます。
Note
予約可能なノード数がqrsubコマンドで指定したノード数より少ない場合、以下のエラーメッセージを出力して予約取得に失敗します。
advance_reservation: no suitable queues
なお、qrstat --available コマンドで表示されるノード数には、現在実行中のジョブは加味されておりません。そのため、qrstat コマンドで「予約可能なノード数」が表示されていても、予約に失敗することがあります。
予約状態の確認
予約状態を確認するには、ABCI利用者ポータルもしくはqrstatコマンドを使用します。
例)
[username@es1 ~]$ qrstat
ar-id name owner state start at end at duration sr
----------------------------------------------------------------------------------------------------
12345 Reserve_fo root w 07/05/2018 10:00:00 07/12/2018 09:30:00 167:30:00 false
| 項目 | 説明 |
|---|---|
| ar-id | 予約ID (AR-ID) |
| name | 予約名 |
| owner | 常にrootと表示 |
| state | 予約状態 |
| start at | 予約開始日 (予約開始時刻は常に午前10時) |
| end at | 予約終了日 (予約終了時刻は常に午前9時30分) |
| duration | 予約期間 (hhh:mm:ss) |
| sr | 常にfalseと表示 |
システムあたりの予約可能ノード数を確認するには、ABCI利用者ポータルもしくはqrstatコマンドの--availableオプションを使用します。
計算ノード(V)の予約可能ノード数の確認
[username@es1 ~]$ qrstat --available
06/27/2018 441
07/05/2018 432
07/06/2018 434
計算ノード(A)の予約可能ノード数の確認
[username@es1 ~]$ qrstat --available -l rt_AF
06/27/2021 41
07/05/2021 32
07/06/2021 34
Note
計算ノードが予約されていない日付は表示されません。
予約の取り消し
Warning
予約の取り消しは利用責任者もしくは利用管理者のみが実施できます。
予約を取り消すには、ABCI利用者ポータルもしくはqrdelコマンドを使用します。qrdelコマンドでの予約取り消しは、「,(カンマ)」区切りのリストとして複数指定できます。指定したar_idの中に1つでも存在しない予約ID、もしくは削除権限のない予約IDが指定されている場合は、エラーとなり削除は実行されません。
例) 予約を取り消し
[username@es1 ~]$ qrdel 12345,12346
予約ノードの使い方
予約した計算ノードには、-arオプションにて予約IDを指定してジョブを投入します。
例) 予約ID12345で予約された計算ノードでインタラクティブジョブを実行
[username@es1 ~]$ qrsh -g grpname -ar 12345 -l rt_F=1 -l h_rt=1:00:00
[username@g0001 ~]$
例) ジョブスクリプトrun.shを予約ID12345で予約された計算ノードにバッチジョブとして投入
[username@es1 ~]$ qsub -g grpname -ar 12345 run.sh
Your job 12345 ("run.sh") has been submitted
Note
- 予約作成時に指定したABCIグループを指定する必要があります。
- バッチジョブは予約作成直後から投入できますが、予約開始時刻になるまで実行されません。
- 予約開始時刻前に投入したバッチジョブは
qdelコマンドで削除できます。 - 予約開始時刻前に予約を削除した場合、当該予約に投入されていたバッチジョブは削除されます。
- 予約終了時刻になると実行中のジョブは強制終了されます。
予約ノードご利用時の注意
予約は期間中の計算ノードの可用性を保証するものではありません。予約した計算ノードの利用中に一部が利用不可となることがありますので、以下の点をご確認ください。
- 予約した計算ノードの利用可否状態は、
qrstat -ar ar_idコマンドで確認できます。 - 予約開始前日に一部の予約ノードが利用不可と表示される場合は、予約の取り消し・再度予約をご検討ください。
- 予約期間中に計算ノードが利用不可となった場合などの時は、お問い合わせのページをご覧の上、qa@abci.ai までご連絡ください。
Note
- 予約の取り消しは予約開始前日の午後9時までになります。
- 計算ノードの空きが無い場合、予約の作成はできません。
- ハードウェア障害は適宜対応しております。予約開始前日より前の利用不可に対するお問い合わせはご遠慮願います。
- 予約している計算ノード数変更や予約期間の延長の依頼は対応不可になります。
例) g0001は利用可能、g0002は利用不可
[username@es1 ~]$ qrsub -a 20180705 -d 7 -g grpname -n 2 -N "Reserve_for_AI"
Your advance reservation 12345 has been granted
[username@es1 ~]$ qrstat -ar 12345
(snip)
message reserved queue gpu@g0002 is disabled
message reserved queue gpu@g0002 is unknown
granted_parallel_environment perack01
granted_slots_list gpu@g0001=80,gpu@g0002=80
課金
On-demandおよびSpotサービス
On-demandおよびSpotサービスでは、ジョブ実行開始時にジョブが使用予定のABCIポイントを経過時間制限値を元に計算し、減算処理を実施します。ジョブ実行終了時に実際の経過時間を元にABCIポイントを再計算し、返却処理を実施します。
サービスごとの使用ABCIポイントの計算式は以下の通りです。
サービス課金係数
× 資源タイプ課金係数
× POSIX 優先度課金係数
× 資源タイプ個数
× max(経過時間[秒], 最低経過時間[秒])
÷ 3600
Note
- 小数点5位以下は切り捨てられます。
- 最低経過時間より短い経過時間ジョブを実行した場合、ABCIポイントは最低経過時間を元に計算されます。
Reservedサービス
Reservedサービスでは、予約完了時に予約期間を元にABCIポイントを計算し、減算処理を実施します。予約の取り消しをしない限り、返却処理は実施されません。予約にて消費するポイントは、グループの利用責任者の消費ポイントとしてカウントされます。
サービスごとの使用ABCIポイントの計算式は以下の通りです。
Note
計算ノード(V)の予約は資源タイプrt_F、計算ノード(A)の予約は資源タイプrt_AFとして扱われます。
-
/local1 (1590 GB) と /local2 (1850 GB) の合算。 ↩