Most CHAOS 4 machines—Atlas, Eos, Hera, Juno, Minos, Rhea, and Zeus—use NAT (network address translation) for their internal compute nodes. These internal nodes do not have accessible network interfaces to outside machines. Outward bound connections are sent to a routing node, and NAT changes their apparent IP address. Because they can not effectively communicate in both directions with the external world, storage tools will not work on these internal compute nodes. Storage tools have not worked properly on these machines since their installation. With the incorporation of iorun into these tools, batch jobs can access storage.

In addition, many machines (both AIX and CHAOS) have jumbo network connections on certain nodes (I/O nodes)—generally the login nodes—that offer much better performance for moving data between the machine and storage.

The iorun script is available to the user community to facilitate moving data between machines and storage, and several of the storage tools use this script. The script can be found in /usr/local/bin. To use it, precede your command with iorun:

iorun {command with parameters}

The iorun script is available on all machines and will run the given command on an I/O (generally a login) node. When iorun is used on an I/O node, it is transparent (the command is run locally). When iorun is used on a compute node, it uses rsh to execute the command on the I/O node.

The storage tools FTP, HSI, HTAR, and NFT have been modified on AIX and CHAOS 4 systems to use the iorun script to shift the work, in most circumstances, to an I/O node. (Note: iorun is not used for storage tools on Hopi and Yana because those machines lack a high-speed interconnect and jumbo links.) To use the storage tools on the compute nodes of the AIX and CHAOS 4 machines, just use their normal names. The iorun script will shift the execution from compute nodes to I/O (generally login) nodes. (Note: iorun may be used for some destinations and not for others. In particular, executing FTP from the compute nodes to FIS or other machines outside of Livermore Computing is not advised.)

Using the iorun script is not completely transparent on compute nodes. This lack of transparency is most noticeable during interactive operation of the storage tools and will be evident in the following ways:

  • When iorun shifts the execution of a command to a remote node, the Kerberos credentials on the original node will not be available. Because no credentials will be created on the remote node, credential-based authentication will not work. In most cases, however, ident authentication will work.
  • Some tools, like FTP and HSI, sense whether they are connected to a terminal. If so, a prompt is issued before waiting for the next command. FTP uses “ftp>” for a prompt, and HSI uses “?” for a prompt. For the ftp command, the prompt is restored automatically by the iorun script via the addition of the –c command-line option. For batch FTP scripts, the -e option is also recommended to echo the input commands to the output log file. When HSI is run with iorun, its prompt will be absent, and currently there is no method available to restore the prompt.
  • Generally, an exit value is available when the command completes. The exit value set by the FTP, HSI, HTAR, and NFT is lost when run via iorun. (HTAR is the only storage tool that commonly provides an informative exit code.) The exit value on command completion will always be zero.
  • Local files in /tmp or /var/tmp on a compute node are not accessible from an I/O node. Attempts to reference a file in a local file system on a compute node will either fail to find a file, find the wrong file, or store it on a file system on an I/O node. (Users should always be working on a shared file system.) To access local files on a compute node, copy them to or from a shared file system in the batch job first.
  • Command recall in HSI (escape followed by editor commands) does not work on a compute node.

For additional information about iorun, see the iorun man page.

PDF of TB443 for download and distribution.