[distcc] distcc-pump and dmucs

Fergus Henderson fergus at google.com
Fri Aug 29 13:38:05 GMT 2008

On Fri, Aug 29, 2008 at 8:40 AM, <jhanley at dgtlrift.com> wrote:

> I've already patched dmucs to return the addition of ,cpp - but haven't
> read up yet on what ,lzo does.

It enables compression.  If you use ",cpp", you MUST also use ",lzo",
otherwise distcc fails with an obscure error message.

> The load balencing feature is really what I was interested in such that
> multiple users can use the pool of machines to run a threaded make and
> minimize the overlapping of concurrent compiles on the same machines.   Does
> lsdistcc "check out & in" machines, so that another user doesn't get it
> assigned from the pool?


However, distcc and distccd do have some load balancing features.  There's
the --jobs and --nice options to distccd:
  - each distccd server won't accept more than N jobs at a time,
    (where N defaults to the number of cpus + 2, but can be overridden by
the --jobs option).
  - distccd jobs run niced, so the OS should prioritize other tasks ahead of
    The nice leve defaults to 5, but can be overriden with the --nice option
to distccd.
The distcc client has two load balancing features:
  - distcc has locking code so that a single distcc client won't send more
than LIMIT concurrent jobs to the same server,
    where LIMIT is set in the distcc host specification (e.g. $DISTCC_HOSTS
- see the distcc man page), and defaults to 4.
    However, this locking is per DISTCC_DIR, i.e. per-user.
    If you have 10 users then each user could send 4 jobs to the same server
    (at which point the distccd's --job limit mentioned above would kick
  - There's the --randomize option in DISTCC_HOSTS (the pump script sets
this by default, if you use DISTCC_POTENTIAL_HOSTS).

 Is there interest to consolidate this functionality from dmucs into distcc?

Fergus Henderson <fergus at google.com>
-------------- next part --------------
HTML attachment scrubbed and removed

More information about the distcc mailing list