[distcc] about distcc's scheduling
Francois Berenger
berenger at riken.jp
Mon Nov 23 21:36:20 MST 2009
Fergus Henderson wrote:
> Have you tried using pump mode? That helps a lot.
>
> Also, if the issue is that distcc isn't running enough jobs on each
> host, try using the "host/JOBS" format in DISTCC_HOSTS,
> e.g. DISTCC_HOSTS="foo.riken.jp/20,cpp,lzo
> <http://foo.riken.jp/20,cpp,lzo> bar.riken.jp/40,cpp,lzo
> <http://bar.riken.jp/40,cpp,lzo>".
> This would allow up to 20 concurrent compiles on host foo.riken.jp
> <http://foo.riken.jp> and 40 concurrent compiles on host bar.riken.jp
> <http://bar.riken.jp>.
> (The ",cpp,lzo" part is required for pump mode.)
Thanks a lot! I am trying this right away.
I'll post my speedup results when I'm done.
> At some point, depending on the size and structure of the software that
> you're trying to compile,
> and the way your Makefiles are arranged, you may run into limitations in
> the parallelizability of your build graph.
> 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.
> 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.
We use scons. I am not so happy with it (like when it spends 30s before
giving me back control of the command line when theres is _nothing_ to
compile because everything is already done).
However, it manages the dependencies far better than any Makefile I
could have written by hand.
Regards,
Francois.
> On Mon, Nov 23, 2009 at 8:19 PM, Francois Berenger <berenger at riken.jp
> <mailto:berenger at riken.jp>> wrote:
>
> Hello,
>
> Is there a way to use a pull scheduler instead of a push scheduler
> inside distcc?
>
> I have many compiling hosts and when they join a compiling job, they are
> not enough loaded, at least to my taste. Meaning: they could compile
> more things and I could wait less for them to finish.
>
> I think the problem is that the scheduler is pushing: the distcc
> server sends jobs to distcc compiling hosts.
>
> Instead, I would like this behavior: distcc compiling hosts ask and
> take jobs as long as they are not completely loaded with compilation
> jobs.
> The distcc server should distribute jobs to whom asks for.
>
> This should scale better.
>
> If there is no way now to do so but you can give me some hint on how to
> do so (where to look, what to modify, etc.), it might be helpful.
>
> Best regards,
> Francois.
>
> __
> distcc mailing list http://distcc.samba.org/
> To unsubscribe or change options:
> https://lists.samba.org/mailman/listinfo/distcc
>
>
>
>
> --
> Fergus Henderson <fergus at google.com <mailto:fergus at google.com>>
More information about the distcc
mailing list