The Distributed Multi-User Compilation System enables multiple users to collaborate on a compilation farm.
This software system supports multiple users to compile simultaneously and can handle new loads as the number of users increases. It even supports multiple operating systems in the compilation farm, making it flexible and convenient for users. DMUCS makes the best use of multi-processor compilation hosts and takes into account the load on a host caused by non-compilation tasks. The system ensures that the compilation host is not overloaded, and it guarantees that it uses all the processors of a multi-processor compilation host.
DMUCS supports the dynamic addition and removal of hosts to the compilation farm. It works exceptionally well with distcc, and there is no need to alter the latter. The system also consists of several types of programs like dmucs, which acts as the host-server, and gethost, which enables a compilation task to get a host/cpu from the dmucs server.
Each of these programs has a unique role to play in the compilation process. Dmucs as the host-server assign the hosts to compilation tasks and maintains the database of hosts in the compilation farm. Get host enables the compilation task to get a host/cpu from the dmucs server, making the best use of the available resources.
Loadavg is another program that the administrator of the compilation farm must start on every compilation host. It sends the load average information of the compilation host to the dmucs server periodically. Finally, the monitor enables the administrator or anyone to monitor the busy-ness of the compilation farm. It displays which hosts/cpus are available in the compilation farm, which hosts/cpus have compilation tasks assigned to them, which hosts have been made administratively unavailable, and which hosts are silent.
Version 0.5: N/A