サイトポリシー サイトマップ
2017 年 11 月 25 日

アドバンスドリザベーション コマンド利用方法について

 

アドバンスドリザベーションサービスを使用するには、以下のコマンドを使用して、
計算資源の予約枠の取得および削除を行ってください。
なお、本サービスを使用するには、事前に利用申請書および利用計画書の提出が必要です。

・QRSUB:計算資源の予約枠の取得時に使用
      QRSUBコマンド内では、qrsubコマンドを呼び出して実行しています。
      QRSUBコマンドを使用せずに、qrsubコマンド使用して取得した予約枠は削除されますので、ご注意ください。
      また、取得した予約枠の終了時刻を過ぎた時点で実行中のジョブは強制終了されますので、ご注意ください。
・QRDEL:計算資源の予約枠の削除時に使用
      QRDELコマンド内では、qrdelコマンドを呼び出して実行しています。
      QRDELコマンドを使用せずに、qrdelコマンドを使用して削除した予約枠は削除されませんので、ご注意ください。

*QRSUBコマンドおよびQRDELコマンドのオプションは、それぞれqrsubコマンド、qrdelコマンドのオプションが使用可能です。
 各コマンドのオプションについては、Univa Grid Engine 8.4.0 ユーザーズマニュアル(英語のみ)を参照してください。

*アドバンスドリザベーションサービスを使用しているユーザも、アドバンスドリザベーションサービスを使用していないユーザと同様に、
 計算資源の予約枠を取得せずにqsubコマンドでジョブを投入することは可能です。

 

アドバンスドリザベーションサービス使用手順

アドバンスドリザベーションサービスを使用する場合は、以下の手順で実施してください。

 アドバンスドリザベーションサービスを使用するには、事前に利用申請書および利用計画書の提出が必要です。
 計算資源の予約枠の取得はQRSUBコマンドで実施します。
 取得した計算資源の予約枠の確認はqrstatコマンドで実施します。
 計算資源の予約枠の取得後のジョブ実行は、qsubコマンドに-arオプションでar-id(予約番号)を指定して実施します。
 取得した計算資源の予約枠の削除はQRDELコマンドで実施します。
 
課金対象期間について
・計算資源の予約枠を取得し、予約枠の開始時刻から、終了時刻まで使用した場合
 計算資源の予約枠の開始時刻から終了時刻まで、すべてが課金対象となります。
 
・計算資源の予約枠を取得し、予約枠の開始時刻前までに予約枠の削除を実施した場合
 計算資源の予約枠は無効となり、課金対象外となります。
 
・計算資源の予約枠を取得し、予約枠の開始時刻後、終了時刻前までに予約枠の削除を行った場合
 計算資源の予約枠の開始時刻から予約枠の削除を実施した時刻までが課金対象となります。
 
・計算資源の予約枠を取得し、予約枠の開始時刻後、終了時刻まで使用せず、予約枠の削除も実施しなかった場合
 計算資源の予約枠の開始時刻から終了時刻まで、すべてが課金対象となります。
 
 

アドバンスドリザベーションサービス使用手順の詳細について

①利用申請書および利用計画書の提出

アドバンスドリザベーションサービスを使用する場合は、計算ノードの優先利用を参照し、
利用申請書および利用計画書を提出してください。
 

 

②計算資源の予約枠の取得

計算資源の予約枠を取得するには、QRSUBコマンドを実行してください。
(QRSUBコマンド内では、qrsubコマンドを呼び出して実行しています。)
予約枠取得の際には、使用期間(開始日時、終了日時)の指定が必要です。
また、必要に応じてキュー名、メモリ量、スロット数などを指定してください。
キュー名、メモリ量、スロット数は省略した場合、デフォルト値が指定されたものとみなされます。
ジョブのプライオリティとしては、実行中のジョブ、QRSUBで取得した計算資源の予約枠、qsubで投入したwait中のジョブの順となります。
そのため、実行中のジョブによりリソースに空きがなくQRSUBで計算資源の予約枠の取得ができないことがあります。
その場合は、確保する日時をさらに未来の日時にずらしていただき、再度QRSUBコマンドを実施していただくようお願いいたします。
なお、全ユーザの計算資源の予約枠の取得状況は、全ユーザの予約枠取得状況確認方法を参照してください。
 
