Next: 3. Design
Up: PGMAKE: A Portable Distributed
Previous: 1. Introduction
Subsections
2. Background
Providing parallel job execution in make is not a new concept.
Several commercial varieties of make exist today that support this
feature, in addition to several research efforts. The original AT&T
make builds a dependency tree, determines
``dirty'' files that need updating, and executes each update process
sequentially. The second generation AT&T
nmake is capable of launching multiple parallel commands
with the -j N flag, where N specifies how many jobs are
allowed to run concurrently on the same machine.
Nmake achieves parallelism by issuing commands to a shell co-process.[5] Other make systems with specialized transport
protocols include Carnegie-Mellon University parmake with dp
[8] and Adam de Boor's
pmake with Customs.[2,3]
GNU gmake, written by Richard Stallman and Roland McGrath at the
Free Software Foundation, was developed as part of the GNU Project to
provide free tools familiar to UNIX users. Gmake provides a -j N option, where N defines the number of jobs to run on the
same host.[10]
2.0.0.2 PVM.
PVM, Parallel Virtual Machine, was developed at Oak Ridge National
Laboratory in conjunction with researchers at the University of
Tennessee, Carnegie Mellon University and Emory University[11].
The PVM software package ``allows heterogenous networks of
parallel and serial computers to appear as one concurrent
computational resource.'' Machines defined within the virtual
machine run a daemon called
pvmd, which is available to spawn tasks on behalf of the user. PVM also provides a C and FORTRAN library that allows
users to spawn and manage processes running across the virtual
machine.
PVM provides a message-passing based paradigm for communicating
between active tasks and pvmd processes. Other features of PVM that make it attractive to use as a parallel computing platform
include dynamic process groups, transport layer independence, fault
tolerance, and simple load balancing.
PVM has been well received in the academic community and ported
to over 20 different machine architectures.
Next: 3. Design
Up: PGMAKE: A Portable Distributed
Previous: 1. Introduction
Erez Zadok
1999-02-17