Distributed Compiling? 10
Stijn Buys writes in with this interesting question:
"We are a bunch of students conected to the campus network and now we are looking for a way to distribute applications like compiler jobs to several Linux boxes. Each PC should retain it's autonomy, since these are our personal machines, but we'd really like to make them work together. I heard about things like distributed make but I haven't found something about it yet. Are there people who have experience with these kind of things and/or can give us some suggestions?"
With just a quick search, I found this patch to GNU make and something called PGMAKE (dated 1994). What other options for distributed compiling are there?
duh... (Score:1)
pmake (Score:1)
> make
with
>pmake
Seems this is the same as what we were using in '92-94 to compile the Sather compiler. It would distribute the compiles to idle workstations on the network and gather up the object files for linking. All completely transparent to the user - except for the significant speedup.
What kills it is screensavers that generate fractals and the like. The machine is never so busy as when it is idle!
Parallel Make (Score:1)
Re:pmake (Score:1)
--
OS lover
Re:pmake (Score:1)
Solaris Sparcworks (also some comments) (Score:1)
but solaris sparcworks has a parallel make
utility called 'dmake' that does exactly what
you want. You can even set permissions on each
system and the number of jobs allowed.
In my experience, I've found that you can't
just use parallel make on anything you find
on the net. The Makefiles have to be double
checked to make sure you have the dependencies
set up right. (using stuff like NO_PARALLEL)
For instance, I've had lots of makes break
because a link references a library member
that hasn't been built. That's kind of scary,
since if you're doing development and doing
a re-make, you might unwittingly be compiling
against an older library member. (and it's
timing-dependent with this kind of hosage -
it might work one time, but not the next)
So double check your makefiles...
good luck