IndexAbstractIntroductionLoad BalancingLiteral Review of Various Load Balancing AlgorithmsConclusion and Future WorkAbstract The long dreamed vision of “computer as utility” has finally taken shape in the form of cloud computing. This paradigm shift is the biggest news in the computing world today. The cloud's pay-as-you-go model is attracting more and more customers to it. As a result, the data center workload increases enormously. So load balancing is the main issue in cloud data center. The main goal of load balancing in cloud computing is to reduce power consumption and SLA violation by distributing the load from the overloaded host to the underloaded hosts in the cloud data center. There are many load balancing algorithms in the cloud. In this article we have analyzed some of these load balancing algorithms and also proposed a new method for load balancing. Say no to plagiarism. Get a tailor-made essay on "Why Violent Video Games Shouldn't Be Banned"? Get Original Essay IntroductionAs defined by NIST [1], cloud computing is a model that provides affordable, ubiquitous, on-demand network access to a shared pool of configurable computing resources (e.g., networks, storage, servers, applications, and services ) that can be immediately allocated and released with minimal management effort or interaction with the service provider. The elasticity of resource provisioning, lack of capital investment, and “pay-as-you-use” pricing model attract people to cloud computing. Cloud computing allows users to use computing resources without installing them on their local computer. Since the cloud can be accessed anywhere and anytime via commodity hardware, its demand is increasing day by day. Therefore it must satisfy the Quality of Service (QoS) requirements of the user and at the same time it must be beneficial for the Cloud Service Provider (CSP). The key technology behind cloud computing is virtualization which allows several tasks to run simultaneously on a shared hardware platform. It provides on-demand and on-the-fly provisioning of physical machines to perform different tasks, thus avoiding wastage of resources [2]. The cloud provides computing resources in the form of a virtual machine (VM), which is an abstract machine that runs on a physical machine (PM) [3]. The VM live migration technique changes the mapping between PM and VM without disrupting applications for a long period of time [4]. Transfers the state of a VM from one PM to another with minimal downtime. Suspend and copy, pre-copy and post-copy are the three main live migration techniques. There is a delay associated with each migration, including the time it takes for VM [2] to stop running on the current server, move the accompanying data to the new one, and initialize a new VM there. Regardless of this burden, virtual machine migration is essential for load balancing and uninterrupted maintenance activities. Due to inefficient load distribution, some physical machines become overloaded. These overloaded servers produce more heat. As a result, the cost of the cooling system increases. It causes significant CO2 emissions which contributes to the greenhouse effect [6] [7]. Therefore, to minimize the environmental impact and meet users' QoS requirements, some VMs need to be migrated to balance the load. Load balancing algorithms are classified as static and dynamic algorithms where theStatic algorithms are mainly suitable for homogeneous and stable environments and can produce excellent results in these environments. However, they are usually not flexible and cannot match dynamic changes that occur during performance. Dynamic algorithms are more flexible and take into account different types of attributes in the system both before and during execution [8]. These algorithms can adapt to changes and provide better results in heterogeneous and dynamic environments. However, as distribution attributes become more complex and dynamic, some of these algorithms may become inefficient and cause more overhead than necessary, resulting in overall performance degradation. In this article we present a survey of current load balancing algorithms developed specifically to adapt to Cloud Computing environments. We provide an overview of these algorithms and discuss their properties. Furthermore, we compare these algorithms based on the following parameters: response time, throughput, energy efficiency, resource utilization, scalability, support, heterogeneous, resources, data processing capacity, and static. /Dynamic. The remainder of this paper is organized as follows. In Section II we described load balancing and its objectives. In Section III, various load balancing algorithms in cloud computing are discussed. Section IV compared multiple algorithms in terms of different parameters. Next, we discuss and compare (Table 1) the relevant approaches in Section IV. We then conclude the paper and show the possible areas of improvement and our future plan to improve load balancing algorithms in Section V. II. Load Balancing There are numerous challenges in cloud computing that need to be solved, including infrastructure, load balancing, cloud computing security and privacy, etc. Among them load balancing is one of the necessary mechanisms to maintain the service level agreement (SLA) and for better resource utilization. Load balancing [9] is a mechanism that distributes the workload on the resources of one node to the respective resources on the other node in a network without eliminating any of the running tasks [10]. Therefore, load balancing among various nodes of the cloud system has become one of the major challenges in the cloud computing environment. The load can be any type, such as network load, memory load, CPU load, and delay load, etc. Therefore it is very important to share the workload between the various nodes of the cloud system. more nodes in the system to improve performance and increase resource utilization. The main objectives of load balancing [11] are: - Establish a fault tolerance system - Maintain system stability Improve performance and efficiency - Minimize job execution time and waiting time in queue . - Increase user satisfaction - Improve resource utilization ratio. Literal Review of Various Load Balancing Algorithms The following load balancing algorithms are currently prevalent in cloud computing. Round Robin – [12] It is one of the simplest scheduling techniques that uses the principle of time slices. Here the time is divided into multiple portions and each node is assigned a particular interval or time slot. Initially, loads are distributed equally across all VMs. As the name suggests, round robin works in a circular pattern. It is easy to implement and understand and therefore less complex. Since the current system load is not considered, at any time some nodes may have a loadheavy and others may not have any demand. However, this problem is solved by the weighted round robin algorithm. Weighted Round Robin – It is the modified version of Round Robin where each VM is assigned a weight so that if one VM can handle double the load of the other, the powerful server gets a weight of 2. In these cases, the Data Center Controller will assign two requests to the powerful VM for every request assigned to a weaker one. Like Round Robin, it also does not consider advanced load balancing requirements such as processing times for each individual request [13]. Dynamic Round Robin [14]- This algorithm mainly works to reduce the energy consumption of the physical machine. The two rules used by this algorithm are as follows: If a VM has finished running and there are other VMs hosted on the same PM, this physical machine will no longer accept any new virtual machines. Such physical machines are called to be in a "retiring" state, i.e. when the rest of the VMs finish their execution, then this physical machine can shut down. The second rule says that if a physical machine is in retired state for a long time then instead of waiting, all the running VMs are migrated to other physical machines. Once the migration is successfully completed, we can shut down the physical machine. This waiting time threshold is called the “retirement threshold”. The algorithm reduces the cost of power consumption but cannot scale to large data centers. Limited: The limited load balancer (TLB) maintains a record of each virtual machine's status (busy/idle) [15]. When a request arrives it searches the table and if it finds a match based on the size and availability of the machine, then the request is accepted otherwise -1 is returned and the request is queued [16]. When allocating a request the current load on the VM is not considered, which can in turn increase the response time of a task. Modified Bounded: Like the Bounded algorithm, it also maintains an index table containing the list of virtual machines and their states. The first VM is selected in the same way as Throttled. When the next request arrives, the VM at the index next to the already assigned VM is chosen based on the state of the VM and the usual, unlikely steps of the Throttled algorithm are followed, where the index table is parsed from the first index every time that the data center queries the Load Balancer for VM allocation [17]. It offers better response times than the previous one. But in the index table the state of some VMs may change while allocating the next request due to the deallocation of some tasks. Therefore it is not always advantageous to start the search from the VM following the one already assigned. AMLB (Active Load Balance Monitoring) algorithm: Maintains information about each VM and the number of requests currently allocated to each VM. When a request to allocate a new VM arrives, it identifies the least loaded VM. If there is more than one, the first one identified is selected. Load Balancer returns the VM ID to the data center controller. It sends the request to the VM identified by that ID and notifies the active VM's Load Balancer of the new allocation [18]. During VM allocation, only the current load of the VM is given importance, its processing power is not taken into account. Therefore, the waiting time of some jobs may increase violating QoS requirements. VM-Assign load balancing algorithm: It is a modified version of the active monitoring load balancing algorithm. There.
tags