Heuristic neighbor selection algorithm for decentralized load balancing in clustered heterogeneous computational environment

Clustered heterogeneous computing environment is used to execute parallel applications that require significant amount of computing resources either in the form of computational processing resources or data storage. A cluster, comprising of heterogeneous nodes, requires careful load balancing strategies in order to result in a good processing response time for parallel applications. The workload for each system in the cluster cannot be equally distributed but has to be taken as an important parameter for the load balancing strategy. A centralized load balancer would require a global load balancer that will be overwhelmed with communication messages in a large clustered environment. This overhead can be addressed by a decentralized approach to load balancing where decisions are formulated by the nodes performing scheduling algorithm vis-a-vis communicating with each member node of the cluster. Although this will lead to an overall increase of communications, it will eliminate the bottleneck of having a centralized load balancing node. In an overloaded node (sender) initiated decentralized load balancing strategy, each sender will need to have a predetermined list of neighboring nodes to offload their jobs. In this paper, we propose a heuristic based neighbor selection algorithm that selects a neighbor for job distribution whenever overload occurs. Simulations were conducted using the OMNeT++ simulator and the overall proposed performance was compared to other existing neighbor selection method. From our simulation results, we found that our proposed method demonstrates overall improvement for load balancing by reducing the average response time.