Check out the new USENIX Web site.

The Shell as a Service

Glenn Fowler
AT&T Bell Laboratories
Murray Hill, New Jersey 07974


This paper explores the design history of the nmake shell coprocess. Originally a special purpose uniprocessor executor, the coshell has evolved into a general purpose service that automatically executes shell actions on lightly loaded hosts in a local network. A major thrust of this work has been ease of use. The only privilege required for installation, administration or use is rsh access to the local hosts.

nmake and GNU-make 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. Also provided is a C programming library interface with five primitive operations that follow the fork-exec-wait process model.

Beside the speedups attained by parallelizing computations in a homogeneous network, coshell also supports heterogeneous configurations. This presents novel solutions to traditional cross-compilation problems. It also allows the user to view a new network host as a compute engine rather than yet another architecture on which to port the home environment and tools.

coshell runs on most S5R4 and BSD UNIX* operating system variants.

Download the full text of this paper in ASCII (38,145 bytes) form.

To Become a USENIX Member, please see our Membership Information.