実行例①
month_medium.qを1ノードで、メモリ量4GB、スロット数3、使用期間2020年4月2日13時15分から2020年5月4日10時00分までの
予約枠を取得する場合
この場合に確保されるメモリ量は12GB(メモリ4GB×3スロット)となり、計算資源の予約枠を取得する際は
その分の空き容量が必要となります。
QRSUB -l medium -l mem_req=4G -l s_vmem=4G -pe def_slot 3 -a 202004021315 -e 202005041000
・-l medium:month_medium.qを指定
・-l mem_req=4G -l s_vmem=4G:メモリ量4Gを指定
・-pe def_slot 3:スロット数3を指定(要求スロット数は1ノードで確保される) 
・-a 202004021315:使用開始時刻2020年4月2日13時15分を指定
・-e 202005041000:使用終了時刻2020年5月4日10時00分を指定
 
実行例②
month_hdd.qを複数ノードに跨るmpiジョブ(並列数は2~10)で、使用期間10月10日00時00分から10月20日7時5分までの予約枠を取得する場合
この場合に確保される最大メモリ量は、Phase1は40GB(メモリ4GB×10スロット)、Phase2は31GB(メモリ3.1GB×10スロット)となり、
計算資源の予約枠を取得する際はその分の空き容量が必要となります。
QRSUB -pe mpi 2-10 -a 10100000 -e 10200705
・-pe mpi 2-10:mpiジョブで最小並列数2、最大並列数10を指定(要求スロット数は複数ノードに跨り確保される) 
・-a 10100000:使用開始時刻10月10日00時00分を指定
・-e 10200705:使用終了時刻10月20日7時5分を指定
*メモリ量は指定されていないので、デフォルト値が指定されたとみなされます。
 
実行結果

【QRSUBコマンドが正常終了した場合】

QRSUBコマンドが正常終了した場合は、以下のメッセージが出力され、ar-id(4桁の予約番号)が発行されます。
Your advance reservation XXXX has been granted
XXXX:ar-id(予約番号)
 

【QRSUBコマンドが正常終了しない場合】

QRSUBコマンドが正常終了しなかった場合は、指定オプションを見直し、再度実行してください。
QRSUBコマンドが正常終了しない(予約が取れない)主な原因は以下の通りです。
・取得しようとした予約枠のリソースが他の予約で上限に達している
・QRSUBコマンドのオペレーションミス
・その他のエラー
 

【出力される主なエラーメッセージ】

・予約枠のリソースが上限に達している場合
Resource reservation limit has been exceeded.
・メモリ量の指定に誤りがある場合
Please correctly specify the amount of memory.
Please specify the same value for mem_req and s_vmem.
・-peオプションを2つ以上指定した場合
Multiple -pe options can not be specified.
・指定したオプションに誤りがある場合
error: ERROR! invalid option argument!
・適用するキューがない場合 / 実行中のジョブによりリソースに空きがない場合
advance_reservation: no suitable queues
 

QRSUBの主なオプション

