Re: about distcc's scheduling

Francois Berenger <[email protected]>
Newsgroups gmane.comp.compilers.distcc
Message-ID <[email protected]>
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 <[email protected] 
> <mailto:[email protected]>> 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 <[email protected] <mailto:[email protected]>>

__
distcc mailing list            http://distcc.samba.org/
To unsubscribe or change options:
https://lists.samba.org/mailman/listinfo/distcc
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.