distcc compared to other systems
The main advantages of distcc compared to other tools are:
The disadvantages of distcc are:
OpenMOSIX is a kernel-level single-image clustering system for Linux. It can be used to spread software builds or any other parallel task across multiple machines.
OpenMOSIX requires a kernel patch. All the machines must be of the same architecture and running similar kernels.
MOSIX and OpenMOSIX give you essentially a "single system image" cluster, which looks like a fast computer. distcc just looks like a fast compiler.
Some people have reported that distcc is much faster than OpenMOSIX for software builds in some situations. Short-lived, CPU-intensive compiler processes may be a very difficult load for a design based on process migration.
Currently openMosix (oM) only runs on Linux and currently only on x86 and IA64 arch. distcc works like a champ when used combined with oM. While oM does help some with short run jobs, its forte is big computation jobs so it works better for things like video edits or DNA decoding. If you just want to speed up C compiles with out a lot of work or custom kernels distcc is the way to go.
Cook is a Make replacement written by Peter Miller and distributed under the GNU GPL. Cook can do parallel builds and has built-in support for distributing builds across machines on a LAN.
Using Cook requires you to convert your Makefiles to a
Cook runs commands over rsh by default, but it seems like you could use ssh instead. Cook uses rup to calculate load on different machines.
It seems like Cook requires a shared filesystem and the same tools on all machines. There is a mechanism to group machines into classes and run particular commands on particular classes of machine.
pvmgmake is a fork of GNU Make which can spread tasks across multiple machines using the PVM protocol.
pvmgmake requires that all the machines see the same filesystem, and have the same tools installed.
Apple XCode Distributed Build is based on distcc.
Apple add patches for Rendezvous-based discovery of servers and transport of precompiled headers. These features may come back into the mainstream distribution in the future. Apple also add GUI to configure distcc, and support for some Apple-specific gcc features.
Apple's tools only work on Mac OS X.
The Apple version at the moment does not seem to support LZO or SSH.
Send comments to distcc(at)lists.samba.org, or talk to us on #distcc on irc.oftc.net.