Design and implementation of load-balancing mechanism at command level on UNIX

This paper proposes a design and implementation of a new load-balancing mechanism at the command level on UNIX operating systems. In this mechanism, only the command interpreter bash is modified to have a new command executed on the lightest-loaded computer, and efficient load balancing is made without modifying the UNIX kernel or application program. In the author's implementation, load is measured by statistics information server rstatd on each computer when a new command arrives, and the new command is assigned to the lightest-loaded computer among the local host and the computers that respond faster than it. Using this method, loads can be balanced even when there is no idle computer, and the system can be made fault-tolerant in the case where some machines are down. This mechanism also has network transparency, such as file location transparency and preservation of command execution environment, by using REX for remote execution, which is provided on many UNIX systems as one of the RPC (remote procedure call) services.