Subject: Re: Many Thanks... and WTB:
To: Brian D Chase <bdc@world.std.com>
From: J. Buck Caldwell <buckaroo@igps.org>
List: port-vax
Date: 07/02/1999 12:25:50
Brian D Chase wrote:

> On Thu, 1 Jul 1999, J. Buck Caldwell wrote:
>
> > Once I've got these final items, I'll be able to commence my scariest
> > project yet - the Asymetrical MultiProcessing Kernel Make Machine. 8
> > VS3100s, all NFS mounting a source tree, each compiling a different bit.
> > God, sometimes I scare myself...
>
> A while back someone brought up the idea of modifying the `make -j N'
> usage to incorporate support for distributed makes across multiple
> machines.  So maybe the syntax would be something like:
>
>   make -J hostname1[,hostname2,...]
>
> You'd have to have the hosts configured properly to handle remote logins,
> but I think this should be a workable (and extremely cool) modification.
>
> This would eliminate the need to manually subdivide which bits of the file
> tree are arbitrated to compilation on certain hosts.
>
> -brian.

Actually, that's pretty much what I intended to do. I'm debating about whether
or not to try integrating the Beowulf/PVM type system into this, or just
hacking together something of my own. If anyone is interested in helping out,
I'd be more than happy to set up a private mailing list for the project.

The plan so far is to modify only the 'make' program itself - actually, start
from the 'make' sources and create a new tool, say pmp_make (Parallel Multi
Processing) or something of the like that is strictly compatible with the
standard 'make', with the addition of the multiple-machine support. Ideally,
any project that used 'make' before should be able to use the new 'pmp_make'
after, and on any platform (or eventually, mix of platforms). While perusing
the make sources in netbsd-current, I noticed some references to "#ifdef
REMOTE" and I'm wondering if some of this has already been implimented. I'll
be digging deeper into this over the weekend. If you're interested in keeping
informed about this, please let me know.