DistCC Enterprise Load Balancer (ELB) is a load balancer for distcc, aimed at large clusters of build servers and large, CPU-intense compilation jobs.

When having multiple build servers, distibuting jobs with distcc itself is far from optimal. The only way is a more or less random distribution, without guarantee that a particular server has CPU resources for a new compilation job right away.

DistCC ELB solves this problem by introducing a central server that keeps track of which build server is currently executing which builds and which one has free resources. Each build server would be configured to handle a certain number of simultaneous compilation jobs, typically equal to the number of CPU cores/threads on that server. A central DistCC ELB server knows about all existing build servers and active compilations, and can therefore direct new build jobs directly to a server that has a CPU available.

DistCC ELB supports configurations where build servers offer distcc services for multiple platforms. This can be accomplished by running different distcc servers on different ports, or by having a server host VMs with different IP addresses where each VM provides distcc services for a particular platform.

See solution for an overview over how DistCC ELB works, and use cases for more information on how to use it in different deployment scenarios.