Patrick Lauer wrote:
> On Fri, 2006-01-13 at 19:53 +0900, Kalin KOZHUHAROV wrote:
> 
>>>Make this distributed tool for tar zip bzip2 and gzip and I'm in, I
>>>don't think it would be useful with anything else than Gigabit Ethernet.
> 
> One 2Ghz CPU can't even saturate a 100Mbit line with bzip2 as far as I
> can tell.
> Although the speedups won't be extreme it could just work.
> 
> 
>>>We might want to have in the make.conf 2 separate variables, one of them
>>>saying how many threads can be run on the machine, then How many
>>>threads/process across a cluster.
>>>
>>>For example, my Dual Xeon EM64T file server can do make -j4  locally,
>>>like in make install, make docs etc etc, But for compiling I can use
>>>-j20, really not useful over -j8 anyway. But the point is, it would be
>>>usefully to separate the load distribution on the local machine and
>>>cluster nodes.
>>
>>As the discusison started...
>>
>>I would like to be able to limit the -jN when there is no distcc host
>>available or when compiling c++ code, otherwise my poor laptop is dead with
>>-j5 compiling pwlib when the network is down....
> 
> As far as I can tell distcc isn't smart enough for dynamic load balancing.
> One could hack portage to "test" each server in the distcc host list and
> remove missing servers for each run - doesn't look elegant to me.

Yes, might be a solution, even if not elegant. I am thinking also of
automating distcc configuration (i.e. no need to run --set-hosts) and one
idea is to use DNS with some TXT record, but that is just an idea - no
patching is done yet.

Not sure if distcc has local limiter, i.e. if it it set with "localhost/2"
and portage user (or some other user != root) tries to start 3 processes,
the 3rd just blocks (and not take memory). I think not, so this thing might
be interesting to implement (for "old" laptops with less memory).

I think I should resubscribe to the distcc list :-)


>>It is particular example, but being able to limit portage in some way as
>>total CPU, total MEM might be interesting (just nice-ing is not enough)
> 
> Very difficult - usually gcc uses ~25M per process (small source files), but 
> I've seen >100M (most larger C++ files) and heard of ~600M per process for 
> MySQL
> 
> Limiting that is beyond the scope of portage.

Hmm, may be not limiting the total usage, but more like just adjusting
MAKEOPTS='-j1' in some cases (NOTE: to /me, define "some cases").
Implementing the above "Local limiter" in distcc will solve that automagically.

Kalin.

-- 
|[ ~~~~~~~~~~~~~~~~~~~~~~ ]|
+-> http://ThinRope.net/ <-+
|[ ______________________ ]|

-- 
gentoo-dev@gentoo.org mailing list

Reply via email to