[distcc] DistCC / Multicast

Stuart Longland redhatter at gentoo.org
Tue Feb 7 10:59:51 GMT 2006


Antenore Gatta **top-posted** -- posts re-ordered and re-formatted for
readability:
> 2006/2/7, Martin Pool <mbp at sourcefrog.net>:
> > On  6 Feb 2006, Antenore Gatta <antenore at gmail.com> wrote:
> > > Hi Martin,
> > >
> > > > distcc uses tcp connections to carry the requests and responses, and
> > > > multicast doesn't work with tcp, only udp.  multicast udp could be
> > > > good for checking the load of servers or seeing if they have a
> > > > cached result.
> > 
> > > Why not? Multicast is very usefull in this situation, all the
> > > clustered environment are using multicast to join member to the
> > > cluster.
> > 
> > Why not use multicast for tcp?  Because as far as I know there's no
> > specification for how it would work, and no network stack supports it.
> > :-)
>
> Sure, even if there are several research group that are working on new
> multicast implementation over tcp.
>
> http://www.tldp.org/HOWTO/Multicast-HOWTO-9.html

Even if such an implementation were devised, or distcc re-written to
support sending of packets via UDP multicast... there's still an issue
of *who* decides to compile the said packet.

If a source packet gets broadcasted to each member of the multicast
group, what happens... do all of them start compiling that piece of
source code, and start racing eachother to the finish?  Or do they wait
random intervals, and one "sticks its hand up" to accept the compile job?

> My explanation was bad, it's due to my orrible English skills... :-|
>
> I don't know if it could be a good idea, and therefore this is why I'd
> like to have yours opinions.
> It should be possible to write a separate program/utility that check
> the servers availability using multicast (sure, at udp level).
> Every servers send messages over multicast to join the group, at this
> point the client knows exactly how many servers there are and a new
> configuration file could be written, and the build can begin.
>
> In this way you can also have different building farms only using a
> different multicast group.
>
> i.e.
> 237.0.0.1   5555 1st Compiling farm for i386 architecture
> 237.0.0.10  4444 2nd Compiling farm for Sparc architecture
> and so on...

This would be a better, IMHO, way to use UDP multicast; dynamic distcc
service discovery.  Perhaps it's worth looking into putting support for
ZeroConf mDNS into a distcc-discovery system?
-- 
Stuart Longland (aka Redhatter)              .'''.
Gentoo Linux/MIPS Cobalt and Docs Developer  '.'` :
. . . . . . . . . . . . . . . . . . . . . .   .'.'
http://dev.gentoo.org/~redhatter             :.'
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 256 bytes
Desc: OpenPGP digital signature
Url : http://lists.samba.org/archive/distcc/attachments/20060207/2822b282/signature.bin


More information about the distcc mailing list