1 |
Patrick Lauer wrote: |
2 |
> On Fri, 2006-01-13 at 19:53 +0900, Kalin KOZHUHAROV wrote: |
3 |
> |
4 |
>>>Make this distributed tool for tar zip bzip2 and gzip and I'm in, I |
5 |
>>>don't think it would be useful with anything else than Gigabit Ethernet. |
6 |
> |
7 |
> One 2Ghz CPU can't even saturate a 100Mbit line with bzip2 as far as I |
8 |
> can tell. |
9 |
> Although the speedups won't be extreme it could just work. |
10 |
> |
11 |
> |
12 |
>>>We might want to have in the make.conf 2 separate variables, one of them |
13 |
>>>saying how many threads can be run on the machine, then How many |
14 |
>>>threads/process across a cluster. |
15 |
>>> |
16 |
>>>For example, my Dual Xeon EM64T file server can do make -j4 locally, |
17 |
>>>like in make install, make docs etc etc, But for compiling I can use |
18 |
>>>-j20, really not useful over -j8 anyway. But the point is, it would be |
19 |
>>>usefully to separate the load distribution on the local machine and |
20 |
>>>cluster nodes. |
21 |
>> |
22 |
>>As the discusison started... |
23 |
>> |
24 |
>>I would like to be able to limit the -jN when there is no distcc host |
25 |
>>available or when compiling c++ code, otherwise my poor laptop is dead with |
26 |
>>-j5 compiling pwlib when the network is down.... |
27 |
> |
28 |
> As far as I can tell distcc isn't smart enough for dynamic load balancing. |
29 |
> One could hack portage to "test" each server in the distcc host list and |
30 |
> remove missing servers for each run - doesn't look elegant to me. |
31 |
|
32 |
Yes, might be a solution, even if not elegant. I am thinking also of |
33 |
automating distcc configuration (i.e. no need to run --set-hosts) and one |
34 |
idea is to use DNS with some TXT record, but that is just an idea - no |
35 |
patching is done yet. |
36 |
|
37 |
Not sure if distcc has local limiter, i.e. if it it set with "localhost/2" |
38 |
and portage user (or some other user != root) tries to start 3 processes, |
39 |
the 3rd just blocks (and not take memory). I think not, so this thing might |
40 |
be interesting to implement (for "old" laptops with less memory). |
41 |
|
42 |
I think I should resubscribe to the distcc list :-) |
43 |
|
44 |
|
45 |
>>It is particular example, but being able to limit portage in some way as |
46 |
>>total CPU, total MEM might be interesting (just nice-ing is not enough) |
47 |
> |
48 |
> Very difficult - usually gcc uses ~25M per process (small source files), but |
49 |
> I've seen >100M (most larger C++ files) and heard of ~600M per process for MySQL |
50 |
> |
51 |
> Limiting that is beyond the scope of portage. |
52 |
|
53 |
Hmm, may be not limiting the total usage, but more like just adjusting |
54 |
MAKEOPTS='-j1' in some cases (NOTE: to /me, define "some cases"). |
55 |
Implementing the above "Local limiter" in distcc will solve that automagically. |
56 |
|
57 |
Kalin. |
58 |
|
59 |
-- |
60 |
|[ ~~~~~~~~~~~~~~~~~~~~~~ ]| |
61 |
+-> http://ThinRope.net/ <-+ |
62 |
|[ ______________________ ]| |
63 |
|
64 |
-- |
65 |
gentoo-dev@g.o mailing list |