Load Balancing in Cloud Computing with Enhanced Optimal

advertisement
Imperial Journal of Interdisciplinary Research (IJIR)
Vol-2, Issue-9, 2016
ISSN: 2454-1362, http://www.onlinejournal.in
Load Balancing in Cloud Computing with Enhanced
Optimal Cost Scheduling Algorithm
Sandeep Kaur1 & Sukhwinder Sharma2
1&2
Department of Computer Science, Baba Banda Singh Bahadur College of Engineering,
Fatehgarh Sahib, Punjab, India
Abstract: Cloud computing is a trending technology
to provide ease of access to services that a user
requires with pay-as-you-go model. The number of
user requests on the servers increase tremendously
therefore increasing load on the servers. This
requires a proper load balancing technique to
balance the load on the virtual machines. In this
paper we have modified an existing algorithm
Optimal Cost Scheduling algorithm to introduce a
new algorithm Enhanced Optimal Cost Scheduling.
The scheduler uses new algorithm to processes the
user requests on the given virtual machines which
results in reduced waiting time and turnaround time
which is a profit for both the service provider and
service consumer.
1. Introduction
Cloud computing introduced a new era of service
delivery and deployment where any user can access,
create, deploy any kind of service like software,
storage, network, operating system and so on with
having access to the internet. The whole internet can
be assumed as a cloud which hosts different kind of
services that can be accessed by the user. The key
idea is to reduce the hardware and operational costs.
Access to data is easier, with the growing number of
web-enabled devices used in today’s business
environment (tablets, smartphones, etc.). Cloud
computing makes IT management easier and more
responsive and it is cost effective to the changing
needs of the business [10].
Cloud computing architecture consists of three
basic entities – datacenter, CIS (Cloud Information
Service), and broker. Datacenter is the physical
location where servers are placed. Host is a physical
server in that datacenter and VMs are created on the
hosts. Each host and VM has some hardware
configurations which are registered on to the CIS.
Broker is an entity which submits tasks (cloudlets) to
the datacenter. It contacts CIS to get the info about
datacenter (resources) and then directly contact the
datacenter and assigns the cloudlets to VMs running
on it.
Load balancing plays a key role in execution of
these cloudlets. It distributes load over different
nodes in the cloud to maximize resource utilization.
There are several techniques to provide load
Imperial Journal of Interdisciplinary Research (IJIR)
balancing in cloud computing with each having its
own methodology for distribution of cloudlets. The
idea of each algorithm is to facilitate resources by
providing maximum throughput and minimum
response time [1]. The load balancer executes tasks
on different virtual machines by routing them in a
manner proposed by the underlying algorithm. The
routing fashion differs the tasks execution time
which contributes to effectiveness of underlying
algorithm in terms of reduced execution time and
maximum resource utilization.
In this study our aim is to understand the existing
load balancing algorithms and introduce a new
Enhanced Optimal Cost Scheduling algorithm which
gives maximum throughput in terms of reduced
response time for service user and reduced execution
cost for service provider making more profit for the
provider.
2. Related Work
Mrs. Nagamani H. Shahapure and Dr. Jayarekha P
proposed an optimal cost scheduling algorithm which
helps us to reduce execution cost and processing
power. Cloud resources that have been used are
minimal. It also works for cost optimization at cloud
service provider, while re-scheduling already takes in
requests to make space for a newly arrived request.
This algorithm does not work when all VM in the
data centers are busy and new requests are in waiting
state. In future an algorithm will be developed which
automatically replicates the VMs. As number of
resources will be increased replication of VM takes
place. It can then accept huge amount of requests
compared to the existing algorithm. An algorithm
can be developed to optimize response time of besteffort execution of request [16].
According to Mayanka Katyal and Atul Mishra,
Cloud Computing is a new trend emerging in IT
environment
with
wild
requirements
of
infrastructure, and Load Balancing is an important
aspect of cloud computing environment. Efficient
load balancing mechanism results into efficient
resource utilization. Provisioning of resources is
carried out on-demand basis in pay-as-you-saymanner. Load Balancing also supports users’
prioritization by applying appropriate scheduling
criteria. This paper presents various load balancing
Page 1460
Imperial Journal of Interdisciplinary Research (IJIR)
Vol-2, Issue-9, 2016
ISSN: 2454-1362, http://www.onlinejournal.in
schemes in cloud computing environment based
upon requirements specified in Service Level
Agreement (SLA) [5].
According to Mohsin Nazir, Cloud Computing
envisioned as the future architecture of IT
Enterprises. A major move towards cloud computing
can be expected in recent future. Cloud computing is
really beneficial to companies wanting a competitive
position in today’s economy. It offers attractive
pricing, staff is free for other duties, and moreover it
works on pay as needed services model which will
continue to provide more businesses into this field.
[4].
Soumya Ray and Ajanta De Sarkar performed
their study on existing VM load balancing algorithm
by implementing it in CloudSim simulation tool
using java language. They observed that VM load
balancing algorithm performs in two scenarios during compile time or run time. The execution time
categorizes it into static or dynamic. Dynamic
algorithms are less stable than static algorithms and
difficult to predict behavior of dynamic algorithm
also. They really works better in case of distributed
environments. They proposed Novel dynamic load
balancing algorithm as the future implementation of
their research work. [6].
Shridhar G.Damanal and G. Ram Mahana Reddy
proposed an efficient dynamic algorithm to manage
load at the server. This algorithm dynamically
studies workload of VMs to distribute load among
them intelligently. In comparison to existing ActiveVM load balance algorithm, VM 0 is used almost ten
times more than VM 24. Consequence is that initial
VMs are over utilized and later VMs are
underutilized. Hence they proposed algorithm to
solve problem of inefficient utilization of VMs
compared to existing algorithm [7].
Raza Abbas Haidri, C. P. Katti and P. C. Saxena
proposed a load balancer which intelligently binds
cloudlets to virtual machines in order to minimize
response time and turnaround time so as to fulfill the
desired objective. The proposed model is based on
centralized load balancing mechanism. Before
executing provisioning of cloudlets to VM, load
balancer first calculates remaining capacities of all
VMs. It finds more powerful VM and then dispatch
cloudlet on to it. The proposed model ensures an
even distribution of workload among the VMs [2].
Vikas Kumar and Shiva Prakash have surveyed
the cloud computing’s load balancing issues and
analyzed different existing techniques used in load
balancing. They studied various researchers’ work
done in the domain of load balancing, and did a
research comparison. Their thorough study concludes
that the issue of efficient load balancing is still open
so that higher user satisfaction and more efficient
resource utilization can be achieved [11].
According to Jaspreet Kaur, the key challenge of
every IT engineer to develop efficient products that
Imperial Journal of Interdisciplinary Research (IJIR)
can enhance the business performance is Cost and
Time. It follows in the cloud based IT sectors also. In
her research paper, Equal Spread Current Execution
Load balancing algorithm dynamically allocates the
VM resources to the job in queue providing reduced
cost in data transfer. The simulation is used to
provide overall time and cost results, and a
successful comparison of various load balancing
algorithms [13].
Rukman Patla and Rubal Jeet proposed a system
composed of many replicated machines known as
Virtual redundant machine (VRM) that are able to
unload the overloaded data centers once it detects
that a datacenter is overloaded. This fulfills the
purpose of attaining Virtual machine migration
which is one of the major challenges for load
balancing in cloud computing. It is required to
achieve a better Process Management, better
Response time and better Resource allocation to end
users. In their proposed solution, infinite user
requests will effect VRMs only. [14].
Rattan Mishra and Anant Jaiswal discussed the
basic concept of cloud computing and the issues in
load balancing here. The load balancing technique
has been analyzed by using the concept of ant colony
optimization algorithm. They studied and explained
the mechanism of mobile agents to balance the load
of cloud. The basic purpose of this research paper is
to develop an efficient load balancing algorithm
based on concept of ant colony optimization, and to
regulate different parameters such as CPU load,
network delay, and network load and memory
capacity for clouds of different size. [9]
3. System Architecture
The basic architecture of system is depicted in
Figure 1. There are three basic entities in Cloud
computing (Cloudsim) architecture – Datacenter,
Cloud Information system (CIS), and Broker. Virtual
machines reside on the host (physical servers). There
exists one-to-many mapping between a host and
VMs i.e. multiple VMs can be mapped onto a single
host subject to its availability and capabilities.
Primary responsibility of host is to assign processing
cores to VM. Each host and VM has its hardware
configurations- processing elements (PE), RAM,
memory, bandwidth, etc. Allocation policy or
algorithm must ensure that critical characteristics of
VM and host do not mismatch.
Page 1461
Imperial Journal of Interdisciplinary Research (IJIR)
Vol-2, Issue-9, 2016
ISSN: 2454-1362, http://www.onlinejournal.in
Computing.
Figure 1. Cloud computing system architecture
A cloud user chooses a service pack from list of
service packs available with the cloud service
provider. Then it submits its requests to the broker
which acts as a service agent between the service
consumer (user) and service provider. The broker
looks for the Cloud service providers (CSP) who can
fulfill the VM request by querying the CIS. Any new
resource created, should be registered to the CIS.
Once the Cloud service provider has been chosen by
Broker, it submits the VMs list to the Datacenter.
The datacenter performs VM provisioning according
to allocation policy decided by the cloud service
provider.
Figure 2. Load Balancing Architecture
This workload distribution architecture reduces
both resource over-utilization and under-utilization
depending upon the underlying balancing
mechanism. Figure 3 shows a redundant copy of
cloud service is implemented on virtual server B.
When user request for cloud service A comes in, it is
directed to both virtual server A and virtual B to
ensure equal load distribution.
4. Proposed Work
The proposed work is load balancing based upon
Enhanced Optimal Cost Scheduling Algorithm. It is
consequence of enhancements to an existing load
balancing algorithm which provides better
performance over the existing results. It is a kind of
Resource Scheduling Algorithm which distributes
load evenly across the available nodes in a cloud
computing environment. The algorithm achieves
better resource utilization and improved response
time which is desired and fruitful for both the user
and provider.
In the existing algorithm, processes are assigned
to VMs based upon calculated Burst Time. Priority is
given to a VM with least Burst Time i.e. next process
in waiting queue is assigned to VM which is having
least Burst Time. But executing of processes is
carried out in FCFS fashion which means the process
which comes first is executed first upon the assigned
VM. In the proposed algorithm, process execution
technique is altered where each process is executed
based upon ascending order of Burst time value.
Process with least Burst time is executed first and
process with highest Burst time is executed in last.
This reduces waiting time and turnaround time for
process execution. This technique reduces execution
cost to a great extent. Figure 2 depicts how user
traffic is distributed over different servers in Cloud
Figure 3. Load distribution with Optimal Scheduler
The proposed algorithm works on pay-as-you-go
cloud computing mechanism where a user request for
the cloud service for a specific time and pay the
amount as per cost defined by the cloud service
provider. The service provider uses following
notations [16] to calculate Profit for the services
provided to the user.
Table 1. Key Variables Used.
Variables
Rj
VMj
Cj
u_cost
e_cost
u_time
Prj
j
P
Pkg
Imperial Journal of Interdisciplinary Research (IJIR)
Meaning
Available cloud resources
Available virtual machines
Price fixed for VMj executing Rj
Cost paid by user for service
Cost taken by VM to serve the user
User waiting time
Provider’s profit on resource
Number of instances ranging from 1
to n
Processor
Grouped resource packages
Page 1462
Imperial Journal of Interdisciplinary Research (IJIR)
Vol-2, Issue-9, 2016
ISSN: 2454-1362, http://www.onlinejournal.in
By using above notations, cost is defined as C that
depends upon package containing the service.
Let Cj = (VMj ,Pkg ,Rj)
The algorithm works as follows:
u cost=u cost[j]; [Initialize user cost]
u_time=u_time[j]; [Initialize user time]
e_cost = (Time taken by VM *u_time); [Calculate
the actual cost]
Pr = u_cost - e_cost; [Calculate the profit]
This algorithm is beneficial for both the cloud
provider and cloud users.
The profit gained by the service provider is
calculated as:
u_cost = ∑u_cost (VM)/hour [user pays according to
the package selected]
e_cost = ∑e_cost (VM)/hour [actual cost involved in
executing]
5.1. Simulator Modules
Datacenter – it is container for hosts on which
VMs are provisioned according to the requirement of
the underlying load balancing algorithm.
CISRegistry – it is central registration system
where datacenter registers its available resources and
broker queries the registered entries to choose a
datacenter according to its required configuration.
DatacenterBroker – It acts as a mediator between
user and datacenter to make user avail datacenter
resources. It takes in user request and queries CIS for
datacenter with similar configurations. It then
directly submits cloudlets to the datacenter selected
for the user request.
LoadBalancer – It distributes equal tasks among
available VMs while execution of cloudlets is being
performed. This component works according to the
load balancing policy implemented in the solution.
6. Experimental Results
5. Simulation Details
Cloudsim simulation tool is used to carry out the
research work execution. The algorithm logic is
implemented in Java language. Cloudsim simulation
tool consists of virtual components – virtual
machines (VMs), hosts, datacenter, and cloudlets.
Hardware configurations are pre-defined in code for
various components of the simulator. These
components together forms a virtualized cloud
environment to perform algorithm testing. Below
figure depicts mechanism of VM creation and task
scheduling in Cloudsim:
A user is bound to select a service pack to get the
service he is intended to use. The service pack
contains a list of services available with the service
provider within that particular service pack. These
services are available on time basis and user has to
pay according to selected service and time he
chooses to run the service.
First a user has to register in the application to get
access to the available service packs. Once he
completes registration process, he needs to enter a
subscription request form with details of cost and
time that he needs to pay for. The request is
submitted to the service provider. If request is
accepted, user has to pay charges accordingly. Then
VM provisioning is carried out by the datacenter
according to the underlying algorithm.
This is the process of user taking the cloud service
in pay as you go model. Basic process of task
scheduling is done by Round Robin algorithm. The
Enhanced Optimal Cost Scheduling algorithm works
better over Round Robin and Optimal cost
Scheduling algorithms and reduces the average
waiting time and average turnaround time up to a
great extent. Thus reducing the cost of execution of
cloudlets.
Figure 5 shows user request form with details of
request he has chosen, cost of request and time
duration he wanted the request.
Figure 4. VM creation and task scheduling in
Cloudsim
Imperial Journal of Interdisciplinary Research (IJIR)
Page 1463
Imperial Journal of Interdisciplinary Research (IJIR)
Vol-2, Issue-9, 2016
ISSN: 2454-1362, http://www.onlinejournal.in
Req6
24
25
Figure 7 shows the log file generated after
execution of all the three algorithms. It contains
information about the execution of different
processes on pre-configured VMs, time quantum, the
burst time, waiting time and turnaround time for each
process. Also shows the average waiting time and
average turn around for overall execution for each of
the algorithms in comparison. The log file also
displays cost and profit details at the end.
Figure 5. User Request Form
Once the request is submitted, it is sent to VMs on
datacenter for execution. The cost details of a request
when submitted is given in graph below:
Figure 6. Profit and time details for single request
Table 2 gives details for the requests submitted
for execution. It shows the request id, their cost and
time duration for using the particular services.
Table 2. User request information
Request Id
Req1
Req2
Req3
Req4
Req5
Cost($)
12
14
20
18
19
Time(Hr)
15
15
16
20
22
Imperial Journal of Interdisciplinary Research (IJIR)
Figure 7. Log file of execution
Page 1464
Imperial Journal of Interdisciplinary Research (IJIR)
Vol-2, Issue-9, 2016
ISSN: 2454-1362, http://www.onlinejournal.in
Table 3 gives analysis after comparison of the
three algorithm based on different parameters. The
three algorithms compared are Round Robin,
Optimal Cost Scheduling and Enhanced Optimal
Cost Scheduling.
Table 3. Comparative analysis.
Parameters
Scalability
Execution
Time
Turnaround
Time
VM Load
Distribution
Waiting
Time
Service
Provider
Cost/Hr
Round
Robin
Optimal
Cost
Scheduling
Yes
Slow
Yes
Fast
Enhanced
Optimal
Cost
Scheduling
Yes
Fast
More(35)
Less(28)
Less (20)
Slow
Slow
Fast
More(24)
Less(20)
Less(12)
High
Less
Less
Table 4. Cost comparison
Req1
Req2
Req3
Req4
Req5
Req6
Figure 9 shows the cost analysis of the three
algorithms. The proposed algorithm gives better
results in terms of lesser execution cost at the service
provider end.
Figure 9. Cost comparison of three algorithms
Table 4 gives costs induced per hour by the client
and cost taken per hour by the service provider,
calculating the net profit obtained by the provider.
Request
Figure 8. Average waiting time and turnaround time
Cost/hour
of client
100
140
200
180
190
240
Cost/hour of
provider
90
126
180
162
171
216
Profit of
provider
10
14
20
18
19
24
Figure 8 shows the comparison of waiting time
and turnaround time for the existing algorithms and
the proposed algorithm.
7. Conclusion and Future Work
Load balancing in cloud computing can be achieved
with efficient resource scheduling mechanism. The
enhanced resource scheduling algorithm introduced
here provides much better results to implement
profitable solution for scheduling resources in the
cloud. Minimal cloud resources are used to
implement the results.
The proposed algorithm works proficiently to
achieve minimum execution cost for service provider
and reduced execution time for service user. It works
when the VMs in datacenter are in idle state. Future
work can be concentrated on reducing execution cost
further based on other parameters like energy, power
consumption, CPU time and some other similar
things that can be valuable to achieve an economical
solution for developing a resource scheduling
algorithm in cloud computing.
8. References
[1] Amandeep, Yadav V. and Mohammad F., “Different
Strategies for Load Balancing in Cloud Computing
Environment: a critical Study”, International Journal of
Scientific Research Engineering & Technology (IJSRET),
ISSN 2278 – 0882, Volume 3, Issue 1, April 2014.
[2] Damanal S. G. and Reddy G. R. M., “Optimal Load
Balancing in Cloud Computing By Efficient Utilization of
Virtual Machines” IEEE 2014
[3] Haidri R.A., Katti C. P., Saxena P. C., “A Load
Balancing Strategy for Cloud Computing Environment” ,
Imperial Journal of Interdisciplinary Research (IJIR)
Page 1465
Imperial Journal of Interdisciplinary Research (IJIR)
Vol-2, Issue-9, 2016
ISSN: 2454-1362, http://www.onlinejournal.in
International Conference on Signal Propagation and
Computer Technology (ICSPCT) 2014 IEEE
[4] Kansal N. J. and Chana I., “Cloud Load Balancing
Techniques: A Step Towards Green Computing”, IJCSI
International Journal of Computer Science Issues, Vol. 9,
Issue 1, No 1, January 2012.
[5] Katyal M. and Mishra A.,” “A Comparative Study of
Load Balancing Algorithms in Cloud Computing
Environment”, International Journal of Distributed and
Cloud Computing, Volume 1, Issue 2 December 2013.
[16] Shahapure M. H. and Jayarekha P, “Load Balancing
with Optimal Cost Scheduling Algorithm”, International
Conference on computation of Power, Energy, Information
and Communication (ICCPEIC) 2014 IEEE.
[17] Srinivas J, REDDY K.V.S. and QYSER A.MOIZ,
“Cloud Computing Basics”, International Journal of
Advanced Research in Computer and Communication
Engineering Vol. 1, Issue 5, July 2012.
[18]http://www.tutorialspoint.com/cloud_computing/, 17Apr-15
[6] Kaur J., “Comparison of load balancing algorithms in
a Cloud”, International Journal of Engineering Research
and Applications (IJERA), ISSN: 2248-9622, Vol. 2, Issue
3, pp.1169-1173, May-Jun 2012.
[7] Kherani F. F. and Vania J., “Load Balancing in cloud
computing”, International Journal of Engineering
Development and Research (IJEDR), Volume 2, Issue
1,ISSN: 2321-9939, 2014.
[8] Kumar V. and Prakash S., “A Load Balancing Based
Cloud Computing Techniques and Challenges”,
International Journal of scientific research and
management
[9] Mishra R. and Jaiswal A., “Ant Colony Optimization:
A Solution of Load Balancing in Cloud”, International
Journal of Web & Semantic Technology (IJWest), Vol 3,
No 2, April 2012.
[10] Monjur A. and Mohammad A. H. “Cloud Computing
and Security Issue in The Cloud” International Journal of
Network Security & Its Applications (IJNSA), Vol.6, No.1,
January 2014.
[11] Nazir M., “Cloud Computing: Overview & Current
Research Challenges”, IOSR Journal of Computer
Engineering (IOSR-JCE) ISSN: 2278-0661, ISBN: 22788727Volume 8, Issue 1 (Nov. - Dec. 2012), PP 14-22.
[12] Pasha N., Agarwal A. and Rastogi R., “Round Robin
Approach for VM Load Balancing Algorithm in Cloud
Computing Environment”, International Journal of
Advanced Research in Computer Science and Software
Engineering, Volume 4, Issue 5, ISSN: 2277 128X, May
2014.
[13] Patla R. and Jeet R., “Load Balancing in the Cloud
Computing Using Virtual Machine Migration: A Review”,
International Journal of Application or Innovation in
Engineering & Management (IJAIEM), Volume 3, Issue 5,
ISSN 2319 – 4847, May 2014.
[14] Ray S. and Sarkar A.D., “Execution Analysis of Load
Balancing Algorithms in Cloud Computing Environment”,
International Journal on Cloud Computing: Services and
Architecture (IJCCSA), Vol.2, No.5, October 2012.
[15] Selvi S. T., Valliyammai C. and Dhatchayani V. N.,
“Resource Allocation Issues and Challenges in Cloud
Computing”, International Conference on Recent Trends in
Information Technology 2014 IEEE (IJSRM), Volume2,
Issue5, Pages 815-824, 2014.
Imperial Journal of Interdisciplinary Research (IJIR)
Page 1466
Download