Have you tried using pump mode? That helps a lot.<br><br>Also, if the issue is that distcc isn't running enough jobs on each host, try using the "host/JOBS" format in DISTCC_HOSTS,<br>e.g. DISTCC_HOSTS="<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>".<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 ",cpp,lzo" part is required for pump mode.)<br>
<br>At some point, depending on the size and structure of the software that you'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'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'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"><<a href="mailto:berenger@riken.jp">berenger@riken.jp</a>></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 <<a href="mailto:fergus@google.com">fergus@google.com</a>><br>