â¢ Two Phase Load Balancing Algorithm: The two phase scheduling algorithm combines Opportunistic Load Balancing and Min-Min scheduling algorithms to utilize better executing efficiency and maintain the load balancing of the system. Opportunistic scheduling algorithm keeps every node in working state to achieve the goal of load balance and Min Min scheduling algorithm is utilized to minimize the execution time of each task on the node thereby minimizing the overall completion time. This combined approach hence helps in an efficient utilization of resources and enhances the work efficiency.
2.3.3 Dynamic Load Balancing Algorithms Based on Biological Phenomenon:
â¢ Ant Colony Optimization (ACO) Based Load Balancing Algorithm
ACO is a probabilistic technique for solving computational problems which can be reduced to finding efficient paths through graphs. The aim of ant colony optimization is to search for an optimal path in a graph on the behaviour of ants seeking a path between their colony and source of food. The approach aims at efficient distribution of the load among the nodes and such that the ants never encounter a dead end for movements to nodes for building an optimum solution set. First, a Regional Load Balancing node (RLBN) is chosen in a Cloud Computing Service Provider (CCSP), which will act as a head node. We would be referring to RLBN as head node. When request is initialized the ants start their movement by originating from the head node. During the movement, ants deposit a substance called pheromone. The intensity of the pheromone can vary on various factors like the quality of food sources, distance of the food, etc. The ants use these pheromone trails to select the next node. A modified algorithm has been proposed which has an edge over the original approach in which each ant build their own individual result set and it is later on built into a complete solution. However, in this approach the ants continuously update a single result set rather than updating their own result set.
â¢ Honey Bee Foraging Load Balancing Algorithm:
This is a population based search algorithm. A colony of bees can extend itself over a distance and in multiple directions simultaneously to exploit a large number of food resources. Flowers with plentiful nectar or pollen grains are visited more often than the ones with fewer grains. The scout bees which have gone in search of food come back and perform a waggle dance indicating the direction in which the food was found, the distance from the hive and its quality rating. The scout bees along with followers go to those particular patches to gather food quickly and efficiently. Similarly, the job scheduling can be performed â” a complete scheduling of operations is specified in the problem. Each solution can be thought as a path from the hive to the food resource.
2.2.4 Based on Statistical Models:
â¢ Biased Random Sampling Load Balancing Algorithm
In Biased Random Sampling, the network is represented in the form of a virtual graph. Each server is symbolized as a node in the graph, with each degree of the node representing the free resources of the server. The increment and decrement of nodeâs in-degree is performed via Biased Random Sampling (BRS). Random sampling can be defined as the process wherein the servers are randomly selected. The sampling begins at some fixed node, and at each step, it moves to an adjacent node, chosen randomly.
In-degree refers to the free resources of the node. When a node is allocated a new job, it removes one edge to decrease its in-degree. Similarly, when the node completes a job, it will add an edge to itself to increase its in-degree. An improved BRS method has been suggested based on queue length and processing time. Alternatively, another method can be used for selection of a node for load allocation, i.e., selecting a node based on certain criteria like computing efficiency, speed, etc. Yet another method can be selecting the node for allocation which is under loaded i.e. having highest in-degree. If b is the walk length, then, as b increases, the efficiency of load allocation increases. We define a threshold value of b, which is generally equal to log n experimentally. The advantage of this load balancing scheme is that it is fully decentralized, thus making it apt for large network systems like that in a cloud.
â¢ Active Clustering Load Balancing Algorithm
Active Clustering works on the principle of grouping similar nodes together and working on these groups. A node initiates the process and selects another node called the matchmaker node from its neighbours satisfying the criteria that it should be of a different type than the former one. The so called matchmaker node then forms a connection between one of its neighbours which is of the same type as the initial node. The matchmaker node then detaches the connection between itself and the initial node. The above set of processes is followed iteratively. The performance of the system is enhanced with high availability of resources, thereby increasing the throughput. This increase in throughput is due to the efficient utilization of resources .