NAME¶
gfrun, gfrsh, gfssh -
ファイルシステムノードで
gfarm
並列コマンドを実行する
SYNOPSIS¶
gfrun [
オプション ]
プログラム名
引数 ...
gfrsh [
オプション ]
プログラム名
引数 ...
gfssh [
オプション ]
プログラム名
引数 ...
DESCRIPTION¶
並列プログラムを実行します.実行されるファイルシステムノードは,
-G オプション,-H
オプションあるいは -N
オプションにより決定されます.
-G
オプションはファイル・アフィニティ・スケジューリングのための
Gfarm ファイル
gfarm-URL
を指定します.
ファイル・アフィニティ・スケジューリングでは,指定された
Gfarm
ファイルのそれぞれのファイル断片に対し,複製が格納されている
ノードのうち一ノードが選ばれます.つまり,ファイル断片の数と
同数のプロセスが,ファイル断片を格納しているノードで実行され
るということになります.
-H オプションは
ホスト指定ファイル
を指定します.
この場合,そのファイルに記述されたノードで並列プログラムを実行します.
-N
オプションは実行されるファイルシステムノードの
ノード数
を指定します.
-G オプション,-H
オプション,-N
オプションは同時に二つ以上指定するこ
とはできません.また,-G
オプション,-H
オプション,-N
オプションがい
ずれも指定されない場合は,引数に指定された既に存在する
Gfarmファイルの
うち一番はじめのファイルを利用したファイル・アフィニティ・スケジューリ
ングにより決定されます.引数中に既に存在する
Gfarm ファイルが存在しな
い場合は,適当なノードが1
ノード選択され,逐次実行となります.
gfrsh や gfssh コマンドは,gfrcmd
の代わりに rsh,ssh を
利用することを除いて,gfrun
と同様です.
プログラム名としては,gfreg
コマンドで登録したプログラムの
gfarm-URL も指定できます.
OPTIONS¶
- -G gfarm-URL
- gfarm-URL
のファイル・アフィニティ・スケジューリングにより
並列プログラムを実行します.
ファイル・アフィニティ・スケジューリングの動作については,DESCRIPTION
節を
参照してください.
- -H
ホスト指定ファイル
- 並列プログラムを実行するファイルシステムノード群を記載したファイル名を
指定します.
ホスト名は,各行に一ホストずつ記述します.
ファイル名として ``-''
を指定した場合,標準入力からホスト名のリストを
読み込みます.
- -N
ノード数
- 並列プログラムを実行するファイルシステムノードのノード数を指定します.
ファイルシステムノードは負荷の小さいノードから順にノード数分選ばれます.
- -r
- ファイルを遠隔参照する場合,参照に先立ち自ホストにファイル複製を
作成します.
- -o gfarm-URL
- 実行される並列プログラムの標準出力を
gfarm-URL
に書き出します.
- -e gfarm-URL
- 実行される並列プログラムの標準エラー出力を
gfarm-URL
に書き出します.
- -I
フラグメント番号
- 指定されたフラグメント番号のプロセスだけが実行されます.
このオプションは,
-G
オプションあるいは引数に与えた
Gfarm
ファイルによって,ファイル・アフィニティ・スケジューリングが選択されている
場合,および -N
オプションが指定されている場合のみ利
用可能です.
- -v
- 詳細にエラーメッセージを表示します.
- -p
- プログラム実行後に
Gfarm 並列I/O
APIの所要時間を表示します.
- -g
- 実行されるプログラムを
gfarm
化されたプログラムだと明示的に指定します.
この結果,プログラムには
Gfarm
特有のオプションが渡されます.
- -u
- 実行されるプログラムを通常のプログラムであると明示的に指定します.
この場合,プログラムに
Gfarm
特有のオプションが渡されることはありません.
- -b
- Gfarm
システムコール・フック・ライブラリを利用して実行されるプログラムにおいて,
デフォルトのファイル・ビューをグローバル・ファイル・ビューに設定します.
このオプションをつけないと,
デフォルトのファイル・ビューはローカル・ファイル・ビューとなります.
- -?
- 引数オプションを表示します.
ENVIROMNENT VARIABLES¶
- GFRUN_CMD
- 遠隔起動コマンドを指定します.例えば
globus-job-run
が指定された場合,
gfrun は globus-job-run
を使ってそれぞれのプロセスを起動します.