オプション用途指定方法デフォルト値
-l queue_name queue_nameに指定したキューに対して予約枠を取得します。
(予約可能なキューはアドバンスドリザベーション対象キューを参照してください。)
-l fat または -l month -l fat:month_fat.qを予約 month_hdd.q
-l gpu または -l month -l gpu:month_gpu.qを予約
-l phi または -l month -l phi:month_phi.qを予約
-l medium または -l month -l medium:month_medium.qを予約
-l ssd または -l month -l ssd:month_ssd.qを予約
指定なし または -l month:month_hdd.qを予約
-l mem_req=XX XXに指定したメモリ量を確保します。 XXに確保するメモリ量を指定します。
(指定できる最大値はアドバンスドリザベーション対象キューを参照してください。)
指定する際は単位を指定してください。
指定できる単位は、K、M、Gです。
なお、本オプションを指定する場合は、
-l s_vmemオプションも合わせて指定してください。
(mem_reqとs_vmemは同じ値を指定してください。)
Phase1:4G
Phase2:3.1G
-l s_vmem=XX XXに指定したメモリ量を確保します。 XXに確保するメモリ量を指定します。
(指定できる最大値はアドバンスドリザベーション対象キューを参照してください。)
指定する際は単位を指定してください。
指定できる単位は、K、M、Gです。
なお、本オプションを指定する場合は、
-l mem_reqオプションも合わせて指定してください。
(s_vmemとmem_reqは同じ値を指定してください。)
Phase1:4G
Phase2:3.1G
-pe def_slot N Nに指定したジョブスロット数を確保します。 Nに確保するジョブスロット数を指定します。
なお、本オプションは、-pe mpiオプションおよび、-pe mpi-fillupオプションとは同時に指定できません。
(指定できる最大値はアドバンスドリザベーション対象キューを参照してください。)
Phase1:1
Phase2:1
-pe mpi N1-N2 並列ジョブを可能な限り多くのホストを利用して実行する場合に指定します。
N1-N2に指定した並列数(ジョブスロット数)を確保します。
N1N2に以下の値を指定します。
N1:確保する最小並列数
N2:確保する最大並列数
なお、本オプションは、-pe def_slotオプションおよび、-pe mpi-fillupオプションとは同時に指定できません。
(指定できる最大値はアドバンスドリザベーション対象キューを参照してください。)
Phase1:1
Phase2:1
-pe mpi-fillup N1-N2 並列ジョブを可能な限り同一のホストで実行する場合に指定します。
N1-N2に指定した並列数(ジョブスロット数)を確保します。
N1N2に以下の値を指定します。
N1:確保する最小並列数
N2:確保する最大並列数
なお、本オプションは、-pe def_slotオプションおよび、-pe mpiオプションとは同時に指定できません。
(指定できる最大値はアドバンスドリザベーション対象キューを参照してください。)
Phase1:1
Phase2:1
-a start-time 予約開始時刻を指定します。 start-timeを以下の形式で指定します。(*)
・CCYYMMDDhhmm.SS
・CCYYMMDDhhmm
・YYMMDDhhmm.SS
・YYMMDDhhmm
・MMDDhhmm.SS
・MMDDhhmm
-e end-time 予約終了時刻を指定します。 end-timeを以下の形式で指定します。(*)
・CCYYMMDDhhmm.SS
・CCYYMMDDhhmm
・YYMMDDhhmm.SS
・YYMMDDhhmm
・MMDDhhmm.SS
・MMDDhhmm
 *CC:西暦の上2桁 YY:西暦の下2桁 MM:月 DD:日 hh:時 mm:分 SS:秒
 
アドバンスドリザベーション対象キュー
 Phase1
キュー名ジョブスロット数(*1)メモリ量(*1*2)キュー指定のオプション
month_fat.q 384 5120GB -l fat または -l month -l fat
month_gpu.q 124 992GB -l gpu または -l month -l gpu
month_hdd.q 416 1664GB 指定なし または -l month(デフォルト)
*1:ジョブスロット数、メモリ量は同一時刻に確保できる最大値です。
*2:1スロットあたりのメモリ量は64GBです。
 
Phase2
キュー名ジョブスロット数(*1)メモリ量(*1*2)キュー指定のオプション
month_medium.q 320 8192GB -l medium または -l month -l medium
month_gpu.q 155 992GB -l gpu または -l month -l gpu
month_phi.q 300 960GB -l phi または -l month -l phi
month_hdd.q 430 1376GB 指定なし または -l month(デフォルト)
month_ssd.q 320 1024GB -l ssd または -l month -l ssd
*1:ジョブスロット数、メモリ量は同一時刻に確保できる最大値です。
*2:1スロットあたりのメモリ量は64GBです。
 

全ユーザの予約枠取得状況確認方法

全ユーザの予約枠の取得状況を確認するには以下のコマンドを実行してください。
 
確認方法①
全ユーザの計算資源の予約枠取得状況の一覧を表示させる場合
qrstat -u '*'
 実行結果①
ar-id      name       owner        state start at             end at               duration
------------------------------------------------------------------------------------------
      0001            test-user   w     10/10/2017 00:00:00  10/20/2017 07:05:00  247:05:00
      0002            test-user   r     01/10/2017 00:00:00  10/20/2017 00:00:00  6792:00:00
      0003            test-user1  w     01/01/2018 00:00:00  01/02/2018 00:00:00  24:00:00
