Because each node of the SP1 is running a separate copy of AIX and contains a
private disk (/tmp in our system), the user quickly discovers the need
to (a) run various Unix tools (such as ps, ls, and cp) on
a set of nodes and (b) to filter the output to show just the needed data.
For example, a typical query is ``is a file present?'' On a uniprocessor,
this is usually answered by using ls filename. On 128 processors, however, running ls
generates so much output that it is difficult to be
sure that the file was present on all processors (piping into wc is
too severe; if the file is missing somewhere, the user wants to know where).
We have provided programs that can help answer such questions in a scalable
way, by providing both an easy way to make a specific inquiry across the
parallel machine (e.g., ppred) and a graphical display of the output of
these parallel commands (pdisp).
We have produced prototype implementations of some parallel versions of
popular Unix commands (see Table
).
These routines (actually shell scripts) use recursive subdivision to execute the Unix commands in parallel. They are particularly important in distributing executable and shared input data to the local disks on the nodes. In the POE environment, these scripts can use the high-performance switch. this project, conceived as an immediate need on the SP1, has since developed into a more substantial effort [8].