[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[debian-knoppix] "distcc" and "ccache" for Knoppix

Hi, all,

I'd like to suggest to include "distcc" and "ccache" on Knoppix,
plus make it work with as much pre-configuration as possible (or
with a little GUI-wizard to step one throught the setup...)


"ccache" is a compiler cache (working transparently for the user,
by doing an "ln -s /path/to/ccache /path/to/gcc"). It accelerates
repeated compilations up to the 3fold speed, after a "make clean"
was necessary, by using *.o files from the cache, but it always
produces exactly the same output that the real compiler would
produce without the (c)cache (works well for large programs like
Samba, KDE, Mozilla, emacs, GARNOME...)!

"distcc" is distributing the compilation across the network onto
other machines (you need to "trust" the network and the machines
however). It speeds up compilation on three identical machines
by a 2.5-fold speedup (scales surprisingly well). The volunteer
machines run a "distccd" daemon which listens on a network socket
for requests.

  The main distcc machine is a client to the "distccd"
  machines. It sends the complete preprocessed source code across
  the network for each job, so all it requires of the volunteer
  machines is that they be running the distccd daemon, and that they
  have an appropriate compiler installed. Compilation is centrally
  controlled by the client machine, which is typically the developer's
  workstation or laptop. The distcc client runs on this machine, as
  does make, the preprocessor, the linker, and other stages of the
  build process. Any number of "volunteer" machines help the client
  to build the program, by running the compiler and assembler as

ccache and distcc may be used at the same time or independently
from each other. Both are under 200 kB in size. distcc doesn't break
the build process should the network or one of the "distccd" machines
go down. It then simply completes everything on its own...

I know this is not a thing for a "Knoppix Desktop" distribution
in the first place. But after all there is "gcc" on the Knoppix,
isn't it?

It would be rather cool if I could use Knoppix in the office, after
the working hours are over, or during weekends: insert the CDs into
a few fast Windows machines "belonging" to my collegues (whom I'd
ask for their permission of course first  ;-) ,start the compiler
on my own machine and have a complete KDE CVS compilation finished
in 3 hours instead of 24! [Possibly a lot of Gentoo fans could be
very pleased to get an acceleration for their "emerge" mantras
(at least after they have run "emerge distcc"...)]

It could possibly be combined with the network boot terminal server
thingy too. I am not a compiler/compilation and build system guru.
Maybe some experts in these issues could get interested in this
application of the "Knoppix-All-in-Wonder". I am not sure if you need
a swap partition or a swapfile for it to really work. My main idea
is to have my real machine be supported by some occasionally booted
fast "volunteer" Windows boxen in my office neighbourhood turned
into Knoppix machines running a distccd.

I hope someone with the abilities I am lacking gets interested in
implementing this. Possibly it is enough to include it in the new
"small-sized" Knoppix mini-CD project...


debian-knoppix mailing list

Reply to: