# gfrun

## Name

gfrun, gfrsh, gfssh -- run Gfarm parallel programs

## Synopsis

gfrun [`options`] `command` `arg`...

gfrsh [`options`] `command` `arg`...

gfssh [`options`] `command` `arg`...

## DESCRIPTION

gfrun executes a parallel command on filesystem nodes, which is determined by the `-G` option, the `-H` option, or the `-N` option.

The `-G` option specifies the `gfarm-URL`, which will be used by file-affinity scheduling. In this case, gfrun schedules the same number of filesystem nodes as the number of Gfarm fragments, taking into consideration the physical locations of each fragment replica of the Gfarm file, and filesystem node status. The `-H` option specifies the `hostfile` that lists filesystem nodes. The `-N` option specifies the number of filesystem nodes.

The `-G`, `-H`, and `-N` options are exclusive. When none of the `-G`, `-H`, or `-N` options are specified, gfrun schedules filesystem nodes by file-affinity scheduling using the first existent Gfarm file in the argument list, `args`. If there are no existent Gfarm files in the argument list, an appropriate filesystem node is selected to be executed.

gfrsh and gfssh utilize rsh and ssh, respectively, instead of gfrcmd.

A `command` can be specified by a gfarm-URL that is registered using gfreg(1).

## OPTIONS

`-G` `gfarm-URL`

  Specifies a Gfarm file `gfarm-URL` for file-affinity scheduling. Please read the DESCRIPTION section about how file-affinity scheduling works.

`-H` `hostfile`

  Specifies a `hostfile` that lists filesystem nodes.

  if ``-'' is specified, standard input is used to read the host list.

`-N` `np`

  Specifies the number of nodes, `np`, which are selected in the increasing order of load average.

`-r`

  Specifies an on-demand replication mode. In this mode, every file will be replicated before it is accessed remotely.

`-o` `gfarm-URL`

  Specifies a Gfarm file that the standard output of the executed program will be redirected to.

`-e` `gfarm-URL`

  Specifies a Gfarm file that the standard error of the executed program will be redirected to.

`-I` `fragment-index`

  Specifies a Gfarm fragment index executed by the gfrun command. This option is available only when either file-affinity scheduling is selected by the `-G` option or a gfarm file in the argument list, or the `-N` option is specified.

`-v`

  Displays error message verbosely.

`-p`

  Displays the elapsed time of each Gfarm parallel I/O API after the program terminates.

`-g`

  Explicitly specifies that the command is a Gfarm program. Gfarm specific options will be passed to the command as the result.

`-u`

  Explicitly specifies that the command is an ordinary program, and does not take Gfarm specific options.

`-b`

  Specifies global file view as the default file view for programs linked with the Gfarm syscall-hooking library. If this option is not specified, the default is local file view.

`-?`

  Displays a list of command options.

## ENVIRONMENT VARIABLES

`GFRUN_CMD`

  Specifies a remote shell command. If globus-job-run is specified, gfrun executes each process using globus-job-run.

## SEE ALSO

gfmpirun_p4(1)