next up previous
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]

2.0.0.1 GNU Make.

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 up previous
Next: 3. Design Up: PGMAKE: A Portable Distributed Previous: 1. Introduction
Erez Zadok
1999-02-17