Top > HPCTテクニカルセンター > UGEコマンドリファレンス qsub

NAME

qsub   -  submit a batch job to Univa Grid Engine.
qsh    -  submit an interactive X-windows session to Univa Grid Engine.
qlogin -  submit an interactive login session to Univa Grid Engine.
qrsh   -  submit an interactive rsh session to Univa Grid Engine.
qalter -  modify a pending or running batch job of Univa Grid Engine.
qresub -  submit a copy of an existing Univa Grid Engine job.

SYNTAX

qsub [ options ] [ command [ command_args ] | -- [ command_args ]]

qsh [ options ] [ -- xterm_args ]

qlogin [ options ]

qrsh [ options ] [ command [ command_args ]]

qalter [ options ] wc_job_range_list [ -- [ command_args ]]

qalter [ options ] -u user_list | -uall [ -- [ command_args ]]

qresub [ options ] job_id_list

qsub はバッチジョブを Univa Grid Engine に送信します。Univa Grid Engine は、単一ノードまたは複数ノードのジョブをサポートします。コマンドは、バイナリまたは、シェル(sh(1)やcsh(1)など)を使用してジョブが実行するコマンドが含まれたスクリプトへのパスにすることができます(以下の -b オプション参照)。コマンドへの引数は、qsub へのcommand_args として与えられます。コマンドがスクリプトとして処理される場合、スクリプトにフラグを埋め込むことができます。スクリプト行の最初の2文字が '#$'と一致するか、または後述の -C オプションで定義された接頭辞文字列と等しい場合、その行は組み込みコマンドフラグのために解析されます。

 

qsh は、Univa Grid Engine にインタラクティブな X-windows セッションを送信します。実行中のマシンから xterm(1)が表示され、DISPLAY 環境変数で指定された X サーバーまたは -display qsh オプションで指定された X サーバーが表示されます。実行可能なリソースがない場合、対話式ジョブはスプールされません。それらは、実行のために適切なマシンに即時にディスパッチされるか、またはジョブを実行する適切なリソースが使用できないことを qsh がジョブをサブミットするユーザーに通知されます。 xterm_args は xterm(1)実行可能ファイルに渡されます。ただし、-e および -ls xterm オプションはqsh では機能しません。

 

qlogin は、対話式ジョブをキューイング・システムに送信する点で qsh と似ています。X ディスプレイで xterm(1)ウィンドウを開きませんが、現在の端末をユーザー I/O に使用します。通常、qlogin は、標準のクライアント側およびサーバ側のコマンドを使用して、リモートホストとの telnet(1)接続を確立します。これらのコマンドは、sge_conf のグローバルまたはローカル設定のパラメータにより、サーバー側のqlogin_daemon(Univa Grid Engine の telnetd、そうでない場合は /usr/sbin/in.telnetd)、クライアント側のqlogin_command(Univa Grid Engine telnet、そうでない場合は、/usr/bin/telnet)を設定することができます。クライアント側のコマンドは、接続先のリモートホスト名とポート番号で自動的にパラメータ化され、その結果、次のような呼び出しが行われます。

 

/usr/bin/telnet my_exec_host 2442

 

例えば、qlogin は、qrsh と全く同じように呼び出され、そのジョブはインタラクティブキューでのみ実行できます。qlogin 上は、sge_execd が root アカウントで実行されている場合にのみ実行可能です。

 

qrsh は、キューイングシステムに対話式ジョブを送信する点で qlogin と似ています。現在の端末をユーザ I/O に使用します。通常、qrsh はリモートホストとの rsh(1)接続を確立します。 qrsh にコマンドが指定されていない場合、rlogin(1)セッションが確立されます。 SHELL、HOME、TERM、LOGNAME、TZ、HZ、PATH、LANG を加えたすべての SGE環境変数を継承します。使用されるサーバー側コマンドは、sge_conf(5)のグローバルおよびローカル構成設定の rsh_daemon および rlogin_daemon パラメーターを使用して構成できます。 Univa Grid Engine rshd または rlogind は、パラメータが設定されていない場合に使用されます。パラメータが設定されている場合は、/usr/sbin/in.rshd または /usr/sbin/in.rlogind のように設定する必要があります。クライアント側では、sge_conf(5)のグローバルおよびローカル構成設定で rsh_command および rlogin_command パラメータを設定できます。これらが設定されていない場合、Univa Grid Engin eとともに提供される特別な Univa Grid Engine rsh(1)および rlogin(1)バイナリが使用されます。クラスタ構成パラメータを使用して、オペレーティングシステムに付属している ssh または rsh(1)および rlogin(1)機能などのメカニズムを統合します。

 

qrsh ジョブは、-now no が使用されていない限り、インタラクティブキューでのみ実行できます(下記参照)。 sge_execd(8)がrootアカウントで実行されている場合にのみ実行することもできます。

 

qrshは、特定のコマンドシェルを提供する対話型ツールと統合するための追加の便利な機能を提供します。 qrshが呼び出されたときに環境変数 QRSH_WRAPPER が設定されている場合、QRSH_WRAPPER が指すコマンド・インタープリターが実行され、ユーザー・ログイン・シェルまたは qrsh コマンド行で指定されたシェルのかわりにqrshコマンドが実行されます。オプション-cwd、-v、-V、および -display はバッチジョブにのみ適用されます。

 

qalterを使用すると、保留中のジョブの属性を変更できます。実行中のタスクと保留中のタスクが混在するアレイジョブ(下記の-tオプションを参照)では、qalter による変更は保留中のタスクにのみ影響します。 qalter は、スクリプトファイルに埋め込みフラグとして定義されているものを含め、ジョブの特性の大部分を変更することができます(以下の OPTIONS セクションの対応するステートメントを参照)。ジョブスクリプトなどの一部のサブミットオプションは、qalter で変更することはできません。

 

qresub を使用すると、既存の保留中または実行中のジョブのコピーとしてジョブを作成できます。コピーされたジョブは、コピーされたジョブとまったく同じ属性を持ちますが、新しいジョブ ID とクリアされたホールド状態があります。 qresub でサポートされているコピージョブの唯一の変更は、-hオプションを使用して新しいホールド状態を割り当てることです。このオプションを使用すると、ジョブを最初にコピーした後、qalterを使用してその属性を変更できます。

 

manager だけが、別のユーザーが submit したジョブで qresubを使用できます。通常のユーザーは、自分のジョブでしか qresub を使用できません。

 

qsub、qsh、qrsh、および qlogin の場合、管理者とユーザーは、デフォルトの要求ファイル(sge_request(5)を参照)を定義することができます。デフォルト要求ファイルのオプションが qsub と qlogin によって認識され、qsh では認識されない場合、qshが呼び出されると、オプションは暗黙的に無視されます。したがって、qsub と qsh の両方の共有デフォルト要求ファイルを維持することができます。

 

クラスタ全体のデフォルト要求ファイルは、$SGE_ROOT/$SGE_CELL/common/sge_request に置くことができます。ユーザーのプライベートなデフォルト要求ファイルは、$ HOME / .sge_requestと$ cwd / .sge_request で処理されます。作業ディレクトリのローカルのデフォルト要求ファイルは、最も高い優先順位を持ち、次にホームディレクトリにファイルがあり、次にクラスタグローバルファイルになります。オプションの引数、埋め込みスクリプトのフラグ、およびデフォルトの要求ファイルのオプションは、次の順序で処理されます。

 

              left to right in the script line,

              left to right in the default request files,

              from top to bottom of the script file (qsub only),

              from top to bottom of default request files,

              from left to right of the command line.

 

つまり、コマンドラインを使用して、埋め込みフラグとデフォルトの要求設定を上書きすることができます。ただし、埋め込みフラグはデフォルト設定を上書きします。

 

-clear オプションを使用すると、デフォルト要求ファイル、埋め込みスクリプトフラグ、またはコマンドラインオプションでいつでも以前の設定を破棄できます。ただし、qalter では使用できません。

 

以下で説明するオプションは、hard または soft のどちらでも要求できます。デフォルトでは、すべての要求は、-soft オプション(以下を参照)が発生するまで hard とみなされます。hard/soft の状態は、その相方が再び遭遇するまで有効である。ジョブに対するすべての hard 要求が満たされない場合、ジョブはスケジュールされません。現時点では実行できないジョブはスプールされたままです。

【オプション】

-@ optionfile

qsub、qrsh、qsh、またはqloginにoptionfileに含まれるオプションを使用させます。示されたファイルにはすべての有効なオプションが含まれている場合があります。コメント行は「#」記号で始まらなければなりません。

-a date_time

qsubとqalterでのみ使用できます。

ジョブの実行に適格な日時を定義または再定義します。 Date_timeは[[CC]] YY] MMDDhhmm [.SS]に準拠しています。詳しくはsge_types(1)のdate_timeを参照してください。

このオプションをqsubとともに使用するか、qmonに対応する値が指定されている場合は、CCYYMMDDhhmm.SSという形式のaという名前のパラメータが、定義されたJSVインスタンスに渡されます(以下の-jsvオプションを参照するか、jsv 1))。

-ac variable[=value],...

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。

指定された名前と値のペアをジョブのコンテキストに追加します。値は省略することができます。 Univa Grid Engineは、指定された引数をジョブのコンテキスト変数のリストに追加します。複数の-ac、-dc、および-scオプションを指定できます。ここでの順番は重要です。変数名は、文字 "+"、 " - "または "="で始めてはいけません。

すべての-ac、-dc、および-scオプションの評価結果は、acという名前のパラメータとして定義されたJSVインスタンスに渡されます。 (以下の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)。 QALTERでは、ジョブの実行中でもこのオプションを変更できます。

-adds parameter key value

Univa Grid Engineのqsub、qrshおよびqalterでのみ使用できます。

リソース要求、ジョブコンテキスト、環境変数などのリストベースのジョブパラメータにエントリを追加することができます。 -modsおよび-clearsスイッチを使用して、ジョブ・パラメーター・リストの単一の項目を変更または除去することができます。

引数 "parameter"は、追加するジョブパラメータを指定します。ここで使用されている名前は、コマンドラインスイッチの名前で、ジョブクラスやJSVでジョブパラメータに使用されます。現在、-addsスイッチは、ac、CMDARG、cwd、e、hold_jid、i、l_hard、l_soft、M、masterl、masterq、o、q_hard、q_hard、rou、Sおよびvのパラメータをサポートしています。同じパラメータは-modsおよび-clearsスイッチでもサポートされています。-clearpスイッチを使用すると、前述のすべてのリストベースのパラメータとリスト以外のパラメータをリセットできます。以下の-clearpセクションで、対応する非リストベースのパラメータ名を検索します。

"cwd"パラメータは、-adds、-mods、および-clearsスイッチでアドレス可能なリストベースのパラメータですが、このリストには1つのエントリしか含めることができないことに注意が必要です。

"key"引数は、使用されるパラメータ引数に依存します。 acおよびvパラメータの場合、ジョブコンテキストまたは環境変数リストに追加する必要がある変数の名前を指定する必要があります。パラメータo、i、e、またはSについては、ホスト名です。空のキー・パラメーターを使用して、ホスト固有ではないデフォルト値を定義することができます。 l_hardまたはl_softのキーは、リソース名(複合エントリの名前)を参照する必要がありますが、q_hard、q_softおよびmasterqではキュー名が必要です。 CMDARGは、コマンドライン引数として渡される文字列、hold_jidはジョブの名前またはジョブID、Mはメールアドレスを必要とします。

すべてのパラメータ/キーの組み合わせには値の引数が必要です。 CMDARG、q_hard、q_soft、hold_jid、Mおよびrouパラメーターの場合、この値は空の引数でなければなりません。 ac、v、l_hard、l_softは空の値も許可します。

コマンドライン内の位置に関係なく、スイッチ-adds、-modsおよび-clearsは、qsubまたはqalterに渡される他のすべてのスイッチの変更後に評価され、それらが適用されるシーケンスは、コマンドライン上で指定されるものと同じです。


ジョブクラスから派生したリストベースのジョブパラメータを変更するために-addsパラメータを使用すると、ジョブクラスのアクセス指定子が使用されていて、新規追加を許可しない場合、Univa Grid Engineシステムによってこの操作が拒否されることがあります。 (以下の-jcオプションを参照するか、sge_job_class(5)のジョブクラスとアクセス指定子に関する詳細を参照してください)。

-ar ar_id

qsub、qalter、qrsh、qsh、またはqloginにのみ使用できます。

提出されたジョブを既存のアドバンス予約の一部として割り当てます。既存のAdvance Reservationsの完全なリストは、qrstat(1)コマンドを使用して取得できます。

-arオプションは、特に要求されていなければ、-w eオプションを暗黙的に追加することに注意してください。

Qalterは、ジョブの実行中でもこのオプションを変更することができます。ただし、変更されたパラメータは、ジョブの再起動または移行後にのみ有効になります。

このオプションをジョブに使用する場合、またはqmonの対応する値が指定されている場合、この値は定義されたJSVインスタンスにarという名前のパラメータとして渡されます。 (以下の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-A account_string

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。

アカウンティングレコードに追加されるアカウントを指定します。 account_stringはsge_types(1)の名前定義に準拠する必要があります。このパラメータがない場合、Univa Grid Engineはデフォルトのアカウント文字列 "sge"をジョブのアカウンティングレコードに配置します。

Qalterは、ジョブの実行中でもこのオプションを変更することができます。

このオプションまたはqmonの対応する値が指定されている場合、この値は名前Aのパラメータとして定義されたJSVインスタンスに渡されます(以下の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)。

-bgio bgio_params

このオプションは、STDINから読み取っているとき、またはSTDOUT / STDERRファイル記述子に書き込んでいるときに、制御端末がqrshプロセスを中断するという問題を回避します。

組み込みの対話式ジョブ・サポート・メカニズムのみでqrshで使用できます。

たとえばサポートされている場合"&"は、端末のバックグラウンドでqrshを開始するために使用されます。端末はジョブ制御をサポートする必要があり、サポートされているttyも割り当てられている必要があります。

サポートされているbgio_paramsオプションは、nr(読み込みなし)、fw(強制書き込み)、bw = <size>(指定されたバッファサイズまでのバッファ書き込み)です。オプションの組み合わせは、区切り文字として "、"文字を使用するとサポートされます(空白は使用できません)。

bgio_params      nr|bw=<size>|fw[,nr|bw=<size>|fw,...]

nr: no read

ユーザー端末がジョブ制御をサポートしている場合、qrshはバックグラウンドで実行されているときにSTDINから読み取られません。ユーザーが端末に何らかの入力を入力している場合、デフォルトの動作は、STDINからユーザー入力を読み取ったときに、バックグラウンドで実行中のプロセスが一時停止されることが多い場合があります。これは、STDINから読み取ろうとするすべてのバックグラウンドジョブに対してユーザーの端末によって行われます。 "nr"オプションを使用すると、qrshはバックグラウンドで実行されている間はSTDINから読み取られません。

 

fw: force write
ユーザーの端末に対して「stty tostop」オプションが有効な場合、端末のバックグラウンドで実行されているジョブは、STDOUTまたはSTDERRへの書き込みを試みると中断されます。 "fw"オプションは、qrshにこの設定を無視し、中断させずに強制的に書き込みを行うように指示するために使用されます。

bw=<size>: buffered write
ユーザー端末に "stty tostop"オプションが設定されている場合(バックグラウンドジョブはSTDOUTまたはSTDERRへの書き込み時に中断されます)、このオプションを使用して中断されないようにqrshクライアントにメッセージを単にバッファリングすることができます。次のいずれかの項目が発生すると、qrshはSTDOUTまたはSTDERRに書き込みます。

   - When the process is in foreground again
   - When the buffer is full
   - When the qrsh is terminating

-binding [ binding_instance ] binding_strategy

ジョブは、このパラメータを使用して特定のプロセッサコアバインディング(プロセッサアフィニティ)を要求できます。この要求はバージョン8.1からハードリソース要求として処理されます。すなわち、ジョブは要求を満たすことができるホストにのみディスパッチされます。以前のバージョンとは異なり、リクエストはUniva Grid Engineスケジューラコンポーネントで処理されるようになりました。

Univa Grid Engineに特定のハードウェアアーキテクチャを選択させるには、complex "m_topology"と組み合わせて-lスイッチを使用してください。

 

binding_instanceはオプションのパラメータです。どのインスタンスがコアバインディングにジョブを実行するかによって、env、pe、またはsetのいずれかになります。 binding_instanceの値が指定されていない場合は、setが使用されます。

envは、環境変数SGE_BINDINGだけがジョブのジョブ環境にエクスポートされることを意味します。この変数には、選択したオペレーティングシステムの内部プロセッサ番号が含まれます。各コアは複数のプロセッサ識別子で表現できるため、SMTまたはCMTの存在下では選択されたコア以上になる可能性があります。プロセッサ番号はスペースで区切られています。この変数は、setまたはpeが要求されたときに実際のコアバインディングの場合にも使用できます。

peは、選択したコアに関する情報がpe_hostfileの第4列に表示されることを意味します。コロンで区切られたペア(0,0:1,0、つまりソケット0のコア0とソケット1のコア0を意味する)に、論理コアとソケット番号が印刷されます(0から始まり、空がありません)。 $pe_hostfileの詳細については、sge_pe(5)を参照ください。

set(何も指定されていなければデフォルト)。バインディング戦略は、Univa Grid Engineによって適用されます。これがどのように達成されるかは、投入されたジョブが開始される実行ホストの基本的なオペレーティングシステムによって異なります。


Solaris 10ホストでは、ジョブを排他的に実行できる場所にプロセッサセットが作成されます。オペレーティングシステムの制限により、少なくとも1つのコアがアンバウンドのままでなければなりません。このリソースはもちろん、バインドされていないジョブによって使用される可能性があります。

Linux(lx-amd64またはlx-x86)ホストでは、選択されたコアでジョブが排他的に実行されるようにプロセッサアフィニティマスクが設定されます。Linuxでは、2.6.16以上のLinuxカーネルバージョンが必要です。バージョン番号の低いカーネルを使用することも可能ですが、その場合は追加のカーネルパッチを適用する必要があります。 $SGE_ROOT/utilbinディレクトリのloadcheckツールを使用して、ホストに機能があるかどうかを確認できます。また、qconf(5)コマンドの-cbと-sepを組み合わせて使用して、Univa Grid Engineがハードウェアトポロジを認識できるかどうかを識別することもできます。

binding_strategyに可能な値は次のとおりです。

    linear:<amount>[:<socket>,<core>]
    striding:<amount>:<n>[:<socket>,<core>]
    explicit:[<socket>,<core>;...]<socket>,<core>

 

linearとstridingのバインディング・ストラテジーには、オプションのソケットとコアの指定が必要です。これらは、最初のコアがバインドされるための必須の開始点を示します。

linearは、Univa Grid Engineが連続するコア上のジョブをバインドしようとしていることを意味します。ソケットとコアが省略されている場合、Univa Grid Engineは最初に見つかった最初の空のソケットに連続するコアを割り当てます。 Emptyは、Univa Grid Engineによってソケットにバインドされたジョブがないことを意味します。これが不可能であるか不十分である場合、Univa Grid Engineは、最も結合されていないコアを持つソケット上でコアを見つけようとします。割り当てられたコアの数が要求されたコアの数よりも少ない場合、そのジョブに対してバインディングは実行されません。ソケットとコアが指定されている場合、Univa Grid Engineはこの開始点で始まる空のコアの量を見つけようとします。これが不可能な場合、バインディングは行われません。

最大で1つのソケットにジョブをスケジュールするようにするには、特殊なcomplex値をlinearと共に要求する必要があります。ソケットあたり少なくとも要求されたコア数を提供するホストがない場合、ジョブは決してスケジュールされません。そのようなジョブの場合、常にソケットごとに最高の空きコア数を持つソケットが使用されます。特別なcomplexは、complex configurationで作成する必要があり、名前を持つ必要があります:sched_binding_per_socket。また、グローバル、ホストローカル、キューレベルのいずれかで使用できるように、complex_valuesのフィールドでコンプレックスを初期化する必要があることにも注意してください。

tridingとは、Univa Grid Engineが特定のオフセットを持つコアを見つけようとしていることを意味します。その間にn -1のコアの空きコアの量が選択されます。検索アルゴリズムの開始点はソケット0のコア0です。量のコアが見つかるとすぐに、それらはジョブバインディングの実行に使用されます。十分な空きコアがない場合、または適切なオフセットが達成できない場合はバインドが行われません。

explicitは、指定されたソケットとソケット/コアリストに記載されているコアをバインドします。各ソケット/コアのペアは1回だけ指定する必要があります。ソケット/コアのペアが既に別のジョブで使用されている場合、バインディング要求全体は無視されます。

Qalterは、ジョブの実行中でもこのオプションを変更することができます。ただし、変更されたパラメータは、ジョブの再起動または移行後にのみ有効になります。

このオプションまたはqmonの対応する値が指定されている場合、これらの値は、binding_strategy、binding_type、binding_amount、binding_step、binding_socket、binding_core、binding_exp_n、binding_exp_socket <id>、binding_exp_core <id>という名前のパラメーターとして定義されたJSVインスタンスに渡されます。

明示的バインディングのソケット/コア値リストの長さはbinding_exp_nとして報告されます。 <id>は、明示的なリスト(0 <= id <binding_exp_n)内のソケット/コアのペアの位置に置き換えられます。明示的バインディングの最初のソケット/コアのペアは、binding_exp_socket0とbinding_exp_core0というパラメータ名で報告されます。

binding_strategyには、linear_automatic、linear、striding、striding_automatic、およびexplicitの値があります。値linear_automaticは、コマンドラインリクエスト-binding linear:<N>に対応します。したがって、binding_amountは、要求されたコアの量に設定する必要があります。値linearはコマンドラインリクエスト "-binding linear:<N>:<socket>、<core>"に対応します。さらに、binding_amountには、開始ソケット(binding_socket)と開始コア(binding_core)を設定する必要があります。それ以外の場合、要求は "-binding linear:<N>"とは異なる "-binding linear:<N>:0,0"として処理されます。同じルールがstriding_automaticとstridingに適用されます。自動の場合、スケジューラはフリーコアをシークしますが、非自動の場合、スケジューラは可能な場合はbinding_socketとbinding_coreで指定された位置にコアをいっぱいにします(そうでない場合はホストをスキップします)。

 

指定されたバインディングに適用されない値は、JSVに報告されません。例えば。 binding_stepはストライドバインディングに対してのみ報告され、明示的バインディングが指定されている場合は、すべてのbinding_exp_ *値がJSVに渡されます。

バインディング戦略をJSVで変更する必要がある場合は、選択されたバインディング戦略に属していないすべてのパラメータをゼロに設定して、拒否される組み合わせを避けることが重要です。たとえば、コマンドラインでストライドを要求するジョブをlinearに変更する必要がある場合、JSVはbinding_strategyを変更するだけでなく、binding_stepとbinding_exp_nをゼロに設定する必要があります(以下の-jsvオプションを参照するか、jsv(1) 。

-b y[es]|n[o]

qsub、qrshのみで使用できます。 Univa Grid Engineは、qalterによる変更もサポートしています。

コマンドをバイナリまたはスクリプトとして扱うべきかどうかを明示的に指定することができます。 -bの値が 'y'の場合、commandはバイナリまたはスクリプトである可能性があります。サブミット・ホストからコマンドにアクセスできない可能性があります。コマンドのパスを除いて、サブミットホストから実行ホストには何も転送されません。コマンドが実行される前にパスのエイリアシングがコマンドのパスに適用されます。

-bの値が 'n'の場合、コマンドはスクリプトでなければならず、スクリプトとして扱われます。スクリプトファイルは、送信ホストによってアクセス可能である必要があり、それは実行ホストに転送されます。 qsub / qrshは、スクリプト内でスクリプトを読み込むインタプリタを検索します。

qsubは暗黙的に-b nを使用しますが、qrshは-b yオプションを適用します。

Qalterは、スクリプトが-CMD-NAMEでさらに指定された場合に、ジョブの種類をバイナリからスクリプトに変更するためにのみ使用できます。

スクリプト(-b n)としてのコマンドのサブミットは、特に短い実行ジョブや大きなジョブスクリプトの場合、パフォーマンスに大きな影響を与えることに注意してください。スクリプトのサブミットは、サブミットのプロセスには、以下の操作が追加されます。

  • 特別なコメントについて、クライアント側で解析されます。

  • ジョブ投入ホストからマスターホストへ転送されます。

  • マスターホストでスプールされます。

  • ジョブ実行時に実行ホストへ転送されます。

  • ジョブ実行ホストでスプールされます。

  • ジョブが終了すると、実行ホスト及びマスターホストでスプーリングが削除されます。

例えばNFSを経由するなど、ジョブスクリプトが実行ノード上で利用可能であれば、バイナリとしてのサブミットは、より良い選択となります。

このオプションで指定された値またはqmonで指定された対応する値は、値がyesの場合にのみ、定義されたJSVインスタンスに渡されます。パラメータの名前はbになります。提出時に長いフォームが指定された場合も、値はyになります。 (以下の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)。

-CMDNAME command

 qalterのみで利用可能です。

ジョブによって実行されるコマンド(スクリプトまたはバイナリ)を変更します。 -bスイッチと組み合わせて、バイナリジョブをスクリプトジョブに変更することも、その逆も可能です。

ジョブのサブミット中にコマンドとして指定された値は、CMDNAMEという名前のパラメーターとして定義されたJSVインスタンスに渡されます。 (以下の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-c occasion_specifier

qsubとqalterでのみ使用できます。

ジョブをチェックポイントするかどうかを定義したり、再設定したりする場合は、どのような状況で行うかを定義または再定義します。このオプションを使用したチェックポイント時の指定は、qsub -ckptスイッチで参照されるチェックポイント環境(チェックポイント(5)を参照)のwhenパラメータの定義を上書きします。 occasion_specifierに可能な値は次のとおりです。

n:チェックポイントは実行されません。
s:実行ホストがシャットダウンした場合にチェックポイントします。
m: 最小CPU間隔でチェックポイントします。
x:ジョブがサスペンドした場合にチェックポイントします。
<interval> 特定の時間間隔でチェックポイントします。

最小CPU間隔は、キュー設定で定義されています(詳細はqueue_conf(5)を参照)。 <interval>は、hh:mm:ssの形式で指定する必要があります。 <interval>が指定されている場合は、<interval>とキューの最小CPU間隔の最大値が使用されます。これは、チェックポイントが頻繁に生成されることによってマシンが過負荷にならないようにするためです。

このオプションで指定された値またはqmonで指定された対応する値は、定義されたJSVインスタンスに渡されます。 <interval>は、c_intervalという名前のパラメータとして使用できます。指定された文字列は、c_occasionという名前のパラメータとして使用できます。 JSV経由でc_occasionを変更した場合、c_intervalの最後の設定は上書きされ、逆も同様です。 (以下の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-ckpt ckpt_name

qsubとqalterでのみ使用できます。

ジョブのチェックポイント設定に使用するチェックポイント環境(チェックポイント(5)を参照)を選択します。また、ジョブをチェックポイントジョブと宣言します。

このオプションまたはqmonの対応する値が指定されている場合、この値は定義されたJSVインスタンスにckptという名前のパラメータとして渡されます。 (以下の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-clear 

qsub、qsh、qrsh、およびqloginにのみ使用できます。

この特定のコマンドに現れるすべての変更(ある場合)を適用する前に、ジョブのすべての要素を初期のデフォルト状態にリセットします。

-clearp parameter

qsub、qrshおよびqalterでのみ使用できます。

ユーザーにリストベースおよびリスト以外のジョブパラメータをクリアする可能性を与えます。結果として、指定されたジョブパラメータは、ジョブのqsubコマンドでパラメータを指定せずにサブミットしたときに使用される同じデフォルト値にリセットされます(たとえば、-clearp Nはジョブ名をデフォルト名にリセットします)。スクリプトベースのジョブです。これはコマンドスクリプトの基本名です)。

ジョブがジョブクラスから派生し、以前に定義された(またはリスト・ベースの属性内で)アクセス指定子がパラメータの削除を許可しない場合、-clearpスイッチの使用は対応するエントリに対して禁止されます。 (以下の-jcオプションを参照するか、sge_job_class(5)のジョブクラスとアクセス指定子に関する詳細を参照してください)。

パラメータ引数は、上記の-adds節で説明したリストベースのジョブパラメータの名前でも、リスト以外のパラメータでもかまいません。非リストパラメータ名は、a、a、ar、バインディング、ckpt、c_occasion、c_interval、dl、j、js、m、mbind、N、now、notify、P、p、pe_name、pe_range、rおよびshellです。

-clears parameter key

qsub、qrshおよびqalterでのみ使用できます。

リソース要求、ジョブコンテキスト、環境変数などのリストベースのジョブパラメータの単一エントリを削除することができます。

-addsおよび-modsスイッチを使用して、ジョブパラメータリストの1つのエントリを追加または変更できます。

ジョブがジョブ・クラスから派生し、リスト・ベース属性の前またはリスト内で定義されたアクセス指定子がリストから特定の項目の除去を許可しない場合、対応する項目に対して-clearsスイッチの使用は禁止されます。 (以下の-jcオプションを参照するか、sge_job_class(5)のジョブクラスとアクセス指定子に関する詳細を参照してください)。

パラメータとキーの引数については、上記の-addsセクションで詳しく説明しています。

-cwd   

qsub、qrsh, qshおよびqalterでのみ使用できます。

現在の作業ディレクトリからジョブを実行します。このスイッチは、対応する設定ファイルが存在する場合、Univa Grid Engineのパスエイリアス機能を有効にします(sge_aliases(5)を参照)。

qalterの場合、以前のqsubまたはqalterとは別のディレクトリからqalterを実行すると、現在の作業ディレクトリの以前の定義が上書きされます。

qalterは、ジョブの実行中でもこのオプションを変更することができます。ただし、変更されたパラメータは、ジョブの再起動または移行後にのみ有効になります。

このオプションまたはqmonの対応する値が指定されている場合、この値は定義されたJSVインスタンスにcwdという名前のパラメータとして渡されます。このパラメータの値は、作業ディレクトリの絶対パスになります。 JSVスクリプトは、検証プロセス中にこのパラメータの値を空の文字列に設定することによって、ジョブからパスを削除できます。その結果、ジョブはジョブのサブミットにおいて-cwdが指定されなかったかのように動作します。 (以下の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください。

 

-C prefix_string

スクリプトのサブミット(-b n)とともにqsubおよびqrshで使用できます。

prefix_stringは、ジョブのコマンドでディレクティブを宣言する接頭辞を定義します。接頭部はジョブ属性ではありませんが、qsubおよびqrshの動作に影響します。 prefixが空文字列の場合、コマンドは組み込みのディレクティブをスキャンしません。

ディレクティブプレフィックスは2つのASCII文字で構成され、スクリプト行の最初の2バイトに現れるときは、それ以降はUniva Grid Engineコマンドであることを示します。デフォルトは "#$"です。

最初の区切り文字を変更すると予期しない副作用が発生する可能性があることに注意してください。スクリプトファイルに行の最初のバイト位置に "#"文字以外の文字が含まれている場合、ジョブのシェルプロセッサは行を拒否し、ジョブを早期に終了することがあります。 -Cオプションがスクリプトファイルに存在する場合は、無視されます。

-dc variable,...

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。

指定された変数をジョブのコンテキストから削除します。複数の-ac、-dc、および-scオプションを指定できます。順序は重要です。

qalterは、ジョブの実行中でもこのオプションを変更することができます。

すべての-ac、-dc、および-scオプションの評価結果は、acという名前のパラメータとして定義されたJSVインスタンスに渡されます。 (以下の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)。

-display display_specifier

qshおよびqrshコマンドで使用できます。

display_specifierを使用してXサーバーに接続するようにxterm(1)に指示します。 display_specifierには、表示名のホスト名部分(myhost:1など)が含まれている必要があります。ローカル表示名(例:0)は、グリッド環境では使用できません。 -displayオプションを使用して設定した値は、サブミット環境および-vコマンド行オプションの設定を上書きします。

このオプションまたはqmonの対応する値が指定されている場合、この値は定義されたJSVインスタンスに名前表示付きのパラメータとして渡されます。この値は、オプションでJSVスクリプトに渡されるジョブ環境でも使用できます。変数名はDISPLAYになります。 (以下の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-dl date_time

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。

締め切り開始時刻を[[CC] YY] MMDDhhmm [.SS]形式で指定します(上記の-aオプションを参照)。締め切り開始時間は、所定の締め切り時間内にデッドラインジョブが完了することができるよう、最優先に到達しなければならない時間である。デッドライン開始時間の前に、デッドラインジョブの優先順位はUniva Grid Engine管理者が設定した最大値に達するまで徐々に上がります。

このオプションは、デッドライン・ジョブをサブミットできるユーザーにのみ適用されます。

このオプションまたはqmonの対応する値が指定されている場合、この値は定義されたJSVインスタンスにdlという名前のパラメータとして渡されます。 date_time値の形式はCCYYMMDDhhmm.SSです(下の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)。

-e [[hostname]:]path,...

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。

ジョブの標準エラーストリームに使用されるパスを定義または再定義します。 qsh、qrshおよびqloginの場合、プロローグとエピローグの標準エラー・ストリームのみがリダイレクトされます。パスが絶対パス名を構成する場合、ジョブのエラー・パス属性はパスに設定されます(ホスト名を含む)。パス名が相対パスである場合、Univa Grid Engineは現在の作業ディレクトリパス(-cwdスイッチ(上記参照)も指定されている場合)またはホームディレクトリパスを使用してパスを展開します。 hostnameが存在する場合、指定されたホスト上でジョブが実行されている場合にのみ、標準エラーストリームが対応する場所に配置されます。パスにホスト名のない ":"が含まれている場合、先行する ":"を指定する必要があります。

デフォルトでは、対話式ジョブのファイル名は/ dev / nullです。バッチ・ジョブの場合、デフォルトのファイル名は、配列ジョブ・タスク用のjob_name.ejob_idおよびjob_name.ejob_id.task_idという形式です(以下の-tオプションを参照)。

pathがディレクトリの場合、ジョブの標準エラーストリームはデフォルトのファイル名でこのディレクトリに格納されます。パス名に特定の擬似環境変数が含まれている場合、それらの値はジョブの実行時に展開され、標準エラーストリームパス名を構成するために使用されます。現在、次の環境変数がサポートされています。

$HOME:実行ホストのホームディレクトリ
$USER :ジョブ所有者のユーザーID
$JOB_ID:カレントジョブのID
$JOB_NAME:カレントジョブのジョブ名(-Nオプション参照)
$HOSTNAM:実行ホストのホストネーム
$TASK_ID:配列ジョブのインデックスナンバー


$HOMEの代わりに、チルダ記号 "?"をcsh(1)またはksh(1)で共通に使用できます。 "?<user>"が<user>のホームディレクトリに展開されるように、 "?"記号もユーザー名と組み合わせて機能することに注意してください。もちろん、ジョブの所有者以外のユーザーIDを使用するには、対応する権限が必要です。

パスまたはそのコンポーネントが存在しない場合は、現在のユーザーの権限で作成されます。末尾の「/」は、パスの最後のコンポーネントがディレクトリであることを示します。たとえば、コマンド "qsub -e myjob/error.e $SGE_ROOT/examples/sleeper.sh"は、現在の作業ディレクトリに "myjob"というディレクトリが無ければそれを作成し、ジョブの標準エラーストリーム"error.e"を書き込みます。コマンド "qsub -e myotherjob/ $SGE_ROOT/examples/sleeper.sh"はディレクトリ "myotherjob"を作成し、ジョブの標準エラーストリームを既定の名前のファイルに書き込みます(上記の説明を参照)。ディレクトリを作成できない場合(たとえば、権限が不十分な場合)、ジョブはエラー状態になります。

Qalterは、ジョブの実行中でもこのオプションを変更することができます。ただし、変更されたパラメータは、ジョブの再起動または移行後にのみ有効になります。

このオプションまたはqmonの対応する値が指定されている場合、この値は定義されたJSVインスタンスにeという名前のパラメータとして渡されます。 (以下の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)]

-hard  

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。

コマンド行に続く-qおよび-lリソース要件はすべてハード要件であり、ジョブをスケジュールする前に完全に満たさなければならないことを示します。

Univa Grid EngineはUniva Grid Engineのオプションとパラメータのコマンドラインとスクリプトファイルをスキャンし、ジョブに必要なリソースのリストを作成します。このようなリソース要求はすべて、ジョブの開始に不可欠とみなされます。スキャン中に-softオプション(以下を参照)が発生すると、後続のすべてのリソースは実行のための「ソフト要件」(「本質的ではありませんが、あるといい」)と指定されます。スキャンの後の段階で-hardフラグが検出されると、それに続くすべてのリソース要求が再び「必須」になります。実際の-hardと-softオプションは、スキャン中に「トグル」として機能します。

このオプションまたはqmonの対応する値が指定されている場合、対応する-qおよび-lリソース要件が、q_hardおよびl_hardという名前のパラメータとして定義されたJSVインスタンスに渡されます。 -qと-lを記述するセクションで情報を探します。 (以下の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-h | -h {u|s|o|n|U|O|S}...

qsub(-h)、qrsh、qalter、およびqresub(明示的に設定されていなければホールド状態は削除されます)で使用できます。

以下は、ジョブ、タスク、またはジョブのいくつかのタスクに配置するためのホールドのリストです。

`u'  ユーザーホールドを示します。
`s'  システムホールドを示します。
`o'  オペレーターホールドを示します。
`n'  保留なし(マネージャ権限が必要)を示します。

`n '以外のホールドがジョブに割り当てられている限り、そのジョブは実行に適格ではありません。ホールドはqalterとqrls(1)で解放できます。 qalterの場合、これは-hスイッチの次の追加オプション指定子でサポートされています。

`U'  ユーザホールドを削除します。
`S'  システムホールドを解除します。
`O'  オペレータホールドを削除します。

Univa Grid Engineの管理者は、すべての保留タイプを割り当ておよび削除できます。Univa Grid Engineのオペレータは、ユーザおよびオペレータの保留を割り当ておよび削除でき、ユーザは保留を割り当てることができます。

qsubの場合、ユーザーの保持のみをジョブに置くことができるため、-hスイッチだけのオプションの最初の形式だけが許可されます。これに対して、qalterは上記の第2の形式を必要とします。

ホールドを割り当てる代替手段は、qhold(1)機能によって提供されます。

ジョブが配列ジョブの場合(以下の-tオプションを参照)、-tで指定されたすべてのタスクは同時に-h操作の影響を受けます。

 

qalterは、ジョブの実行中でもこのオプションを変更することができます。ただし、変更されたパラメータは、ジョブの再起動または移行後にのみ有効になります。

 

このオプションがqsubで指定されている場合、またはqmonでジョブがサブミットされている場合、値がuのパラメータhが、指定されたJSVインスタンスに渡され、サブミットが完了した後でジョブがユーザ保留状態になることを示します。 (以下の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-help  

すべてのオプションのリストを出力します。

 

-hold_jid wc_job_list

qsub、qrsh、およびqalterでのみ使用できます。 sge_types(1)を参照してください。 

サブミットされたジョブのジョブ依存関係リストを定義または再定義します。ジョブ名またはパターンによる参照は、参照ジョブが参照ジョブと同じユーザーによって所有されている場合にのみ受け入れられます。コンマで区切られたジョブIDおよび/またはジョブ名リストで参照されているすべてのジョブが完了していない限り、サブミットされたジョブは実行に適格ではありません。参照されたジョブのいずれかが終了コード100で終了すると、サブミットされたジョブは実行不能のままです。

ジョブ名または規則的なパターンの助けを借りて、規則的なパターンを満たす複数のジョブまたは要求された名前を持つすべてのジョブにジョブの依存関係を指定できます。名前の依存関係は送信時に解決され、qalterを介してのみ変更できます。新しいジョブまたは他のジョブの名前変更は考慮されません。

qalterは、ジョブの実行中でもこのオプションを変更することができます。ただし、変更されたパラメータは、ジョブの再起動または移行後にのみ有効になります。

このオプションまたはqmonの対応する値が指定されている場合、この値は、hold_jidという名前のパラメータとして定義されたJSVインスタンスに渡されます。 (以下の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-hold_jid_ad wc_job_list

qsub、qrsh、およびqalterでのみ使用できます。 sge_types(1)を参照してください。 

サブミットされたジョブのジョブ配列依存関係リストを定義または再定義します。ジョブ名またはパターンによる参照は、参照ジョブが参照ジョブと同じユーザーによって所有されている場合にのみ受け入れられます。コンマで区切られたジョブIDおよび/またはジョブ名リストで参照されているすべてのジョブの対応するサブタスクが完了していない限り、サブミットされたジョブの各サブタスクは実行に適格ではありません。参照されたジョブの配列タスクが終了コード100で終了した場合、サブミットされたジョブの従属タスクは実行不能のままです。

ジョブ名または規則的なパターンの助けを借りて、規則的なパターンを満たす複数のジョブまたは要求された名前を持つすべてのジョブにジョブの依存関係を指定できます。名前の依存関係は送信時に解決され、qalterを介してのみ変更できます。新しいジョブまたは他のジョブの名前変更は考慮されません。

サブミットされたジョブまたはwc_job_list内のジョブのいずれかが、同じ範囲のサブタスクを持つ配列ジョブではない場合(下記の-tオプションを参照)、要求リストは拒否され、ジョブの作成または変更操作はエラーになります。

qalterを使用すると、ジョブの実行中でもこのオプションを変更できます。ただし、変更されたパラメータは、ジョブの再起動または移行後にのみ有効になります。

-i [[hostname]:]file,...

qsubおよびqalterでのみ使用できます。

ジョブの標準入力ストリームに使用するファイルを定義または再定義します。ファイルが絶対ファイル名を構成する場合、ジョブのinput-path属性はpathに設定されます(ホスト名を含む)。パス名が相対パスである場合、Univa Grid Engineは現在の作業ディレクトリパス(-cwdスイッチ(上記参照)も指定されている場合)またはホームディレクトリパスを使用してパスを展開します。 hostnameが存在する場合、指定されたホスト上でジョブが実行される場合にのみ、標準入力ストリームが対応する場所に配置されます。パスにホスト名のない ":"が含まれている場合、先行する ":"を指定する必要があります。

デフォルトでは、/dev/nullはジョブの入力ストリームです。

特定の擬似変数を使用することができます。その値は、ジョブの実行時に展開され、標準エラー・ストリームの-eオプションで説明されているように、標準入力ストリームを表現するために使用されます。

Qalterは、ジョブの実行中でもこのオプションを変更することができます。ただし、変更されたパラメータは、ジョブの再起動または移行後にのみ有効になります。

このオプションまたはqmonの対応する値が指定されている場合、この値は定義されたJSVインスタンスに、名前iのパラメータとして渡されます。 (以下の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-inherit

qrshおよびqmake(1)でのみ使用できます。

qrshを使用すると、ユーザーはすでにスケジュールされた並列ジョブでタスクを開始できます。 -inheritオプションは、環境変数JOB_IDからジョブIDを読み取り、指定されたコマンドをこのジョブのタスクとして開始するようにqrshに指示します。この場合、コマンドが実行されるホストのホスト名は実行するコマンドの前になければならないことに注意してください。構文は次のように変わります。

qrsh -inherit [ other options ] hostname command [ command_args ]

-inheritと組み合わせると、他のほとんどのコマンドラインオプションは無視されることに注意してください。オプション-verbose、-v、および-Vのみが解釈されます。オプション-cwdの代わりに、-v PWDを使用してください。

通常、タスクは対応するジョブと同じ環境(現在の作業ディレクトリを含む)を持つ必要があるため、オプション-Vの指定はほとんどのアプリケーションに適しているはずです。

注:システム内でqmaster tcpポートがサービスとして構成されておらず、環境変数SGE_QMASTER_PORTを使用している場合は、qrshまたはqmakeを-inheritオプションで呼び出すときに、この変数が環境内に設定されていることを確認してください。ジョブスクリプト内で-inheritオプションを指定してqrshまたはqmakeを呼び出す場合は、オプション "-v SGE_QMASTER_PORT"を指定してSGE_QMASTER_PORTをコマンド引数または埋め込みディレクティブとしてエクスポートします。

このパラメータは、JSVのコンテキストでは使用できません。 (以下の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-j y[es]|n[o]

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。

ジョブの標準エラーストリームを標準出力ストリームにマージするかどうかを指定します。 -j yオプションと-eオプションの両方が存在する場合、Univa Grid Engineは設定しますが、エラーパス属性は無視します。

qalterは、ジョブの実行中でもこのオプションを変更することができます。ただし、変更されたパラメータは、ジョブの再起動または移行後にのみ有効になります。

このオプションで指定された値またはqmonで指定された対応する値は、値がyesの場合にのみ、定義されたJSVインスタンスに渡されます。パラメータの名前はjです。サブミット時に長いフォームが指定された場合も、値はyになります。 (以下の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-jc jc_name

qsub、qrsh、およびqalterでのみ使用できます。

ジョブのジョブ指定をジョブクラスから派生させるかどうかを指定します。 jc_nameは、ジョブクラスの名前でも、ジョブクラス名とバリアント名の組み合わせでも構いません。両方の名前はドット(.)で区切ります。

このスイッチを使用すると、sge_qmaster(8)プロセス内で6つのステップが実行されます。

  1. 新しいjobが作られます。

  2. このジョブ構造体はデフォルト値で初期化されます。

  3. これらのすべてのデフォルト値は、ジョブクラス(またはジョブクラスバリアント)のジョブテンプレート属性として指定された値に置き換えられます。

  4. -jcスイッチをジョブ特性を指定する他のコマンドラインスイッチと組み合わせると、それらの設定がジョブに適用されます。このステップは、ジョブクラス指定からコピーされたデフォルト値と値を上書きする可能性があります。

  5. サーバーJSVが構成されている場合にトリガーされます。このサーバーJSVスクリプトはジョブの仕様を受け取り、サーバーJSVがジョブ仕様をデフォルト値に調整した場合、ジョブクラス指定から派生した値とコマンド行で指定された値が上書きされる可能性があります。

  6. 最後のステップで、sge_qmasterは、ステップ(4)または(5)の間にアクセス指定子が違反していないかどうかをチェックします。違反している場合、ジョブは拒否されます。それ以外の場合は、保留中のジョブのリストに入ります。

 

ステップ(5)でトリガーされるサーバーJSVは、jcという名前のパラメーターとしてjc_nameを受け取ります。サーバーJSVがjc属性を変更することを決定した場合、上記のプロセスはステップ(1)で再開し、新しいjc_nameはステップ(3)に使用されます。

最後のステップでアクセス指定子の違反がチェックされていることに注意してください。結果として、サーバーJSVは、ジョブクラス仕様で定義されたアクセス指定子に違反する変更をジョブに適用することも許可されていません。

ジョブクラスから派生したジョブのジョブ属性を変更しようとする試みはすべて拒否されます。ジョブクラスの所有者は、ジョブクラスの指定内のアクセス指定子を使用することによって、この制限を緩和することができます。アクセス指定子に関する詳細は、sge_job_class(5)にあります。

qalter -jc NONEコマンドは、マネージャーがサブミットされたジョブクラス・ジョブとその親ジョブ・クラス間のリンクを解放するために使用できます。この場合、他のすべてのジョブパラメータは変更されませんが、その後使用されたアクセス指定子に依存せずにqalterを使用してすべての設定を変更することができます。

-js job_share

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。

他のジョブに対するジョブのジョブシェアを定義または再定義します。ジョブシェアは符号なし整数値です。ジョブのデフォルトジョブシェア値は0です。

ジョブシェアは、共有ツリーポリシーと機能ポリシーに影響します。また、緊急ポリシーと上書きポリシーには影響がありません。 ((share_tree(5)、sched_conf(5)参照。また、Univa Grid Engineでサポートされているリソース管理ポリシーの詳細については、インストール/管理ガイドを参照)。

シェアツリーポリシーの場合、ユーザーは、-jsを使用して割り当てられた別のシェアを使用して、自分の仕事の中で現在資格を持っているチケットを配布することができます。すべてのジョブが同じジョブシェア値を持つ場合、チケットは均等に分散されます。それ以外の場合、ジョブは異なるジョブシェアに関連してチケットを受け取ります。後者の場合、ジョブシェアはシェアツリーの追加レベルのように扱われます。

機能ポリシーと関連して、ジョブのシェアは機能カテゴリ内のジョブに重みをつけるために使用することができます。チケットは仮想配分として扱われる不均等な配当分配に関連して分配されます。

シェアツリーと機能ポリシーの両方がアクティブな場合、ジョブシェアは両方のポリシーで効果を持ち、それぞれで個別に得られたチケットが各ジョブのチケットの総数に加算されます。

このオプションまたはqmonの対応する値が指定されている場合、この値はjsという名前のパラメータとして定義されたJSVインスタンスに渡されます。 (以下の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-jsv jsv_url

qsub、qsh、qrsh、およびqloginでのみ使用できます。

ジョブがqmasterに送信される前にジョブ仕様を検証するために実行されるクライアントJSVインスタンスを定義します。他のオプションとは異なり、このスイッチはsge_requestファイルでも使用されていても上書きされません。指定されたすべてのJSVインスタンスが実行され、サブミットされるジョブを検証します。

クライアントのコマンドラインで直接渡されるJSVインスタンスは、ジョブ指定を検証するために最初に実行されます。その後、さまざまなsge_requestファイルで定義されていたJSVインスタンスがトリガーされ、ジョブをチェックします。詳細はmanページjsv(1)とsge_request(5)を参照してください。

-masterl resource=value,...

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。並列ジョブとの組み合わせでのみ使用できます。

その並列ジョブのマスタタスクのリソース要求リストを満たすUniva Grid Engineキューで並列ジョブを起動します。 lスイッチで指定可能な他のリソース要求は、ジョブ投入時にmasterlスイッチが使用されている場合にのみ、スレーブタスクの要件を指定します。

マスターキューまたはマスターホストがmasterlスイッチでリクエストされる場合、以下のリクエストに応じて、Univa Grid Engineは、ユーザーが要求したよりもこの並列ジョブに対して1つ多くのタスクを割り振る必要があります。

  • この要求および他のキューおよびホスト要求(暗黙的または明示的な要求)

  • 実行ホスト上でのキューの分散方法

  • マスター・キューまたはマスター・ホストからリクエストされた並列環境のallocation_rule

詳細については、sge_pe(5)、 "allocation_rule"を参照してください。

qalterの場合、前の定義は指定されたものに置き換えられます。

complex(5)は、利用可能なリソースのリストとそれに関連する有効な値指定子を取得する方法を記述します。

qalterでは、ジョブの実行中にこのオプションの値を変更することはできますが、変更はジョブの再起動または移行後にのみ有効です。

このオプションまたはqmonの対応する値が指定されている場合、ハードリソース要件は、定義されたJSVインスタンスに、名前masterlのパラメータとして渡されます。リソース要求に正規表現を使用する場合、これらの式はそのまま渡されます。また、ショートカット名は展開されません。 (上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-l resource=value,...

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。

特定のリソース要求リストを満たすUniva Grid Engineキューでジョブを起動します。 qalterの場合、前の定義は指定されたものに置き換えられます。

complex(5)は、利用可能なリソースのリストとそれに関連する有効な値指定子を取得する方法を記述します。

-softオプションでリソース要求が指定されると、消費可能な値も範囲として指定できます。フォーマットの説明と例は、complex(5)のマニュアルページにあります。

1つのコマンドに複数のスイッチがある可能性があります。複数の-lオプションを同じコマンドラインでソフトまたはハードにするように要求することができます。複数の連続ジョブの場合、-lスイッチは検索されたキューの定義を絞り込みます。

Qalterでは、ジョブの実行中でもこのオプションの値を変更できますが、リソースの最初のリストに消費可能な値としてマークされているリソースが含まれていない場合に限ります。ただし、変更はジョブの再起動または移行後にのみ有効になります。

このオプションまたはqmonの対応する値が指定されている場合、これらのハードおよびソフト・リソース要件は、l_hardおよびl_softという名前のパラメータとして定義されたJSVインスタンスに渡されます。リソース要求に正規表現を使用する場合、これらの式はそのまま渡されます。また、ショートカット名は展開されません。 (上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-m b|e|a|s|n,...

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。

メールをジョブの所有者または後述の-Mオプションで定義されたユーザに送る状況を定義または再定義します。オプション引数には次の意味があります。

`b'     ジョブの開始時にメールが送信されます。
`e'     ジョブの終了時にメールが送信されます。
`a'     ジョブが中断または再スケジュールされたときにメールが送信されます。
`s'     ジョブが中断されたときにメールが送信されます。
`n'     メールは送信されません。

現在のデフォルトではジョブが中断されてもメールは送信されません。

qalterは、ジョブが実行されている間でもオプションの引数b、eおよびaを変更できます。ただし、bオプション引数の変更は、ジョブの再起動または移行後にのみ有効です。

このオプションまたはqmonの対応する値が指定されている場合、この値は定義されたJSVインスタンスにmという名前のパラメータとして渡されます。 (JSVの詳細については、上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)。

-M user[@host],...

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。

サーバーがジョブに関するメールを送信する場合、ジョブを実行するサーバーがメールを送信する必要のあるユーザーのリストを定義または再定義します。デフォルトは、元のホストのジョブ所有者です。

qalterは、ジョブの実行中でもこのオプションを変更することができます。

このオプションまたはqmonの対応する値が指定されている場合、この値はMという名前のパラメータとして定義されたJSVインスタンスに渡されます(前述の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照)。

-masterq wc_queue_list

qsub、qrsh、qsh、qloginおよびqalterで使用できます。並列ジョブの場合、つまり-peオプションと共に使用する場合に意味があります。

この並列ジョブのいわゆるマスター・キューになるために使用される可能性があるクラスター・キュー、キュー・ドメインおよびキュー・インスタンスのリストを定義または再定義します。 wc_queue_listの詳細な説明はsge_types(1)にあります。マスターキューは、並列ジョブが開始されるキューとして定義されます。並列ジョブがタスクを生成する他のキューは、スレーブキューと呼ばれます。並列ジョブには1つのマスター・キューしかありません。

要求されたマスタキューと他のキュー要求(暗黙的または明示的なキュー要求)に応じて、実行ホスト上でのキューの分散方法や並列環境のallocation_ruleに応じて、マスタキューを要求すると、Univa Gridエンジンは、ユーザが要求したよりもこの並列ジョブのために1つのタスクをより多く割り当てる。詳細については、sge_pe(5)、 "allocation_rule"を参照してください。

このパラメータには、リソース要求のすべてのプロパティがあり、前述の-lオプションから派生した要件とマージされます。

qalterは、ジョブの実行中でもこのオプションを変更することができます。ただし、変更されたパラメータは、ジョブの再起動または移行後にのみ有効になります。

このオプションまたはqmonの対応する値が指定されている場合、このハードリソース要件は、定義されたJSVインスタンスにmasterqという名前のパラメータとして渡されます。 (上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-mods parameter key value

qsub、qrsh、qalterにのみ使用できます。

リソース要求、ジョブコンテキスト、環境変数などのリストベースのジョブパラメータのエントリを変更できる可能性があります。

-addsおよび-clearsスイッチを使用して、ジョブパラメータリストの単一のエントリを追加または削除できます。

パラメータ、キー、および値の引数については、上記の-addsセクションで詳しく説明しています。

-mbind 

qsub、qrsh、およびqalterで使用可能です。 lx-amd64実行ホストでのみサポートされています(詳細については、実行ホストでutilbin / loadcheck -cbを試してください)。

ジョブのすべてのプロセスおよびサブプロセスのメモリ割り当て方法を設定します。 NUMAアーキテクチャの実行ホストでは、メモリアクセスレイテンシとメモリスループットは、メモリが割り当てられているNUMAノードとジョブが実行されているソケット/コアによって異なります。メモリ割り当てに影響を与えるために、異なるサブミットオプションが提供されます:

-mbind cores  
ジョブがコアバインドでバインドされているNUMAノード上のメモリーを優先します。 -bindingでコアバインディングセットが必要です。オプションの "m_mem_free"要求は、ジョブがバインドされているコアに応じて、暗黙のNUMAノード要求( "m_mem_free_n <node>")をスケジューリング時に強制されます。詳細については、"-mbind core:strict"を参照してください。

-mbind cores:strict 
ジョブはバインドされているNUMAノードでのみメモリを割り当てることができます。 -bindingでコアバインディングセットが必要です。オプションの "m_mem_free"要求は、スケジューリング時に、ジョブがバインドされているコアに応じてNUMAノードごとの暗黙の要求( "m_mem_free_n <node>")によって拡張されます。 NUMAノードごとに選択されたコアの量と1スロットあたりの合計メモリ要求量は、NUMAノードごとに必要なメモリの量を決定します。したがって、 "m_mem_free"メモリ要求を使用する場合、ジョブは特定量の空きメモリを提供するソケットにのみスケジューリングされます。

-mbind round_robin 
インターリーブされたメモリアクセスへのジョブのメモリ割り当て方法を設定します。メモリリソース要求 "m_mem_free"が使用されると、スケジューラは実行ホスト上のすべてのNUMAノード( "m_mem_free_n <node>")に対する暗黙的メモリ要求も追加します。

-mbind nlocal 
割り当てルール "$ pe_slots"を持つ並列環境を使用するシリアルジョブまたはジョブに対してのみ許可されます。逐次処理またはマルチスレッドのジョブをコアまたはソケットに自動的にバインドし、適切なメモリ割り当て戦略を設定します。 "m_mem_free"ホスト複合体に対するリソース要求が必要です。スケジューラの動作は、ジョブがシリアルジョブかマルチスレッド並列ジョブ(割り当てルール "$ pe_slots"を持つPEジョブ)のいずれであるかによって、または、実行ホストの特性にも依存します。 -bindingスイッチで暗黙のコアバインディングを無効にすることはできません。

逐次ジョブのスケジューラー・アルゴリズムは次のとおりです:
 

  • ホストが "m_mem_free"要求を満たすことができない場合、ホストはスキップされます。

  • ジョブが各ソケットでフ空きメモリ以上の量を要求するが、ソケットにそれほどインストールされていない場合は、そのホストはスキップされます。

  • メモリ要求がソケット上の空きメモリ量よりも「小さい」場合は、ジョブを「ソケット上の1つのコア」にバインドし、このソケットのメモリ量を減らしてください( "m_mem_free_n <nodenumber>")。このホスト上のグローバルホストメモリ "m_mem_free"もデクリメントされます。

  • メモリ要求がソケット上の空きメモリ量より大きい場合、バインドされていないソケットを見つけてそこに完全にバインドし、メモリオーバーフローを許可します。 "m_mem_free"と "m_mem_free_n <socketnumber>"からのデクリメントし、メモリラウンドロビンは残りのソケットからのデクリメントします。

  • 両方が不可能な場合は、次のホストに移動します。

 

並列ジョブのスケジューラー・アルゴリズムは次のとおりです。

 

  •  "m_mem_free"て指定されたメモリ量を提供しないホストはスキップされます(もちろん、要求された空きスロット数を提供しないホストもスキップされます)。

  • 要求されたスロット数がソケットあたりのコア数より大きい場合、ジョブはバインディングなしでホストにディスパッチされます。

  • 要求されたスロット数がソケットあたりのコア数より少ない場合は、次のようにします。

    • 十分なメモリ( "m_mem_free_n <N>")を持つソケットがあれば、十分な空きコアがジョブをこれらのコアにバインドし、メモリ割り当てモードを "cores:strict"に設定します(つまりジョブはローカルメモリだけをリクエストします)。 

    • これが不可能な場合は、完全にアンバインドされており、必要な量のメモリがインストールされているソケット( "m_mem_total_n <N>")を見つけることを試みてください。ジョブを完全なソケットにバインドし、そのソケットのメモリを "m_mem_free_n <N>"(また、 "m_mem_free"上のホストと同様に)減らし、メモリ割り当て方式を "cores"に設定します(ソケットローカルメモリを優先使用) 。

パラメータが "m_mem_free" complexを要求している場合、結果のNUMAノードのメモリ要求はqstat出力の "implicit_requests"行に表示されます。

 

NUMAノードごとの暗黙的な要求に対するリソース予約とコアバインディングのトポロジ選択は、まだリソース予約できないことに注意してください。

 

-mbindオプションで指定された値は、設定されている場合にのみ、定義されたJSVインスタンス( "mbind"として)に渡されます。 JSVは、パラメータを "round_robin"、?? "cores"、 "cores:strict"、または "NONE"として設定できます。ジョブクラスには同じ値を使用できます。

 

-notify

qsub、qrsh(コマンド付き)およびqalterでのみ使用できます。

このフラグを設定すると、Univa Grid Engineは、シグナル自体を送信する前に実行中のジョブに「警告」信号を送信します。 SIGSTOPが保留中の場合、ジョブはSIGSTOPの数秒前にSIGUSR1を受信します。 SIGKILLが保留中の場合、ジョブはSIGKILLの数秒前にSIGUSR2を受け取ります。このオプションは、SIGSTOPまたはSIGKILLを受信する前に実行中のジョブを提供します。クリーンアップ操作。時間遅延の量は、各キュー構成(queue_conf(5)を参照)のnotifyパラメータによって制御されます。

初期のPosixスレッド実装では、Linuxオペレーティングシステムが、SIGUSR1とSIGUSR2のユーザーシグナルを誤用していたことに注意してください。 Linuxのジョブでマルチスレッドアプリケーションを実行している場合、特に2.0以前のカーネルでは、-notifyオプションを使用したくない場合があります。

qalterは、ジョブの実行中でもこのオプションを変更することができます。

このオプションが使用されている場合のみ、値 y のnotifyという名前のパラメータが、定義されたJSVインスタンスに渡されます。 (上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-now y[es]|n[o]

qsub、qsh、qlogin、およびqrshで使用可能です。

-nowはすぐにジョブを開始しようとします。このコマンドは、成功した場合は0を、失敗した場合は1を返します(ジョブをすぐにスケジュールできなかった場合も同様です)。 -nowオプションを指定して送信された配列ジョブの場合、1つまたは複数のタスクをすぐにスケジュールすることができれば、ジョブは受け入れられます。そうでない場合は、まったく開始されません。

-now yオプションを指定して送信されたジョブは、インタラクティブキューでのみ実行できます。 -now yはqsh、qloginおよびqrshのデフォルトです。

-now nオプションを指定すると、直ちに実行できないジョブは保留キューに入れられます。 -nはqsubのデフォルトです。

このオプションで指定された値またはqmonで指定された対応する値は、値がyesの場合にのみ、定義されたJSVインスタンスに渡されます。パラメータの名前が変更されます。サブミット時に長いフォームが指定された場合も、値はyになります。 (上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-N name

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。

ジョブの名前。名前はsge_types(1)の "name"の定義に従う必要があります。無効なジョブ名は送信時に拒否されます。

-Nオプションが指定されていない場合、スクリプト名からディレクトリパス名が削除された後、Univa Grid Engineはジョブスクリプトの名前をジョブに割り当てます。スクリプトが標準入力から読み取られる場合、ジョブ名はデフォルトでSTDINになります。

-Nオプションが指定されていないqshまたはqloginの場合、文字列INTERACTがジョブに割り当てられます。

qrshの場合、-Nオプションが指定されていない場合、結果のジョブ名は、最初のセミコロンまたは空白の出現までの引き数文字列を使用し、ディレクトリー・パス名を除去することによって、qrshコマンド行から判別されます。

qalterは、ジョブの実行中でもこのオプションを変更することができます。

このオプションで指定された値またはqmonで指定された対応する値は、定義されたJSVインスタンスにNという名前のパラメータとして渡されます(上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照)。
 

-noshell

qrshにのみ使用できます。

ユーザーのログインシェルでqrshに与えられたコマンド行を開始しないでください。つまり、ラッピングシェルなしで実行してください。

このオプションは、シェルの起動やシェルリソースファイルのソースのようなオーバーヘッドが回避されるため、実行を高速化するために使用できます。

このオプションは、シェル固有のコマンドライン解析が不要な場合にのみ使用できます。コマンドラインに環境変数置換やバッククォートのようなシェル構文が含まれている場合は、シェルを起動する必要があります。この場合、コマンドラインに-noshellオプションを使用したり、シェル呼び出しを含めたりしないでください。

Example:
qrsh echo '$HOSTNAME'
Alternative call with the -noshell option
qrsh -noshell /bin/tcsh -f -c 'echo $HOSTNAME'

 

-nostdin

qrshに対してのみ使用できます。

入力ストリームを抑制するSTDIN  -  qrshはオプション-nをrsh(1)コマンドに渡します。これは、複数のタスクがqrshを使用して並列に実行される場合に特に便利です。 make(1)プロセスでは、それは未定義となり、どのプロセスが入力を取得します。

 

-o [[hostname]:]path,...

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。

ジョブの標準出力ストリームに使用されるパス。パスは、標準エラー・ストリームの-eオプションで説明されているように処理されます。

デフォルトでは、標準出力のファイル名は、配列ジョブタスクの場合はjob_name.ojob_idとjob_name.ojob_id.task_idの形式になります(下記の-tオプションを参照)。

qalterは、ジョブの実行中でもこのオプションを変更することができます。ただし、変更されたパラメータは、ジョブの再起動または移行後にのみ有効になります。

このオプションまたはqmonの対応する値が指定されている場合、この値は定義されたJSVインスタンスに、名前oのパラメータとして渡されます。 (上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-ot override_tickets

qalterのみで利用可能です。

指定されたジョブのオーバーライドチケットの数を変更します。マネージャ/オペレータ権限が必要です。

-P project_name

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。

このジョブが割り当てられているプロジェクトを指定します。管理者は、特定のプロジェクトにジョブをサブミットする権限を個々のユーザーに与える必要があります。 (qconf(1)の-aprjオプションを参照)。

このオプションまたはqmonの対応する値が指定されている場合、この値は定義されたJSVインスタンスに、名前otのパラメータとして渡されます。 (上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-p priority

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。

他のジョブに対するジョブの優先順位を定義または再定義します。優先度は-1023~1024の整数です。ジョブのデフォルトの優先度は0です。

ユーザーはジョブの優先順位を下げることができます。グローバル・コンフィギュレーションでALLOW_INCREASE_POSIX_PRIORITYパラメータがqmaster_paramとして設定されている場合、ユーザーは自分のジョブの優先順位を最大0まで増やすこともできます。

Univa Grid Engineのマネージャとオペレータは、ALLOW_INCREASE_POSIX_PRIORITY設定とは独立したジョブに関連する優先度を増やすこともできます。

保留中のジョブの優先度が高い場合は、Univa Grid Engineスケジューラによってディスパッチされる前に優先されます。

このオプションまたはqmonの対応する値が指定され、優先順位が0でない場合、この値は定義されたJSVインスタンスにpという名前のパラメータとして渡されます。 (上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-pe parallel_environment n[-[m]]|[-]m,...

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。

インスタンス化する並列プログラミング環境(PE)。 PEの詳細については、sge_types(1)を参照してください。

qalterは、ジョブの実行中でもこのオプションを変更することができます。ただし、変更されたパラメータは、ジョブの再起動または移行後にのみ有効になります。

このオプションまたはqmonの対応する値が指定されている場合、パラメータpe_name、pe_minおよびpe_maxは、構成されたJSVインスタンスに渡されます。ここで、pe_nameは並列環境の名前になり、pe_minおよびpe_maxの値は、 -peオプションが付いています。指定されていないmの指定は、JSVスクリプトで値9999999として展開され、無限の値を表します。

-peオプションで複数の範囲を指定することができるため、JSVインスタンスpe_nには指定された範囲の数が含まれます。範囲の内容は、変数名にインデックスを追加することで対応できます。 JSV変数pe_min_0は、最初の範囲の最初の最小値を表します。

 

(上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-pty y[es]|n[o]

qrsh、qlogin、およびqsubにのみ使用できます。

-pty yesは、擬似端末(pty)でジョブを開始するように強制します。 ptyが利用できない場合、ジョブの開始は失敗します。 -pty noは、ジョブがptyなしで開始されるように強制します。デフォルトでは、コマンドを使用しないqrshとqloginはptyでジョブを開始し、qrshはコマンドでqsubはptyなしでジョブを開始します。

送信時にこのスイッチが指定されたという情報は、Grid Engineのオープンソース版のJSVコンテキストでは使用できません。

Univa Grid Engineでは、ptyという名前の変数が使用可能になり、スイッチが省略されたときには値u、スイッチではy [es]またはn [o]がパラメータとして渡されたときに値yまたはnになります。このパラメータはJSVコンテキストで変更して、コマンドラインのクライアントとジョブの動作に影響を与えることができます。

(上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)
 

-q wc_queue_list

qsub、qrsh、qsh、qloginおよびqalterで使用できます。

このジョブの実行に使用される可能性があるクラスタ・キュー、キュー・ドメインまたはキュー・インスタンスのリストを定義または再定義します。 sge_types(1)のwc_queue_listの説明を参照してください。このパラメータには、リソース要求のすべてのプロパティがあり、前述の-lオプションから派生した要件とマージされます。

qalterは、ジョブの実行中でもこのオプションを変更することができます。ただし、変更されたパラメータは、ジョブの再起動または移行後にのみ有効になります。

このオプションまたはqmonの対応する値が指定されている場合、これらのハードおよびソフトリソース要件は、q_hardおよびq_softという名前のパラメータとして定義されたJSVインスタンスに渡されます。リソース要求に正規表現を使用する場合、これらの式はそのまま渡されます。また、ショートカット名は展開されません。

 

(上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-R y[es]|n[o]

qsub、qrsh、qsh、qloginおよびqalterで使用できます。

このジョブの予約を行う必要があるかどうかを示します。即時のジョブ、つまり-now yesオプションを使用して送信されたジョブの予約は決して行われません。予約要求にかかわらず、sched_conf(5)のmax_reservationを使用してジョブ予約を無効にすることができ、一定数の優先度の高いジョブに限定することができます。

デフォルトでは、ジョブは-R nオプションを付けて送信されます。

このオプションで指定された値またはqmonで指定された対応する値は、値がyesの場合にのみ、定義されたJSVインスタンスに渡されます。パラメータの名前はRになります。サブミット時に長いフォームが指定された場合も、値はyになります。

 

(上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-r y[es]|n[o]

qsubとqalterでのみ使用できます。

ジョブを再実行するかどうかを指定します。 -rの値が 'yes'であるならば、整合性のあるexit stateを残さずにジョブが中止された場合、ジョブは再実行されます。 (これは、通常、ジョブが実行されているノードがクラッシュした場合です)。 -rが 'no'であるならば、どのような状況でもジョブは再実行されません。 qsh、qrshまたはqloginで送信された対話式ジョブは、再実行できません。

qalterは、ジョブの実行中でもこのオプションを変更することができます。

このオプションで指定された値またはqmonで指定された対応する値は、値がyesの場合にのみ、定義されたJSVインスタンスに渡されます。パラメータの名前はrになります。サブミット時に長いフォームが指定された場合も、値はyになります。 (上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-rou variable,...

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。

レポートファイルとレポートデータベースに書き込まれるジョブレポート属性(cpu、mem、vmemなど)を指定するために使用されます。

変数はコンマ区切りのリストとして指定されます。

ジョブごとのレポート変数を指定すると、グローバルクラスタ設定のreporting_paramsで実行されるグローバル設定が上書きされます(sge_conf(5)も参照)。
 

-sc variable[=value],...

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。

指定された名前と値のペアをジョブのコンテキストとして設定します。値は省略することができます。 Univa Grid Engineは、ジョブの以前に定義されたコンテキストを引数として与えられたものに置き換えます。複数の-ac、-dc、および-scオプションを指定できます。順序は重要です。変数名は、文字 "+"、 " - "または "="で始めてはいけません。

コンテキストは、ジョブとの間でメタ情報を動的にアタッチおよび削除する方法を提供します。コンテキスト変数は、環境内のジョブの実行コンテキストに渡されません。

qalterは、ジョブの実行中でもこのオプションを変更することができます。

すべての-ac、-dc、および-scオプションまたはqmonの対応する値の評価結果は、acという名前のパラメータとして定義されたJSVインスタンスに渡されます。

 

(上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

 

-shell y[es]|n[o]

qsubにのみ使用できます。

-shell nを指定すると、qsubはexec(2)のようにコマンドラインを直接実行します。ジョブに対してコマンドシェルは実行されません。このオプションは、-b yも使用する場合にのみ適用されます。 -b yを指定しないと、-shell nは効果がありません。

このオプションは、シェルの起動やシェルリソースファイルのソースのようなオーバーヘッドとして実行を高速化するために使用できます。

このオプションは、シェル固有のコマンドライン解析が不要な場合にのみ使用できます。コマンドラインに環境変数置換やバッククォートのようなシェル構文が含まれている場合は、シェルを起動する必要があります。この場合は、-shell nオプションを使用しないでください。コマンドラインとしてシェルを実行し、そのパスをパラメータとして実行可能ファイルに渡してください。

-shell nオプションで実行されたジョブが、実行可能ファイルへの無効なパスなどのユーザーエラーによって失敗した場合、ジョブはエラー状態になります。


-shell yは、以前の-shell nの効果をキャンセルします。それ以外の場合、効果はありません。

詳細については、-bと-noshellを参照してください。

 

このオプションで指定された値またはqmonで指定された対応する値は、値がyesの場合にのみ、定義されたJSVインスタンスに渡されます。パラメータの名前はシェルになります。提出時に長いフォームが指定された場合も、値はyになります。

 

(上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-si session_id

qsub、qsh、qrsh、qloginおよびqalterで使用可能です。

クライアントからsge_qmaster(1)デーモンに送信された要求は、指定されたセッションの一部として実行されます。スイッチが省略されている場合、またはNONEがsession_idとして指定されている場合、そのような要求はセッションの制御外で実行されます。

session_conf(5)のセッションに関する詳細情報を参照してください。

-soft  

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。

コマンドラインに続くすべてのリソース要件がソフト要件であり、 "利用可能な"基準で満たされることを示します。

-soft要求として宣言されている場合、消費可能リソース要件の範囲を指定することは可能です。ソフト範囲の詳細については、-lオプションの説明を参照してください。

Univa Grid EngineはUniva Grid Engineのオプションとパラメータのコマンドラインとスクリプトファイルをスキャンするので、ジョブが必要とするリソースのリストを作成します。このようなリソース要求はすべて、ジョブの開始に不可欠とみなされます。スキャン中に-softオプションが検出された場合、後続のすべてのリソースは実行のための「ソフト要件」または「必須ではありませんが必須」と指定されます。スキャンの後半で-hardフラグ(上記を参照)が検出されると、それに続くすべてのリソース要求が再び「必須」になります。実際の-hardと-softオプションは、スキャン中に「トグル」として機能します。

このオプションまたはqmonの対応する値が指定されている場合、対応する-qおよび-lリソース要件が、q_softおよびl_softという名前のパラメータとして定義されたJSVインスタンスに渡されます。 -qと-lを記述するセクションで情報を探します。

 

(上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-sync y|n|l|r

qsubで利用可能です。

-sync yを指定すると、qsubはジョブが終了するまで待機します。ジョブが正常に完了すると、qsubの終了コードは完了したジョブの終了コードになります。ジョブが正常に完了しなかった場合、qsubはジョブが失敗した理由を示すエラーメッセージを出力し、終了コードは1になります。qsubが中断された場合、たとえば次のようになります。 CTRL-Cを押すと、ジョブが完了する前にジョブがキャンセルされます。

-sync nオプションを指定すると、qsubは、ジョブが正常に送信されるとすぐに終了コード0で終了します。 -sync nはqsubのデフォルトです。

-sync yを-now yと組み合わせて使用すると、qsubはジョブが正常にスケジュールされるまで-now yだけが与えられたように振る舞います。その後、qsubは-sync yが与えられたように振る舞います。 -t n [-m [:i]]と一緒に-sync yを使用すると、qsubはすべてのジョブのタスクが完了するのを待って終了します。すべてのジョブのタスクが正常に完了すると、qsubの終了コードは、終了コードが0でない最初の完了したジョブタスクの終了コードになります。終了コードが0のジョブタスクがすべて終了した場合は0になります。 qsubは、ジョブ・タスクが失敗した理由を示すエラー・メッセージを出力し、終了コードが1になります。qsubが中断された場合、たとえばCTRL-Cを押すと、ジョブが完了する前にジョブのすべてのタスクがキャンセルされます。 -sync lオプションを使用すると、qsubはジョブがl-state(License Orchestratorに送信されたライセンス要求)に変わるとすぐに適切なメッセージを出力します。

-sync rオプションを指定すると、qsubはジョブが実行されるとすぐに適切なメッセージを出力します。

これらのオプションはすべて組み合わせることができます。最後のイベントが発生するとqsubは終了します。

送信時にこのスイッチが指定されたという情報は、Grid Engineのオープンソース版のJSVコンテキストでは使用できません。

Univa Grid Engineでは、syncという名前の変数が使用可能になり、スイッチが使用されたときに値yを持ちます。 JSVコンテキスト内でパラメータ値を変更することはできません。

(上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

 

-S [[hostname]:]pathname,...

qsub、qsh、およびqalterで使用可能です。

ジョブの解釈シェルを指定します。ホスト指定子のないパス名コンポーネントは有効で、指定されたホストのパス名は1つだけです。ホストが実行ホストの場合、ジョブの解釈シェルを定義します。実行ホストがリスト内のいずれのホストとも一致しない場合は、ホスト指定のないシェルパスが使用されます。

さらに、上記の-eオプションについて説明したように、擬似環境変数を使用してパス名を構成することもできます。

qshの場合、指定されたシェル・パスは、対話式ジョブのために開始されたxterm(1)の対応するコマンド・インタープリターを(-eオプションを介して)実行するために使用されます。 qalterは、ジョブの実行中でもこのオプションを変更することができます。ただし、変更されたパラメータは、ジョブの再起動または移行後にのみ有効になります。

このオプションまたはqmonの対応する値が指定されている場合、この値は定義されたJSVインスタンスにSという名前のパラメータとして渡されます。

 

(上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照)

-t n[-m[:s]]

qsubにのみ使用できます。

qalterを使用してアレイジョブのサイズを変更することはできませんが、変更する必要のあるタスクに対処するために-tをジョブIDと組み合わせて使用??できます。

いわゆるアレイジョブを提出します。つまり、同一のタスクの配列は、インデックス番号のみで区別され、Univa Grid Engineによって一連のジョブとほとんど同じように扱われます。 -tのオプション引数は、配列ジョブのタスク数とタスクに関連付けられるインデックス番号を指定します。索引番号は、環境変数SGE_TASK_IDを介してジョブ・タスクにエクスポートされます。オプション引数n、m、およびsは、環境変数SGE_TASK_FIRST、SGE_TASK_LAST、およびSGE_TASK_STEPSIZEを介して使用できます。

値nおよびmには次の制限が適用されます。

1 <= n <= MIN(2^31-1, max_aj_tasks)
1 <= m <= MIN(2^31-1, max_aj_tasks)
n <= m

max_aj_tasksはcluster configurationで定義されています(sge_conf(5)を参照)。

オプション引数に指定されたタスクidの範囲は、単一の数値、形式n-mの簡単な範囲またはステップサイズの範囲です。したがって、2-10:2で指定されたタスクID範囲は、合計5つの同一のタスクに対して、それぞれタスクIDインデックス2,4,6,8、および10をもたらします(それぞれの環境変数SGE_TASK_IDには、5個のインデックス番号)。

 

すべての配列ジョブ・タスクは、-tオプションを除き、qsubまたはqalterコマンド行で指定されているものと同じリソース要求および属性定義を継承します。タスクは独立してスケジュールされ、十分なリソースが存在する場合は、同時に、別々のジョブに非常に似ています。しかし、qmod(1)やqdel(1)のようなコマンドで、配列ジョブやそのサブアレイを単一のユニットとしてアクセスすることができます。詳細については、対応するマニュアルページを参照してください。

配列ジョブは、タスク索引番号と相関関係がある様々な入力データ・セットに対して同じタイプの操作を実行するために一般的に使用されます。アレイジョブのタスク数には制限がありません。

アレイジョブのタスクのSTDOUTとSTDERRは、デフォルトの場所で別のファイルに書き込まれます。

<jobname>.['e'|'o']<job_id>'.'<task_id>


このデフォルトを変更するには、疑似環境変数$ HOME、$ USER、$ JOB_ID、$ JOB_NAME、$ HOSTNAME、$ TASK_IDとともに-eオプションと-oオプション(上記参照)を使用できます。

出力リダイレクトを使用すると、すべてのタスクの出力を同じファイルに振り分けることができますが、その結果は未定義です。

このオプションまたはqmonの対応する値が指定されている場合、この値は定義されたJSVインスタンスに、名前がt_min、t_maxおよびt_stepのパラメータとして渡されます。

 

(上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照)

 

-tc max_running_tasks

qsubとqalterでのみ使用できます。

ジョブごとに同時に実行されるタスクの最大数に制限を設定するために、アレイジョブ(-tオプションを参照)と組み合わせて使用できます。

このオプションまたはqmonの対応する値が指定されている場合、この値は定義されたJSVインスタンスにtcという名前のパラメータとして渡されます。 (上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

 

-tcon y[es]|n[o]

Available for qsub only.


配列ジョブ(-tオプションを参照)と組み合わせて使用すると、並行配列ジョブをサブミットできます。

並列アレイジョブの場合、すべてのタスクを1回のスケジューリング実行で開始するか、ジョブ全体が保留されたままになります。

-now yオプションと組み合わせると、すぐにすべてのタスクをスケジュールできるわけではない場合、即時並行配列ジョブは拒否されます。

-tcon yスイッチは-tcおよび-Rスイッチと組み合わせることはできません。

このオプションを指定すると、その値(yまたはn)が、定義されたJSVインスタンスにtconという名前のパラメータとして渡されます。 (上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

アレイのタスクの並行性は、グローバルクラスタ構成のMAX_TCON_TASKS qmaster_param設定で有効にしたり、制限したりできます。sge_conf(1)を参照してください。デフォルトでは、配列タスクの並行性は無効になっています。

並列アレイジョブの送信は、サイズがmax_aj_tasksまたはmax_aj_instancesの設定を超えた場合に拒否されます(sge_conf(1)を参照)。 max_aj_instancesが保留中の並行配列ジョブのサイズよりも小さくなると、このジョブは保留状態のままです。

-terse 

qsubにのみ使用できます。

-terseを指定すると、通常の「Your job ...」文字列ではなく、送信されるジョブのジョブIDだけがqsubに表示されます。エラーが発生した場合は、通常通りstderrにエラーが報告されます。

これは、ジョブIDを取得するためにqsub出力を解析する必要があるスクリプトに役立ちます。

送信時にこのスイッチが指定されたという情報は、Grid Engineのオープンソース版のJSVコンテキストでは使用できません。

Univa Grid Engineでは、terseという名前の変数が使用可能になり、スイッチが使用されたときに値yを持ちます。このパラメータはJSVコンテキストで変更して、コマンドラインクライアントの動作に影響を与えることができます。

(上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-u username,...

qalterのみで利用可能です。

変更は、ユーザー名のリストで指定されたユーザーによって送信されたジョブに対してのみ行われます。管理者は、qalter -u '*'コマンドを使用して、すべてのユーザーのすべてのジョブを変更することができます。

-uスイッチを使用すると、追加のwc_job_range_listを指定することはできません。

-v variable[=value],...

qsub、qrsh(コマンド引き数付き)およびqalterで使用できます。

ジョブの実行コンテキストにエクスポートされる環境変数を定義または再定義します。 -vオプションが指定されている場合、Univ Grid Engineは、スイッチに引数として定義された環境変数とオプションで指定された変数の値をジョブの実行コンテキストに追加します。

qalterは、ジョブの実行中でもこのオプションを変更することができます。ただし、変更されたパラメータは、ジョブの再起動または移行後にのみ有効になります。

-v、-Vまたは-displayで指定されたDISPLAY変数で指定されたすべての環境変数は、ジョブのサブミットの検証中に明示的に要求された場合にのみ、オプションでのみ定義されたJSVインスタンスにエクスポートされます。

送信時に-Vスイッチが指定されたという情報は、Grid Engineのオープンソース版のJSVコンテキストでは使用できません。

(上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください。

-verbose

qrshおよびqmake(1)でのみ使用できます。

qshおよびqloginとは異なり、標準rsh(1)およびrlogin(1)システムコールに準拠して、qrshはセッションを確立する際に情報メッセージを出力しません。 -verboseオプションが設定されている場合、qshshはqshおよびqloginコマンドのように動作し、rsh(1)またはrlogin(1)セッションを確立するプロセスに関する情報を出力します。

-verify

qsub、qsh、qrsh、qloginおよびqalterで使用可能です。

ジョブをサブミットする代わりに、qstat(1)-jが使用されたかのように、コマンド行パラメータと外部環境の影響を含め、ジョブの詳細な情報を出力します。

-V     

qsub、qsh、qrshおよびcommandとqalterで使用できます。

qsubユーティリティ内でアクティブなすべての環境変数をジョブのコンテキストにエクスポートすることを指定します。

-v、-Vまたは-displayで指定されたDISPLAY変数で指定されたすべての環境変数は、ジョブのサブミットの検証中に明示的に要求された場合にのみ、オプションでのみ定義されたJSVインスタンスにエクスポートされます。

Univa Grid Engineでは、-Vという名前の変数が使用可能になり、スイッチが使用されたときに値がyになります。 (上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)

-w e|w|n|p|v

qsub、qsh、qrsh、qloginおよびqalterで使用可能です。

サブミットされるジョブ(qsub、qlogin、およびqsh)または指定された待ちジョブ(qalter)に適用される検証レベルを指定します。表示される情報は、他のジョブがない空のシステムを想定してジョブをスケジュールできるかどうかを示します。構成された最大しきい値を超えるリソース要求または使用不可能なリソース属性を要求するリソース要求は、ジョブがこの検証を失敗する可能性があります。

指定子e、w、n、およびvは、次の検証モードを定義します。

`e'  error - 無効な要求を持つジョブは拒否されます。
`w'  warning - 無効な要求に対して警告のみが表示されます。
`n'  none - 検証をオフにします。 qsub、qalter、qrsh、qsh、およびqloginのデフォルト値。
`p'  poke - ジョブをサブミットしませんが、クラスタに基づいた検証レポートを、すべてのリソースの使用状況をそのまま維持して出力します。
`v'  verify - ジョブをサブミットしませんが、空のクラスタに基づいて検証レポートを出力します。

必要なチェックはパフォーマンスを消費するため、チェックはデフォルトでオフになっています。負荷値は、変化が大きいと想定されるので、検証では考慮されないことにも留意してください。送信時に-w e検証を渡すために、complex_valuesにnon-volatile values(non-consumable)または最大値(consumable)を指定することができます。

-wd working_dir

qsub、qsh、qrsh、およびqalterでのみ使用できます。

working_dirで指定されたディレクトリからジョブを実行します。このスイッチは、対応する設定ファイルが存在する場合、Univa Grid Engineのパスエイリアシング機能を有効にします(sge_aliases(5)を参照)。

qalterは、ジョブの実行中でもこのオプションを変更することができます。ただし、変更されたパラメータは、ジョブの再起動または移行後にのみ有効になります。パラメータ値は、定義されたJSVインスタンスでパラメータとしてcwdという名前で使用できます(上記の-cwdスイッチを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)。

-when [now|on_reschedule]

qalterのみで利用可能です。

qalterでは、実行中のジョブのリソース要求を変更できます。-when now が設定されている場合は、可能な場合はすぐに変更が行われます(consumable only)。 on_reschedule(デフォルト)が設定されている場合、ジョブが再スケジュールされると変更が有効になります。

command

qsubおよびqrshにのみ使用できます。

ジョブのスクリプトファイルまたはバイナリ。存在しない場合、またはオペランドが単一文字ストリング ' - 'である場合、qsubは標準入力からスクリプトを読み取ります。

このコマンドは、定義済みのJSVインスタンスで、CMDNAMEという名前のパラメータとして使用できます(上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)。

-xd docker_option

Dockerジョブをサブミットする場合にのみ、qsub、qsh、qrsh、qloginおよびqalterで使用できます。

Dockerジョブ用のコンテナの作成に使用される任意のDocker実行オプションを指定するには、-xdスイッチを使用します。

 

docker runは、Docker Engineの一部であるdockerコマンドのrunオプションを意味します。docker runオプションおよび/またはその引数にスペースが含まれている場合は、引用符を付ける必要があります。 qsub -xd "-v /tmp:/hosts_tmp"と入力します。複数のDocker実行オプションはカンマで区切って1つの-xdオプション付きリストとして指定することができます。

qsub -xd --net=usernet、--ip=192.168.99.10、--hostname=test

-xd --helpは、Unlocked Grid Engineでサポートされている場合、ドッキングランオプションのリストと、オプションがサポートされていない理由、代わりに使用するオプション、またはDocker実行オプションがDocker API経由でDockerにどのように渡されるかを示すコメントを表示します。

プレースホルダは、Dockerオプションの引数として使用できます。これらのプレースホルダは、プレースホルダに対応するジョブのリソースマップ(RSMAP)要求に基づいてジョブ用にUniva Grid Engine Schedulerが選択した値で解決されます。

これらのプレースホルダーのフォーマットは次の通り:

<placeholder> := ${ <complex_name> "(" <index> ")" }

 

complex_nameはsge_types(1)で定義され、このジョブに要求されるリソース・マップの名前です。 indexは、使用するリソースマップの要素のインデックスです。最初の要素はインデックス0を持ちます。

これらのプレースホルダの使用は、RSMAPのタイプが"consumable=HOST"である場合にのみサポートされます。特定のホスト上のパラレルタスクに付与されたリソースマップ要素のリストは、そこでスケジュールされたタスクの数に依存するため、"consumable=YES"および"consumable=JOB"はサポートされていません。

 

PEジョブのマスタタスクはDockerコンテナで実行されないため、-masterl要求はなく、-l要求のみが考慮されます。

 

置換は、同じホスト上で実行されているすべてのPEタスクで同じです。したがって、PE allocation rule= 1と組み合わせてプレースホルダ置換を使用するだけでよいでしょう。

例:リソースマップがホスト上で次の値を定義している場合:gpu_map=4(0 1 2 3) 
 

このqsubコマンドラインが使用されます。

# qsub -l docker,docker_images="*some_image*",gpu_map=2
-xd "--device=/dev/gpu${gpu_map(0)}:/dev/gpu0,
     --device=/dev/gpu${gpu_map(1)}:/dev/gpu1" ...

スケジューラはリソースマップから要素 "1"と "3"を選択すると、コマンドラインは次のように解決されます。

# qsub -l docker,docker_images"*some_image*",gpu_map=2
-xd "--device=/dev/gpu1:/dev/gpu0,
     --device=/dev/gpu3:/dev/gpu1"...

 

つまり、物理GPU「gpu1」と「gpu3」はコンテナ内の仮想GPU「gpu0」と「gpu1」にマッピングされ、同時にすべてのUniva Grid Engineジョブの中で現在のジョブ専用に予約されています。

-xdv docker_volume

qsub、qsh、qrsh、qloginおよびqalterでのみ使用できます。

ジョブがdockerコンテナ内で実行されている場合、-xdvスイッチを使用して、dockerコンテナにマウントするdockerボリュームを指定できます。 docker_volumeは、docker実行コマンドラインオプション-vの構文に従って指定します。docker run(1)のマニュアルページを参照してください。コンマで区切ったボリュームのリストを-xdvスイッチに渡すか、-xdvスイッチを繰り返して、複数のボリュームをマウントすることができます。

-xdvスイッチは廃止され、Univa Grid Engineの将来のバージョンでは削除され、代わりに-xd --volumeが使用されます。

 

command_args

qsub、qrsh、およびqalterでのみ使用できます。

ジョブへの引数。スクリプトが標準入力から入力された場合は無効です。

qalterは、ジョブの実行中でもこのオプションを変更することができます。ただし、変更されたパラメータは、ジョブの再起動または移行後にのみ有効になります。

コマンド引数の数は、構成されたJSVインスタンスに、CMDARGSという名前のパラメータとして提供されます。また、引数値にアクセスすることもできます。引数名の形式はCMDARG <number>です。ここで<number>は0からCMDARGS  -  1までの整数です(上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)。

xterm_args

qshのみで使用できます。

設定で定義されているxterm(1)実行可能ファイルへの引数。詳細は、sge_conf(5)を参照してください)。

xterm_argsに関する情報は、CMDARGSおよびCMDARG <number>という名前のパラメーターとしてJSVコンテキストで使用できます。上記の詳細については、command_argsセクションを参照してください。 (上記の-jsvオプションを参照するか、jsv(1)のJSVに関する詳細情報を参照してください)
 

ENVIRONMENTAL VARIABLES

SGE_ROOT       

Univa Grid Engineの標準設定ファイルの場所を指定します。


SGE_CELL       

設定されている場合、デフォルトのUniva Grid Engineセルを指定します。 Univa Grid Engineセルに対処するために、qconfは(優先順位で)以下を使用します。

  • 設定されている場合、環境変数SGE_CELLで指定されているセルの名前。

  • デフォルトのセルの名前(default)。

SGE_DEBUG_LEVEL

設定されている場合、デバッグ情報をstderrに書き込むように指定します。さらに、デバッグ情報が生成される詳細レベルが定義されます。

SGE_QMASTER_PORT

設定されている場合、sge_qmaster(8)が通信要求をリッスンする予定のTCPポートを指定します。ほとんどのインストールでは、代わりにサービスマップエントリを使用してそのポートを定義します。


DISPLAY 

qshジョブの場合、ジョブのサブミット時にDISPLAYを指定する必要があります。 -displayまたは-vスイッチを使用してDISPLAYを設定しないと、DISPLAY環境変数の内容がデフォルトとして使用されます。

-vオプションまたは-Vオプション(上記参照)を介してジョブにエクスポートするように指定された環境変数に加えて、qsub、qsh、およびqloginは、示された値を持つ以下の変数を変数リストに追加します。

SGE_O_HOME     

サブミットした側のクライアントのホームディレクトリ

SGE_O_HOST     

サブミットした側のクライアントのホストネーム

SGE_O_LOGNAME  

サブミットした側のクライアントのLOGNAME

SGE_O_MAIL     

サブミットした側のクライアントのメールディレクトリ(MAIL)

SGE_O_PATH     

サブミットした側のクライアントの実行パス

SGE_O_SHELL    

サブミットした側のクライアントのシェル


SGE_O_TZ

サブミットした側のクライアントのタイムゾーン

 

SGE_O_WORKDIR  

サブミットした側のクライアントのカレントワークディレクトリの絶対パス

 

さらに、Univa Grid Engineは、以下に示すように、ジョブの環境に追加の変数を設定します。

SGE_ARCH

ジョブが実行されているノードのUniva Grid Engineアーキテクチャ名。名前はsge_execd(8)バイナリにコンパイルされます。

SGE_BINDING    

この変数には、選択したオペレーティングシステムの内部プロセッサ番号が含まれます。各コアは複数のプロセッサ識別子で表現できるため、SMTまたはCMTの存在下では選択されたコア以上になる可能性があります。プロセッサ番号はスペースで区切られています。

SGE_CKPT_ENV   

チェックポイントジョブが実行されるチェックポイント環境(-ckptオプションで選択されたもの)を指定します。チェックポイント・ジョブにのみ設定されます。

SGE_CKPT_DIR   

チェックポイント・ジョブにのみ設定されます。チェックポイントインタフェースのパスckpt_dir(チェックポイント(5)を参照)が含まれています。

SGE_CWD_PATH   

ジョブが開始された現在の作業ディレクトリを指定します。

SGE_STDERR_PATH

ジョブの標準エラーストリームが出力されるファイルのパス名。プロローグ、エピローグ、並列環境の開始/停止またはチェックポイントスクリプトからのエラーメッセージを使用して出力するために一般的に使用されます。

SGE_STDOUT_PATH

ジョブの標準出力ストリームが出力されるファイルのパス名。プロローグ、エピローグ、パラレル環境の開始/停止、またはチェックポイントスクリプトからのメッセージで出力するために一般的に使用されます。

SGE_STDIN_PATH

ジョブの標準入力ストリームを取得するファイルのパス名。この変数は、投入ファイルから実行ホストに入力ファイルを転送するために、prolog / epilogスクリプトでSGE_O_HOSTと組み合わせて使用できます。

SGE_JOB_SPOOL_DIR

ジョブ実行中にジョブ関連のデータを格納するためにsge_shepherd(8)が使用するディレクトリ。このディレクトリはrootまたはUniva Grid Engineの管理アカウントによって所有されており、一般的には通常のユーザへの読み取りまたは書き込みアクセス用にオープンしていません。

 

SGE_TASK_ID

現在の配列ジョブタスクのインデックス番号(上記の-tオプションを参照)。これは、各アレイジョブ内の一意の番号であり、たとえば、異なる入力データレコードを参照するために使用できます。この環境変数は、配列以外のジョブでは "undefined"に設定されています。この変数の定義済みの値を-vまたは-Vで変更することは可能です(上記のオプションを参照)。

SGE_TASK_FIRST 

最初の配列ジョブタスクのインデックス番号(上記の-tオプションを参照)。この変数の定義済みの値を-vまたは-Vで変更することは可能です(上記のオプションを参照)。

SGE_TASK_LAST  

最後の配列ジョブタスクのインデックス番号(上記の-tオプションを参照)。この変数の定義済みの値を-vまたは-Vで変更することは可能です(上記のオプションを参照)。

SGE_TASK_STEPSIZE

配列ジョブ指定のステップサイズ(上記の-tオプションを参照)。この変数の定義済みの値を-vまたは-Vで変更することは可能です(上記のオプションを参照)。

ENVIRONMENT    

ENVIRONMENT変数は、Univa Grid Engineの制御下でジョブが実行されていることを識別するためにBATCHに設定されています。

HOME    

passwd(5)ファイルのユーザーのホームディレクトリパス。

HOSTNAME

ジョブが実行されているノードのホスト名。

JOB_ID  

ジョブがサブミットされたときにsge_qmaster(8)によって割り当てられた一意の識別子。ジョブIDは、1?99999の範囲の10進整数です。

JOB_NAME

ジョブ名。バッチジョブまたはコマンドでqrshによって発行されたジョブの場合、ジョブ名はqsubスクリプトのファイル名をベース名として作成されます。 qrshコマンド。対話式ジョブの場合、qshジョブの場合は「INTERACTIVE」、qloginジョブの場合は「QLOGIN」、コマンドのないqrshジョブの場合は「QRLOGIN」に設定されます。

このデフォルトは、-Nオプションで上書きされます。

JOB_SCRIPT     

実行されるジョブスクリプトへのパス。値は、-vまたは-Vオプションで上書きすることはできません。

LOGNAME 

passwd(5)ファイルのユーザーのログイン名。

NHOSTS  

並列ジョブによって使用されているホストの数。

NQUEUES 

ジョブに割り当てられたキューの数(シリアルジョブの場合は常に1)。

NSLOTS  

並列ジョブによって使用されているキュースロットの数。

PATH    

デフォルトのシェル検索パス:
 /usr/local/bin:/usr/ucb:/bin:/usr/bin

SGE_BINARY_PATH

Univa Grid Engineバイナリがインストールされているパス。値は、クラスタ構成値binary_pathとアーキテクチャ名SGE_ARCH環境変数の連結です。

PE      

ジョブが実行される並列環境(並列ジョブの場合のみ)。

PE_HOSTFILE    

Univa Grid Engineによって並列ジョブに割り当てられた仮想並列マシンの定義を含むファイルのパス。このファイルの形式の詳細については、sge_pe(5)の$ pe_hostfileパラメータの説明を参照してください。環境変数は、並列ジョブでのみ使用できます。

QUEUE   

ジョブが実行されているクラスタキューの名前。

REQUEST 

バッチジョブでのみ使用できます。

-Nスイッチ(上記参照)で指定されたジョブの要求名、またはジョブスクリプトファイルの名前として取られたジョブの要求名。

RESTARTED      

この変数は、システムがクラッシュした後、またはチェックポイントジョブの場合に移行後にジョブが再起動された場合に1に設定されます。それ以外の場合、変数の値は0になります。

SHELL

passwd(5)ファイルのユーザーのログインシェル。注:これは必ずしもジョブで使用されているシェルではありません。

 

TMPDIR  

ジョブのテンポラリ・ワーキング・ディレクトリへの絶対パス。

TMP     

TMPDIRと同じ。 NQSとの互換性のために提供されています。

TZ      

設定されている場合、sge_execd(8)からインポートされたタイムゾーン変数。

USER    

passwd(5)ファイルのユーザーのログイン名。

SGE_JSV_TIMEOUT

クライアントJSVの応答時間がこのタイムアウト値より大きい場合、JSVは再起動を試みます。デフォルト値は10秒です。この値は0より大きくなければなりません。タイムアウトに達すると、JSVは1回だけ再試行します。タイムアウトに再度達するとエラーが発生します。

SGE_JOB_EXIT_STATUS

この値には、ジョブスクリプト自体の終了ステータスが含まれます。これは、後でqacct -j <job_id>出力のexit_statusフィールドにある同じ値です。この変数は、pe_stopおよびepilog環境でのみ使用できます。 

SGE_RERUN_REQUESTED

この値は、エラー時にジョブの再実行が明示的に要求されたかどうかを示します。この値は、ジョブ投入コマンドラインで-rオプションが指定されていない場合、ジョブクラスによって、またはJSVスクリプトによって設定された場合は0、-r yが要求された場合は1、-r nが要求された場合は2です。 qrshまたはqloginによって送信された対話式ジョブの場合、常に暗黙的に-r nが要求されるため、この環境変数の値は常に2です。この変数は、prolog、pe_start、job、pe_stopおよびepilog環境で使用できます。

SGE_RERUN_JOB  

この値は、ジョブがエラー時に再スケジュールされるかどうかを示します。この値は、ジョブが再実行されない場合は0、エラー時に再実行される場合は1です。この値を決定するには、暗黙的に要求される-rオプションが使用されます。これが指定されていない場合、キュー構成値rerunがデフォルト値として使用されます。この変数は、プロローグ、pe_start、job、pe_stop、およびepilog環境で使用できます。

RESTRICTIONS

Univa Grid Engineではバッチジョブの制御端末はなく、制御端末上のテストやアクションは失敗します。これらの操作が.loginまたは.cshrcファイルにある場合、ジョブが中止される可能性があります。

バッチジョブに関連しないコマンドの前に次のテストを.loginに挿入します。

if ( $?JOB_NAME) then
echo "Univa Grid Engine spooled job"
exit 0

endif

このコードの前にシェルの検索パスをシェルの起動時に設定することを忘れないでください。


EXIT STATUS

The following exit values are returned:

0    Operation was executed successfully.

25   It was not possible to register a new job according to the configured max_u_jobs or max_jobs limit. Additional  information
     may be found in sge_conf(5)

>0   Error occurred.

EXAMPLES
 

The following is the simplest form of a Univa Grid Engine script file.

=====================================================

#!/bin/csh
   a.out

=====================================================

The next example is a more complex Univa Grid Engine script.

=====================================================

#!/bin/csh

# Which account to be charged cpu time
#$ -A santa_claus

# date-time to run, format [[CC]yy]MMDDhhmm[.SS]
#$ -a 12241200

# to run I want 6 or more parallel processes
# under the PE pvm. the processes require
# 128M of memory
#$ -pe pvm 6- -l mem=128

# If I run on dec_x put stderr in /tmp/foo, if I
# run on sun_y, put stderr in /usr/me/foo
#$ -e dec_x:/tmp/foo,sun_y:/usr/me/foo

# Send mail to these users
#$ -M santa@nothpole,claus@northpole

# Mail at beginning/end/on suspension
#$ -m bes

# Export these environmental variables
#$ -v PVM_ROOT,FOOBAR=BAR

# The job is located in the current
# working directory.
#$ -cwd

a.out

==========================================================

FILES
$REQUEST.oJID[.TASKID]      STDOUT of job #JID
$REQUEST.eJID[.TASKID]      STDERR of job
$REQUEST.poJID[.TASKID]     STDOUT of par. env. of job
$REQUEST.peJID[.TASKID]     STDERR of par. env. of job

$cwd/.sge_aliases  cwd path aliases
$cwd/.sge_request  cwd default request
$HOME/.sge_aliases user path aliases
$HOME/.sge_request user default request
<sge_root>/<cell>/common/sge_aliases
     cluster path aliases
<sge_root>/<cell>/common/sge_request
     cluster default request
<sge_root>/<cell>/common/act_qmaster
     Univa Grid Engine master host file

SEE ALSO
sge_intro(1),   qconf(1),  qdel(1),  qhold(1),  qmod(1),  qrls(1),  qstat(1),  accounting(5),  session_conf(5),  sge_aliases(5),
sge_conf(5), sge_job_class(5), sge_request(5), sge_types(1), sge_pe(5), complex(5).

COPYRIGHT
If configured correspondingly, qrsh and qlogin contain portions of the rsh, rshd, telnet and telnetd  code  copyrighted  by  The
Regents  of  the  University of California.  Therefore, the following note applies with respect to qrsh and qlogin: This product
includes software developed by the University of California, Berkeley and its contributors.

See sge_intro(1) as well as the information provided in <sge_root>/3rd_party/qrsh and <sge_root>/3rd_party/qlogin for  a  state‐
ment of further rights and permissions.

Univa Grid Engine User Commands    UGE 8.5.4     SUBMIT(1)

© 2006-2019 HPC Technologies Co., Ltd. All rights reserved.