[distcc] Re: Simple autodiscovery of distcc servers

Jeremy Glazman JGlazman at itsgames.com
Thu Aug 11 16:48:40 GMT 2005

I have had problems with too high of a -j# setting, but many of my problems
are specific to the type of farm I have setup. There are situations when
many people are compiling at once, and with too few machines on the farm too
many parallel makes has caused some strange problems with our cross

Anyways yea I see what you're doing, I would much prefer an implementation
along those lines and do away with the need for the hosts file altogether. I
use the hosts file now, but it is more out of convenience for my specific
implementation. Ideally I would rather not need to keep track of that
information, as in your scheme, which I think could much simplify my setup.

-----Original Message-----
From: Daniel Kegel [mailto:dank at kegel.com]
Sent: Thursday, August 11, 2005 11:21 AM
To: Jeremy Glazman
Cc: 'distcc at lists.samba.org'
Subject: Re: [distcc] Re: Simple autodiscovery of distcc servers

Jeremy Glazman wrote:
> This is a great idea, I have been working on a similar scheme, but the
> problem I encountered is properly setting the -j# flag at compile time.
> would you let your Makefile's know how many servers are available in this
> dynamic setup?

I won't.  It turns out that always using -j10 works well
for me, no matter how many servers there are, as long
as it's more than five or so.

> Here was my solution: I am running a distcc/ccache farm using samba shares
> for a distributed cache. Samba messages inherently provide info like
> hostname, IP address, etc., and also supports running a script after a
> message is received, so using these features...
> 1) machine boots up, init script tells a machine designated as the hub
> it is available for compiling (via samba messages)

That's beyond the scope of my idea.  I should have
mentioned that the distcc servers in my scheme
are centrally administered.  How they end up in
DNS with aliases distcc1, distcc2, etc. is up to
the administrator.

> 3) addresses are distributed and stored in the distcc hosts file

That's actually against the spirit of my idea.
In my scheme, there essentially *is* no distcc hosts file
anymore (beyond the initial line --autodiscover-distccN);
it's not needed, since it contains the
entirely predictable contents distcc1, distcc2, distcc3, ...

So our ideas are not very similar after all, but they're
not incompatible.  Users could pick one, or the other, or neither,
as appropriate for their situation.
- Dan

More information about the distcc mailing list