Gentoo Archives: gentoo-dev

From: Kalin KOZHUHAROV <kalin@××××××××.net>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Parallizing ebuilds - 'trivial' ebuilds
Date: Fri, 13 Jan 2006 16:12:23
Message-Id: 43C7D0CA.8020905@thinrope.net
In Reply to: Re: [gentoo-dev] Parallizing ebuilds - 'trivial' ebuilds by Patrick Lauer
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

Replies

Subject Author
Re: [gentoo-dev] Parallizing ebuilds - 'trivial' ebuilds Francesco Riosa <vivo@g.o>
Re: [gentoo-dev] Parallizing ebuilds - 'trivial' ebuilds Philippe Trottier <tchiwam@g.o>