ar-id:予約番号
state:予約枠の状態
    (w:エラーなしで待機中、W:警告(エラー付きで待機中)、r:実行中、E:エラー(エラー状態で実行中)
start at:予約枠開始時刻
end at:予約枠終了時刻
duration:予約時間
 
確認方法②
全ユーザの計算資源の予約枠取得状況の詳細を表示させる場合
qrstat -ar ar-id[,ar-id,ar-id・・・・]
ar-id:予約番号
   複数の計算資源の予約枠の取得状況を確認する場合は、予約番号をカンマ(,)で区切って指定する。
 
実行結果②
--------------------------------------------------------------------------------
id                             0001
name
owner                          test-user
state                          w
start_time                     10/10/2017 00:00:00.000
end_time                       10/20/2017 07:05:00.000
duration                       247:05:00.000
project
message                        XXXXXXXXXX
submission_time                03/22/2017 14:56:47.314
group                          test
account                        sge
resource_list                  month=TRUE, medium=TRUE, mem_req=3.1G, s_vmem=3.1G
free_resources                 false
reserve_available_only         true
granted_slots_list             month_medium.q@nm5i=1,month_medium.q@nm6i=1,month_medium.q@nm7i=1
granted_parallel_environment   mpi slots 2-3
--------------------------------------------------------------------------------
id                             0002
name
owner                          test-user
state                          r
start_time                     01/10/2017 00:00:00.000
end_time                       01/20/2017 00:00:00.000
duration                       6792:05:00.000
project
message                        XXXXXXXXXX
submission_time                01/05/2017 13:23:20.001
group                          test
account                        sge
resource_list                  mem_req=3.1G, s_vmem=3.1G
free_resources                 false
reserve_available_only         true
granted_slots_list             month_hdd.q@nt013i=1
--------------------------------------------------------------------------------
id                             0003
name
owner                          test-user1
state                          w
start_time                     01/01/2018 00:00:00.000
end_time                       01/02/2018 00:00:00.000
duration                       24:00:00.000
project
message                        XXXXXXXXXX
submission_time                04/03/2017 10:50:10.285
group                          test
account                        sge
resource_list                  mem_req=10G, s_vmem=10G
free_resources                 false
reserve_available_only         true
granted_slots_list             month_ssd.q@nt060i=3
granted_parallel_environment   def_slot slots
 id:ar-id(予約番号)
state:予約枠の状態
    (w:エラーなしで待機中、W:警告(エラー付きで待機中)、r:実行中、E:エラー(エラー状態で実行中)
start_time:予約枠開始時刻
end_time:予約枠終了時刻
duration:予約時間
message:エラーメッセージ(steteがWおよびEの場合のみ表示される)
resource_list :予約取得キュー名、メモリ量など
granted_slots_list:予約済みのキュー名、ノード名およびスロット数
granted_parallel_environment:スロット数(-peオプション指定時のみ表示される)
  

 

③計算資源の予約枠の確認

qrstatコマンドを実行し、計算資源の予約枠の確認を行ってください。
 
確認方法①
計算資源の予約枠の一覧を表示させる場合
qrstat
実行結果①
ar-id      name       owner        state start at             end at               duration
------------------------------------------------------------------------------------------
      0001            test-user    w     10/10/2017 00:00:00  10/20/2017 07:05:00  247:05:00
      0002            test-user    r     01/10/2017 00:00:00  10/20/2017 00:00:00  6792:05:00
ar-id:予約番号
state:予約枠の状態
    (w:エラーなしで待機中、W:警告(エラー付きで待機中)、r:実行中、E:エラー(エラー状態で実行中)
start at:予約枠開始時刻
end at:予約枠終了時刻
duration:予約時間
 
確認方法②
計算資源の予約枠の詳細情報を表示させる場合
qrstat -ar ar-id
ar-id:予約番号
 
実行結果②
--------------------------------------------------------------------------------
id                             0001
name
owner                          test-user
state                          w
start_time                     10/10/2017 00:00:00.000
end_time                       10/20/2017 07:05:00.000
duration                       247:05:00.000
project
message                        XXXXXXXXXX
submission_time                03/22/2017 14:56:47.314
group                          test
account                        sge
resource_list                  month=TRUE, medium=TRUE, mem_req=3.1G, s_vmem=3.1G
free_resources                 false
reserve_available_only         true
granted_slots_list             month_medium.q@nm5i=1,month_medium.q@nm6i=1,month_medium.q@nm7i=1
granted_parallel_environment   mpi slots 2-3
id:ar-id(予約番号)
state:予約枠の状態
    (w:エラーなしで待機中、W:警告(エラー付きで待機中)、r:実行中、E:エラー(エラー状態で実行中)
start_time:予約枠開始時刻
end_time:予約枠終了時刻
duration:予約時間
message:エラーメッセージ(steteがWおよびEの場合のみ表示される)
resource_list :予約取得キュー名、メモリ量など
granted_slots_list:予約済みのキュー名、ノード名およびスロット数
granted_parallel_environment:スロット数(-peオプション指定時のみ表示される)
 

 

④ジョブの実行

qsubコマンドに-arオプションでar-idを指定し、ジョブを実行してください。
ar-idの確認方法は③計算資源の予約枠の確認を参照してください。
  
実行コマンド
qsub -ar ar-id [options] command
ar-id:予約番号
options:ジョブ実行時に必要な任意のオプション
command:ジョブスクリプト
 
 
計算資源の予約枠の開始時刻前にar-idを指定してqsubコマンドを実行しジョブ投入を行った場合、
予約枠の開始時刻にジョブが実行されます。
なお、取得した予約枠の終了時刻を過ぎた時点で実行中のジョブは強制終了されますので、ご注意ください。

また、計算資源の予約枠の取得をし、予約開始時刻を過ぎてもユーザがqsubコマンドを実行しなかった場合、
およびqsubコマンドで投入したジョブに誤りがありジョブが実行されなかった場合も、
取得された予約枠は課金対象になりますので、ご注意ください。

計算資源の予約枠は、予約枠の終了時間を迎える、もしくは、予約枠の削除を実施するまで課金対象となります。

計算資源の予約枠の取得後に、予約枠が不要になった場合もしくは、
実行ジョブ終了後に取得した予約枠を縮小したい場合は、
⑤計算資源の予約枠の削除を参照し、計算資源の予約枠の削除を実施してください。

ジョブ実行中に計算資源の予約枠の削除(QRDELコマンド)を実施した場合は、
実行中のジョブも終了しますので、ご注意ください。

誤操作を防ぐため、ジョブ終了後、最後にQRDELコマンドを実行するようなジョブスクリプトにしておくことを推奨します。
 
記述例 
#!/bin/sh
#$ -S /bin/sh
sleep 20
QRDEL ar-id
ar-idには当該ar-id(予約番号)を記載してください。
 

 

⑤計算資源の予約枠の削除

計算資源の予約枠の削除するには、QRDELコマンドにar-idを指定して実行してください。
ar-idの確認方法は③計算資源の予約枠の確認を参照してください。
 
実行コマンド
QRDEL ar-id
ar-id:予約番号
 

計算資源の予約枠の削除後の課金対象予約枠について

計算資源の予約枠の削除は、削除する(QRDELコマンドを実行する)タイミングによって、
課金対象になる予約枠がことなります。
 
【計算資源の予約枠の取得で取得した予約枠の開始時刻前にQRDELコマンドを実行した場合】
  計算資源の予約枠は削除され、本予約枠は課金対象外となります。
  本操作を実施した際は、以下のメッセージが出力されます。
ar-id:Because it is before the reservation start time, it is not subject to charge.
ar-id:予約番号
 
【計算資源の予約枠の取得で取得した予約枠の開始時刻後、終了時刻前にQRDELコマンドを実行した場合】
  計算資源の予約枠は予約終了時刻を待たずに削除され、本予約枠はQRDELコマンド実行時刻までが課金対象となります。
  本操作を実施した際は、以下のメッセージが出力されます。
ar-id:Since it is past the reservation start time, it will be charged until the present time.
ar-id:予約番号
 
【計算資源の予約枠の取得で取得した予約枠の終了時刻後にQRDELコマンドを実行した場合】
  計算資源の予約枠は削除されず、本予約枠は予約開始時刻から予約終了時刻まですべてが課金対象となります。
  本操作を実施した際は、以下のメッセージが出力されます。
ar-id:Because reservation end time has passed, all reservation time will be charged.
ar-id:予約番号
 

計算資源の予約枠の確認方法

計算資源の予約枠の開始時刻および終了時刻はqrstatコマンドで確認できます。
qrstatコマンドの詳細は③計算資源の予約枠の確認を参照してください。
 
実行コマンド
qrstat
 
実行結果
ar-id      name       owner        state start at             end at               duration
------------------------------------------------------------------------------------------
      0001            test-user    w     10/10/2017 00:00:00  10/20/2017 07:05:00  247:05:00
      0002            test-user    r     01/10/2017 00:00:00  10/20/2017 00:00:00  6792:05:00
・ar-id 0001 は state が w となっており、予約開始時刻前のため、
 QRDELを実行すると予約枠は削除され、課金対象にはなりません。
・ar-id 0002 は state が r となっており、予約枠は開始されていますが、予約枠終了時刻前のため、
 QRDELを実行すると予約枠は解除され、QRDEL実行時刻までが課金対象となります。