Professional Documents
Culture Documents
SEMINAR REPORT
on
LOAD BALANCING IN CLOUD COMPUTING
Course Title – Seminar
BACHELOR OF ENGINEERING
Submitted by-
Name: Simran Tikoo
Roll No.: 181203074
Branch: Computer Science
Semester: 7th (A2)
2
ACKNOWLEDGEMENT
First of all, I am grateful to Dr. Ankur Gupta Director MIET and faculty of
MIET, Jammu for giving me this wonderful opportunity to present my views
and research on the selected topic for Seminar (Load Balancing in Cloud
Computing).
At last, I want to thank my parents and friends who have been a support system
throughout my life and helped me lessen my burden and stress of work.
Yours sincerely,
Name: Simran Tikoo
3
ABSTRACT
CONTENTS
• Introduction . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . 05
• Conclusion…………………………………….18
• References……………………………………
5
INTRODUCTION
In the field of network technology, the cloud computing technology is showing
phenomenal growth due to the advancement of communication technology,
explosive use of Internet and solve large-scale problems. It allows both
hardware, and software applications as resources over the Internet for the cloud
user. The cloud computing is an Internet-based computing model that share
resources (e.g., networks, servers, storage, applications, and services), software,
and information to various devices of the user on demand (Bohn et al., 2011).
The Cloud computing is a path to utility computing embraced by some major IT
companies such as Amazon, Apple, Google, HP, IBM, Microsoft, Oracle, and
others. The Cloud Computing model has three service models, namely,
Software as a Service (SaaS), Platform as a Service (PaaS), Infrastructure as a
Service (IaaS) and four deployment models, namely, private, public, hybrid and
community.
The efficient and scalable features of cloud computing can achieve by
maintaining proper management of cloud resources. These cloud resources are
in the virtual form which is the most important characteristics of the cloud
system. The Cloud Service Provider (CSP) provides services to the users in
rented basis. The role of CSP to provide the services to the user is a very
complex one with the available virtual cloud resources. Therefore, researchers
have been given more attention towards the balancing of the load. This load
balancing has a sound impact on the system performance. The CSP design a
trade-off between the financial benefits and user satisfactory through load
balancing. The load balancing procedure also taking care of the Service Level
Agreements (SLAs), the agreement between the CSP and the cloud users.
6
The load balancing in clouds may be among physical hosts or VMs. This
balancing mechanism distributes the dynamic workload evenly among all the
nodes (hosts or VMs). The load balancing in the cloud is also referred as load
balancing as a service (LBaaS). There are two versions of load balancing
algorithms: static and dynamic. The static-based balancing algorithms are
mostly fit for stable environments with homogeneous system. Dynamic-based
balancing algorithms are more adaptable and effective in both homogeneous
and heterogeneous environment. However, the application of static load
balancing procedures has less system overhead as compared to the dynamic
load balancing procedures. A large number of heuristics has been proposed in
the literature to this problem. Also, some metaheuristics techniques are applied
to this, and here, we explained those technologies (Tsai and Rodrigues, 2014).
In cloud computing environment, the allocation of different tasks to VMs is
known as the load. We can define the load balancing problem in various ways
as follows. (1) Task allocation- The random distribution of a finite number of
tasks into different Physical Machines (PMs) which again allocated to different
VMs of respective PM. The efficiency of task allocation to the cloud determines
the effectiveness of the load balancing algorithm (Mishra et al., 2017, Ibrahim
et al., 2016, Jebalia et al., 2015). (2) VM/Task Migration Management- In
Cloud Computing Environment, VM Migration is nothing but the movement of
a VM from one PM to another PM to improving the resource utilization of the
data center for which the PM is overloaded. Similarly, the migration of the
current state of a task from one VM to another VM or VM of one host to VM of
another host is referred to as task migration. This is the reason; the VM or task
migration plays a major role in load balancing of cloud computing.
In this paper, we present a review based on the modern load balancing
algorithms evolved specially to suit the cloud environments. We have presented
a cloud system architecture to explain the cloud system. A taxonomy is
presented and elaborated for the classification of load balancing algorithms in
7
Response Time: Can be defined as the amount of time taken to react by a load
balancing algorithm in a distributed system. For better performance, this
parameter should be reduced.
Fault Tolerance: In spite of the node failure, the ability of an system to perform
uniform load balancing. The load balancing is the best fault-tolerant technique.
Point of Failure: Designed the system in such a way that the single point failure
does not affect the provisioning of services. Like in centralized system, if one
central node is fail, then the whole system would fail, so load balancing system
must be designed in order to overcome this problem.
does not consider the resource capabilities, priority, and the length of the tasks.
So, the higher priority and the lengthy tasks end up with the higher response
times.
Weighted Round Robin Algorithm: The weighted round robin considers the
resource capabilities of the VMs and assigns higher number of tasks to the
higher capacity VMs based on the weightage given to each of the VMs. But it
failed to consider the length of the tasks to select the appropriate VM. Improved
Weighted Round Robin Algorithm The proposed improved weighted round
robin algorithm is the most optimal algorithm and it allocates the jobs to the
most suitable VMs based on the VM’s information like its processing capacity,
load on the VMs, and length of the arrived tasks with its priority.
The static scheduling of this algorithm uses the processing capacity of the VMs,
the number of incoming tasks, and the length of each task to decide the
allocation on the appropriate VM. The dynamic scheduling (at run time) of this
algorithm additionally uses the load on each of the VMs along with the
information mentioned above to decide the allocation of the task to the
appropriate VM. There is a probability at run time that, in some of the cases, the
task may take longer execution time than the initial calculation due to the
execution of more number of cycles (like a loop) on the same instructions based
on the complicated run time data. In such situations, the load balancer rescues
the scheduling controller and rearranges the jobs according to the idle slot
available in the other unutilized/underutilized VMs by moving a waiting job
from the heavily loaded VMs. The load balancer identifies the
unutilized/underutilized VMs through resource prober whenever a task is
completed in any of the VMs. If there is no unutilized VM, then the load
balancer will not take up any task migration among the VMs. If it finds any
unutilized/underutilized VM, then it will migrate the task from the overloaded
VM to the unutilized/underutilized VM. The load balancer analyses the
resource’s (VM) load only on the completion of any of the tasks on any of the
10
VMs. It never examines the resource’s (VM) load independently at any time to
circumvent the overhead on the VMs. This will help in reducing the number of
task migrations between the VMs and the number of resource probe executions
in the VMs.
In non-distributed type, either one node or a group of nodes do the task of load
balancing. Non-distributed dynamic load balancing algorithms can take two
forms: centralized and semi-distributed. In the first form, the load balancing
algorithm is executed only by a single node in the whole system: the central
node. This node is solely responsible for load balancing of the whole system.
The other nodes interact only with the central node. In semi-distributed form,
nodes of the system are partitioned into clusters, where the load balancing in
each cluster is of centralized form. A central node is elected in each cluster by
appropriate election technique which takes care of load balancing within that
cluster. Hence, the load balancing of the whole system is done via the central
nodes of each cluster.
Centralized dynamic load balancing takes fewer messages to reach a decision,
as the number of overall interactions in the system decreases drastically as
compared to the semi distributed case. However, centralized algorithms can
cause a bottleneck in the system at the central node and also the load balancing
process is rendered useless once the central node crashes. Therefore, this
algorithm is most suited for networks with small size.
12
CONCLUSION
You should now have the information you need to design a resilient load
balancing solution for your cloud application. The approaches, patterns, and
examples described in this book will help guide you whether you plan to use
NGINX and AWS or another load balancer and cloud provider combination.
As you go forth to build your cloud load balancing solution, keep in mind the
importance of automatic registration, deregistration, health checking, and the
ability to scale your load balancer horizontally. Think about the likelihood of
your solution needing to exist outside of your cloud vendor, and determine the
value of your solution being portable to other providers. Consider your
13
application needs for session persistence and examine if now is the right time to
centralize session state to alleviate this need.
If you have not already, try out the Amazon Quick Start for NGINX Plus to get
a feel for the AWS environment and see if NGINX or NGINX Plus is a good fit
for your solution. Take note of the value provided by CloudFormation and
Configuration Management that enables you to build up the Quick Start without
any manual configuration. Remind yourself that Infrastructure and
Configuration management not only provides you a repeatable deployment but
also the ability to reliably test and build quality gates for your systems and
security.
REFERENCES
▪ http://www.haproxy.org
▪ http://kb.limuxvirtualserver.org/wiki/Main_Page
▪ http://www.linuxvirtualserver.org/