distcc doesn't report enough information via avahi

Bug #592933 reported by Ken Sharp
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
distcc (Debian)
New
Unknown
distcc (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Binary package hint: distcc

Without avahi you would normally set DISTCC_HOSTS to tell distcc how many jobs to send to each server, for example:

DISTCC_HOSTS="server1/8 server2/4 server3/12 server4/2 localhost/2"

The result being of course that server1 gets sent 8 jobs, server2 gets sent 4 jobs and so on. localhost defaults to 2 so that it has enough cycles spare to continue sending out jobs.

With avahi all distcc is aware of is which hosts are ready to receive jobs, and continues to send jobs until all n slots are filled according to make -jn. distcc itself has a JOBS variable to tell it how many jobs to accept, but the sender doesn't receive any of this information and so continuously gets sentnew jobs, and jobs can be sat in the SEND stage waiting for a server to accept it.
It also means that all servers are treated equally, including localhost (which doesn't use localhost, it uses its external/LAN IP address).

So, in summary, distcc needs to receive information from the servers on how many jobs each server can accept.

Tags: lucid
Revision history for this message
Ken Sharp (kennybobs) wrote :

This is a sample ~/.distcc/zeroconfi/hosts

192.168.0.1:3632/4
192.168.0.15:3632/4
192.168.0.5:3632/8

Avahi announces how many processors each machine has and distcc simply multiplies that number by four.

Revision history for this message
Daniel Hartwig (wigs) wrote :

I suggest that any non-trivial setup or large network use DMUCS [1] in addition to distcc. This is a system that provides network-wide load balancing and central monitoring.

[1] http://dmucs.sourceforge.net/

Daniel Hartwig (wigs)
Changed in distcc (Ubuntu):
status: New → Confirmed
Changed in distcc (Debian):
status: Unknown → New
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.