PVM (Parallel Virtual Machine) is a software package that permits a heterogeneous collection of Unix and/or Windows computers hooked together by a network to be used as a single large parallel computer. Thus large computational problems can be solved more cost effectively by using the aggregate power and memory of many computers. The software is very portable. The source, which is available free thru netlib, has been compiled on everything from laptops to CRAYs.
PVM enables users to exploit their existing computer hardware to solve much larger problems at minimal additional cost. Hundreds of sites around the world are using PVM to solve important scientific, industrial, and medical problems in addition to PVM's use as an educational tool to teach parallel programming. With tens of thousands of users, PVM has become the de facto standard for distributed computing world-wide.
PVM Gmake
Introduction
-
This version of GNU make can use
PVM to distribute jobs over a heterogeneous cluster
Look at the SourceForge PVM-Gmake project page
Features
- Use the standard -j and --load-average option to spawn in other host
- TARGET_ARCH and TARGET_HOST can be defined in the makefile to force spawn to an other architecture/host
- The priority (nice) is propagated to children
- The load-balancing is now done by the make itself and it can manage load average option (-l, --load-average or --max-load)
- multi-target synchronization using +
target1 + target2: prereq1 ... - auto-dependencies (see autodepend.sf.net)
- file audit (see autodepend.sf.net)
How to Build
- ./configure --prefix=$PREFIX --bindir=$PVM_ROOT/bin/$PVM_ARCH /
--libexecdir=$PVM_ROOT/bin/$PVM_ARCH /
--with-pvm
you can add this if you want to enable autodependency tracking system
--enable-autodepend /
--libdir=$PVM_ROOT/lib/$PVM_ARCH
if you want to preserve original make you can rename the pvm one
--program-prefix=pvm - make && make install
if you want to rename mannualy make rename also rename make_pvm and make_avg keeping the '_pvm' and '_avg' suffixes - If you are in a heterogeneous cluster, a wrapper script can be helpfull to elect the right make binary
exec $PVM_ROOT/bin/$PVM_ARCH/make MAKE=$0 $*
Tested on
- SUN4SOL2 : Solaris 2.5 et 2.6, 2.7, 2.8
- HPPA : HP-UX-B.10.20
- LINUX : Mandrake 6.0, Rehat 9.0, Fedora3
Download
Download from sourceForge
CVS Repository
Browse the CVS Tree
Anonymous CVS Access
This project's SourceForge CVS repository can be checked out through anonymous (pserver) CVS with the following instruction set. The module you wish to check out must be specified as the modulename. When prompted for a password for anonymous, simply press the Enter key.cvs -d:pserver:anonymous@cvs.pvmgmake.sourceforge.net:/cvsroot/pvmgmake loginUpdates from within the module's directory do not need the -d parameter.cvs -z3 -d:pserver:anonymous@cvs.pvmgmake.sourceforge.net:/cvsroot/pvmgmake co pvmgmake