1 May 2002
gfrun 1 Gfarm
gfrun gfrsh gfssh ファイルシステムノードで gfarm 並列コマンドを実行する
`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 を使ってそれぞれのプロセスを起動します．