Abstract-Maintaining load balancing in a computing cluster is an evident problem in distributed systems and research in this field is not new. The challenges in designing the load balancing algorithms are immense. This paper lists some of those challenges in the design of CPU load balancing algorithm and provides solutions to some of them. The algorithm considers one node in the cluster as the Master Server and another as the Load Balancer. The master server maintains the CPU and IP information of each machine. The nodes in the cluster send their CPU status and IP information to the master server after every 30 seconds. The implementation solves "readers-writers" problem exclusively using sockets. If a number of requests are sent before the next central database update, the load balancer selects other less busy nodes in the cluster. This ensures that all nodes are allocated with the new tasks coming from remote systems, thereby maintaining a load balance among the CPUs. This implementation is highly fault tolerant and reliable, guaranteeing a high probability of task completion. Results show that this scheme handles task allocation in much optimized way and with fewer overheads. The implementation can handle CPUs ranging in numbers from 1 to 255.