Last month there was an interesting thread entitled "distcc over slow net links". I have a similar problem in that two of the "animals" on my farm have very old CPUs (although they are on a local 100baseT network). On a real farm these animals would probably be turned into glue or hamburger, but on a distcc farm I think that's animal cruelty! :)

Here's a quote from the original thread posted by Timothee:

What I'm thinking, is that once local hosts are starved, distcc should
find out that there is stuff running on slow hosts, and dupe the compile
work on the local hosts, sending back whatever finishes first.

The thread went into some interesting discussions on how to choose a faster machine, and how distcc might be able to keep track of the speeds of each server. In the case of this email, I believe "local hosts" meant the hosts on his fast local network. But what I'd really like to do is to simply keep "localhost" busy. That wouldn't require any of the additional complexity of tracking the power of each server, and it also would be a little bit more friendly if more than one person was trying to use the farm at a time.


The project I'm working on consists of over 80 libraries, and some of them are quite large. As make gets towards the end of each library, I often see those two slow machines drag out the end of the build for 20 or 30 seconds. With this many libraries, each one of those pauses really starts to hurt. Using distcc's excellent new graph tool, it becomes especially obvious when the fast hosts have all "scrolled off to white" and you see the two green bars remaining.

I haven't yet looked at the distcc source, so I'm not sure how complex it might be to implement a solution to keep the localhost busy. Because I'm not familiar with the architecture I'm probably not the best person to design the solution, but I'd be more than happy to help try to implement it if there's interest.


-- Jeff



__ distcc mailing list http://distcc.samba.org/
To unsubscribe or change options: http://lists.samba.org/cgi-bin/mailman/listinfo/distcc

Reply via email to