DistCC ELB introduces a layer on top of regular distcc. You configure distcc as usual, then add a load-balancing layer on top of it.

Server side: You would install a single, central DistCC ELB server that knows about all distcc servers on the network. Clients will turn to this server in order to find the most suitable distcc server that is currently available. Note that static and dynamic configuration options are possible, as well as single or multi-platform scenarios. See use cases for details.

Client side: You would install the DistCC ELB client on all workstations that need to compile source code, along with the regular distcc client. Then you configure it to wrap the distcc client. So instead of executing distcc gcc -c mysource.c ... you would run distcc-elb -s master_server distcc gcc -c mysource.c ..., where master_server is the central DistCC ELB server. Note there are several ways how a client can find the central server: command line as shown in this example, environment variables or configuration files.

Client and server communicate over UDP (port 3632 by default, although this is configurable). Make sure that the UDP port you choose is not blocked by firewalls.

DistCC ELB supports various Linux platforms (x86 and x86_64 architectures) and installation instructions can be found here. Support for other architectures and distributions might be added in the future.