Dynamic Load Balancing Using Honey Bee Algorithm: Load Balancing

Dynamic Load Balancing Using Honey Bee Algorithm: Load Balancing

Sudha S. Senthilkumar, Brindha K., Nitesh Kumar Agrawal, Akshat Vaidya
DOI: 10.4018/978-1-7998-3479-3.ch008
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

With the ever-increasing size of the systems, there is a greater need for load balancing. Various algorithms are used for balancing the overall load of the cloud and a few of them are the honeybee foraging algorithm, a biased random sampling on a random walk procedure and active clustering. Here, the authors focus on the honeybee foraging algorithm. There is a type of bees called the forager bees who continually search for food sources and upon finding the same they return to the hive and advertise their discovery by a dance called a waggle. In case of load balancing in the web servers, whenever the demand sees a spike there is a dynamic allocation of services to regulate the changing demands of the user. The servers are grouped under Virtual servers (VS), each virtual server is assigned a specific queue for itself. Each server while processing a request calculates the reward and this is analogous to the quality of the find. The dance floor in case of the bees can be analogous to the advert board here which advertises the reward to the entire colony.
Chapter Preview
Top

Introduction

Distributed system include a set of interconnected and virtual computers that are provisioning dynamically. The Distributed system and cloud computing characteristics are basically as on-demand access, broad network access, resource pooling, rapid elasticity, measured service and security.

Providing the virtualization technology in cloud platforms helps enterprises to rent computing power in the form of virtual machines to the users. The users may utilize hundreds or thousands of Virtual Machines (VMs). To handle a very large size of data many techniques to optimize load and simplify operations are needed to obtain desirable performance level for the users. There is a need an effective algorithm in term of load balancing in the cloud computing. The load can be differentiated in various categories, CPU load, delay or network load, memory capacity. Load balancing guarantee that each processor in the system does approximately the same quantity of load at any point of time .The task scheduling is used to determine the suitable resources to execute the tasks that received from users. For increasing the utilization of resources, we use the load balancing algorithm. Efficient utilization is achieved by using the idle resources until finishing the resources of processors that have the high load. The load balancing mechanism divides the loads within all the resources which are available. The dynamic cloud computing used many of load balancing strategies. The Max-Min algorithm for each task, the minimum completion time is calculated, then the task with the maximum of minimum completion time is mapped to the corresponding virtual machine. The Shortest Job-First (SJF) is a various algorithm to CPU scheduling. This way associated with every process length’s next CPU burst. The process with shortest length assigned to CPU when it is available. When there are two processes that have same CPU bursts then scheduling based on FCFS. In Round Robin (RR) approach, the processes are separated between all processor. Every process is mapping the processor in a round robin order by using quantum time. The allocation of process is not based on the allocations from remote processors. The processing time of task for various processes is not equal but the distributions of workload are same.

With the ever increasing size of the systems, there is a greater need for load balancing. The servers tend to get over worked and are rendered useless in catering to the needs of millions of users, and hence deny the services. So, a challenge in this modern era of smart computing is to make use of the various Load Balancing techniques to get the servers to function efficiently. Various algorithms are used for balancing the overall load of the cloud and a few of them are the honey bee foraging algorithm, a biased random sampling on a random walk procedure and Active clustering. Here, we will focus on the honeybee foraging algorithm and write a pseudo code for it, as well as develop a generic system model. The honeybee foraging algorithm is inspired from the behavior of honeybees for finding and reaping food. There is a type of bees called the forager bees who continually search for food sources and upon finding the same they return to the hive and advertise their discovery by a dance called as the waggle. The type of the movements in the dance reveal the quality and quantity of the food source as well as the distance of it from the beehive. Scout bees follow the forager bees to the location and reap the food. In case of load balancing in the web servers, whenever the demand sees a spike there is a dynamic allocation of services to regulate the changing demands of the user. The servers are grouped under Virtual servers (VS), each virtual server is assigned a specific queue for itself. Each server while processing a request calculates the reward and this is analogous to the quality of the find. The dance floor in case of the bees can be analogous to the advert board here which advertises the reward to the entire colony. Each server takes the role of either a forager or a scout. If the profit is high then the server stays at the current virtual server; posting an advertisement for its profitability (pr), if it was low then the server returns to the forage or scout behavior.

As mentioned earliest, the users send the requests to the service provider, the service provider has to serve many users to provide the best results and take into account maximizing resources utilization. Distributing the tasks into the resources to avoid overloading where there are under loaded resources. The objectives of this work to achieve users’ satisfaction and provider satisfaction by balancing the loads and increase resources utilization, by minimizing the average of both make span time and response time using LBDA algorithm effective performance.

Key Terms in this Chapter

Honeybee Algorithm: The bees algorithm is a method of problem solving that mimics the behavior of honeybees to find the optimum solution.

Waggle Dance: A waggling movement performed by a honeybee at the hive or nest, to indicate to other bees the direction and distance of a source of food.

Virtual Servers: A virtual server is a server that shares hardware and software resources with other operating systems (OS) versus dedicated servers.

Artificial Honeybee Colony Calculation (ABC): It is a swarm based meta-heuristic algorithm that was introduced by Karaboga in 2005 for optimizing numerical problems.

Dynamic Load Balancing: Assignment of tasks to a computational platform, with the objective of balancing the work assigned to processors. When the tasks are interdependent an additional objective is to minimize communication between processors. The load balance is monitored during execution of the application, and the assignment is modified if required, while trying to minimize the communication cost of migrating tasks.

Complete Chapter List

Search this Book:
Reset