Have you tried using pump mode?  That helps a lot.<br><br>Also, if the issue is that distcc isn&#39;t running enough jobs on each host, try using the &quot;host/JOBS&quot; format in DISTCC_HOSTS,<br>e.g. DISTCC_HOSTS=&quot;<a href="http://foo.riken.jp/20,cpp,lzo">foo.riken.jp/20,cpp,lzo</a> <a href="http://bar.riken.jp/40,cpp,lzo">bar.riken.jp/40,cpp,lzo</a>&quot;.<br>

This would allow up to 20 concurrent compiles on host <a href="http://foo.riken.jp">foo.riken.jp</a> and 40 concurrent compiles on host <a href="http://bar.riken.jp">bar.riken.jp</a>.<br>(The &quot;,cpp,lzo&quot; part is required for pump mode.)<br>

<br>At some point, depending on the size and structure of the software that you&#39;re trying to compile,<br>and the way your Makefiles are arranged, you may run into limitations in the parallelizability of your build graph.<br>

For example, if your software has only three source files, then distcc won&#39;t be able to speed up compilation by more than a factor of three at very best.<br>Similarly, if your software has 30 files, but they are split into 10 directories of three files each, and your Makefile(s) sequentialize the compilation of each directory, then you still won&#39;t get more than a factor of three speed up at very best.<br>

<br><div class="gmail_quote">On Mon, Nov 23, 2009 at 8:19 PM, Francois Berenger <span dir="ltr">&lt;<a href="mailto:berenger@riken.jp">berenger@riken.jp</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Hello,<br>
<br>
Is there a way to use a pull scheduler instead of a push scheduler inside distcc?<br>
<br>
I have many compiling hosts and when they join a compiling job, they are<br>
not enough loaded, at least to my taste. Meaning: they could compile more things and I could wait less for them to finish.<br>
<br>
I think the problem is that the scheduler is pushing: the distcc server sends jobs to distcc compiling hosts.<br>
<br>
Instead, I would like this behavior: distcc compiling hosts ask and take jobs as long as they are not completely loaded with compilation jobs.<br>
The distcc server should distribute jobs to whom asks for.<br>
<br>
This should scale better.<br>
<br>
If there is no way now to do so but you can give me some hint on how to<br>
do so (where to look, what to modify, etc.), it might be helpful.<br>
<br>
Best regards,<br>
Francois.<br>
<br>
__<br>
distcc mailing list            <a href="http://distcc.samba.org/" target="_blank">http://distcc.samba.org/</a><br>
To unsubscribe or change options:<br>
<a href="https://lists.samba.org/mailman/listinfo/distcc" target="_blank">https://lists.samba.org/mailman/listinfo/distcc</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Fergus Henderson &lt;<a href="mailto:fergus@google.com">fergus@google.com</a>&gt;<br>