coshell

coshell executes block of shell commands on lightly loaded hosts in the local network. There is one coshell server per user. This server runs as a daemon on the user's home host, and only processes running on the home host have access to the server. The server controls a background ksh shell process, initiated by rsh, on each of the connected hosts.

coshell is easy to use and administer. The only privilege required for installation, administration or use is rsh access to the local hosts. coshell does requires a uniform file namespace across all hosts on the local network.

nmake and gmake users can take advantage of network execution with no makefile modifications. Shell level access is similar to but more efficient than rsh and allows host expression matching to replace the explicit host name argument.

Factor of 5 compilation speedups are typical.

To start your local daemon:

     coshell +
To send nmake or gmake actions to coshell at concurrency level 8:
     export COSHELL=coshell
     export NPROC=8
To run shell commands on a lightly loaded host:
     coshell -r - 'hostname; sort a > b' &
     pid=$!
     # other stuff
     wait $pid
For interactive coshell status:
     coshell -
     coshell> s
      ... status ...
     coshell> h
      ... help ...
     coshell> q
package generates static host information and ss lists the dynamic status of hosts on the local network.


Glenn Fowler
Information and Software Systems Research
AT&T Labs Research
Florham Park NJ
December 07, 1999