Abstract— Cloud computing is a new emerging trend in computer technology that has influenced every other entity in the entire industry, whether it is in the public sector or private sector with the advance feature of the cloud there are new possibility opening up how application can be built and how different services can be offered to the end user through Virtualization, on the internet. Considering the growing importance of cloud finding new way to improve cloud services is an area of concern and research focus. In available Virtual Machine Load Balancing policies limitation of cloud is that they don’t save the state of the previous allocation of virtual machine to a request from the user and the VM Load Balancing algorithm require execution each time a new request for VM allocation received from user. This problem can be resolve by developing an efficient VM load balancing algorithm for using Round Robin approach.
Index Terms—VM load balancer, Cloud Analyst, Datacenter, Round Robin Virtual Machine Load Balancing Algorithms, Modified Approach to Round Robin Virtual Machine Load Balancing Algorithm.
I. INTRODUCTION
The virtualization forms the foundation of cloud technology where virtualization is an emerging technology that separate computing function and technology implementation from physical hardware. Cloud computing is the virtualization of computer program through the internet connection rather than installing application on everywhere.
Using virtualization user can access server or storage without knowing specification of storage details. The number of service providers are growing and the cost of services are decreasing.
Considering the growing importance of cloud, finding new ways to improve cloud services is an area of concern and research focus. Cloud computing can be defined as follows:“Cloud computing is the delivery of computing as a service rather than a product,
whereby shared resources, software, and information are provided to computers and other devices as a utility (like the electricity grid) over a network (typically the Internet) [1]. ”
Manuscript received May 07, 2015.
Areeba Sameen, Department of Computer science and Engineering, Dr.B.A.M University Jawaharlal Nehru Engineering college Aurangabad, 431006, M.S., India
D.K Budhwant, Department of Computer science and Engineering, Dr.B.A.M University Jawaharlal Nehru Engineering college Aurangabad, 431006, M.S., India
II. RELATEDSTUDY
Studying and analyzing the proposed algorithm on a real cloud scenario is extremely difficult. Also, considering the budget constraints, the most feasible option is to study and analyze the proposed algorithm by using simulation. As such, we used CloudAnalyst to study and analyze the proposed algorithm. CloudAnalyst [2] is a cloud simulation tool that supports visual modeling and the simulation of large-scale applications that are deployed on Cloud Infrastructure. CloudAnalyst, which is built on CloudSim [3], allows for the description of application workloads, including information on the geographic location of users generating traffic and the location of data centers, the number of users and data centers, and the number of resources in each data center. Using this information, CloudAnalyst generates information about the response time of requests, the processing time of requests, virtual machine cost, and total data transfer cost. It is based on top of mature simulation frameworks such as SimJava [4,5] and CloudSim [3]. CloudSim framework [3] is in turn built on top of GridSim framework [6]. The GridSim toolkit is a Java based simulation toolkit that supports the modeling and simulation of heterogeneous Grids.
III. CLOUD COMPUTING ENVIRONMENT Cloud computing provides service according to several models:
Infrastructure as a Service (IaaS),
Platform as a Services (PaaS),
Software as a Services (SaaS)
Software as a service (SaaS):Saas is a new model, which tells how software is delivered. In this service model, we access the software by using web browser and cost is paid on a subscription basis. As in other models, if a user wants to use software, he has to buy the license of the software. In this way Saas provides pay per use service to the customer. This model is faster and cost effective. Customers do not need to spend money on hardware, implementation or acquisition to run the application. It’s the responsibility of the service provider to manage and run the application with security, reliability and performance. Saas can be used by Windows, Linux or Mac users, providing platform independence over the internet.
Comparative Analysis of Round Robin VM Load
Balancing With Modified Round Robin VM Load
Balancing Algorithms in Cloud Computing
Areeba Sameen, D.K Budhwant
Platform as a Service (PaaS):Paas is one of the category of Cloud Computing services that facilitate with computing platform and a solution stack as a service. Paas providing a service of deployment of applications without the cost and complexity of buying and managing the underlying hardware and software. Paas providing services to the customer as application design, application development, testing and deployment, also facilitate team collaboration, web service integration, security, scalability.
Infrastructure as a Service (IaaS):In case of Iaas, service providers provide computers-physical or virtual machines and other resources. Iaas also facilitate additional resources such as virtual-machines desk image library, raw and file-based storage, firewalls, load balancers, IP addresses and software bundles. Examples of Iaas providers include: -Amazon EC2, Azure Services Platform, Google Compute Engine etc.
Fig .1.Cloud Computing Services
IV. LOADBALANCING IN CLOUD COMPUTING
Load balancing is the process of improving the performance of distributed and parallel computing with the help of distribution of load among the processors or nodes. As the use of the web increasing day by day, with this there is need to increase the requirement for load balancing. The introduction of E-Commerce has lead many businesses to carry out the most of their day-to-day business online. As a result of the increase in demand of the web, web sites providers want to ensure the availability of access for their users and make sure that their requests are processed as quickly as possible.
Fig. 2. Load balancing in cloud computing
V. CLOUDSIM
CloudSim is a framework developed by the GRIDS laboratory of University of Melbourne which enables seamless modeling, simulation and experimenting on designing Cloud computing infrastructures. CloudSim is a self-contained platform which can be used to model data centers, service brokers, scheduling and allocation policies of a large scaled Cloud platform. It provides a virtualization engine with extensive features for modeling the creation and life cycle management of virtual engines in a data center. CloudSim framework is built on top of GridSim framework also developed by the GRIDS laboratory.
VI. MODELLING THEVIRTUALMACHINEALLOCATION
Cloud computing infrastructure different from a Grid computing is the massive deployment of virtualization technologies and tools. Hence with Clouds there is a virtualization layer that acts as an execution and hosting environment for Cloud-based application services. Hence, traditional application mapping models that assign individual application elements to computing nodes do not accurately represent the computational abstraction which is commonly associated with the Clouds. To allow simulation of different policies under varying levels of performance isolation, CloudSim supports VM scheduling at two levels: First, at the host level and second, at the VM level. At the host level, it is possible to specify how much of the overall processing power of each core in a host will be assigned to each VM. At the VM level, the VMs assign specific amount of the available processing power to the individual task units that are hosted within its execution engine.
At each level, CloudSim implements the time-shared and space-shared resource allocation policies. In this paper, we have proposed the Round Robin VM Load Balancing at the VM level where individuals application services is assigned varying amount of the available processing power of virtual machine.
VII. EXISTINGROUNDROBINLOAD BALANCINGALGORITHM
It is one of the simplest scheduling techniques that utilize the principle of time slices. Here the time is divided into multiple slices and each node is given a particular time slice or time interval i.e. it utilizes the principle of time scheduling [7]. Each node is given a quantum and in this quantum the node will perform its operations. The resources of the service provider are provided to the requesting client on the basis of this time slice. The following figure shows how round robin works. The following figure shows that each user request is served by every processor within given time quantum. After the time slice is over, the next queued user request will come for execution. If the user request completes within time quantum then user should not wait otherwise user have to wait for its next slot.
A. Advantage
The main advantage of this algorithm is that it utilizes all the resources in a balanced order.
An equal number of VMs are allocated to all the nodes which ensure fairness.
B. Disadvantage
In this method it considers current load on each virtual machine. It does not save the last status of the virtual machine allocation. It only concern with the current load of virtual machine.
C. Scheduling based on RR
The scheduling process based on RR
experimentation and its Pseudo code is represented in the following Fig 3 and Fig 4.
Fig.3.Round Robin Processing
Fig.4.Scheduling based on RR
VIII. PROPOSEDALGORITHM: MODIFIEDROUNDROBIN
VIRTUALMACHINEALGORITHM
The proposed algorithm is an improvement over the Round Robin VM Load Balancing Algorithm.As Round Robin Algorithm does not save the state of the previous allocation of a VM to a request from given Userbase, while the same state is saved in the proposed algorithm.
The Modified Round Robin VM load balancer maintains two data structures, which are as listed below. 1. Hash map: this stores the entry for the last VM allocated to a request from a given Userbase
2. VM state list: this stores the allocation status (i.e., Busy/Available) of each VM.
Fig.5. MRR Algorithm
IX. EXPERIMENTALSETUP
To analyze and compare the proposed algorithm with the existing algorithm we have used CloudAnalyst as the simulator.The approach adopted by CloudAnalyst involved simulating data of one of the most prominent and popular social networking websites (i.e., Facebook). To carry out simulations and analysis of the proposed algorithm the environment setup and the approach adopted were kept in line
with the one adopted by CloudAnalyst [8]. The reason for using this is that a social networking site can greatly benefit by moving to cloud and considering the large number of users on Facebook the data available will be the right choice for testing the efficiency of the proposed algorithm. The approximate distribution of the Facebook [9] Userbase around the world is given in the Table 1 (on Dec. 31, 2011).
TABLE I
USERBAE PARAMETER LIST ACROSS THE REGIONS OF THE GLOBE Region Re gi on ID Users Us-er-b ase Peak hrs. (GMT ) Online users during peak hrs Online users during off peak hrs North Americ a 0 175 millio n UB 1 13.00-15.00 87,500 8,750 South Americ a 1 103 millio n UB 2 15.00-17.00 51,500 5,150 Europe 2 233 millio n UB 3 20.00-22.00 97,500 9,750 Asia 3 195 millio n UB 4 01.00-03.00 116,500 11,650 Africa 4 38 millio n UB 5 21.00-23.00 19,000 1,900 Oceania 5 13 millio n UB 6 09.00-11.00 6,500 650
Considering the resource and budget constraints, we used a subset of the data given in Table 1 for simulation. We further defined 6 Userbases representing the 6 regions with the parameters shown in Table I.
X. SIMULATIONCONFIGURATION
For simplicity each user base is contained within a single time zone and let us assume that most users use the application in the evenings after work for about 2 hours. Let us also assume that 5% of the registered users will be online during the peak time simultaneously and only one tenth of that number during the off-peak hours. Let us also assume that each user makes a new request every 5 minutes when online.
In terms of the cost of hosting, let us assume a pricing plan which closely follows the actual pricing plan of
Initialize the VMStatelist to AVAILABLE. No VM is busy initially.
Initially Hash Map table is empty
While (new request received by Data Center Controller)
Do {
Data Center Controller queries the Modified Round Robin VM Load Balancer for the next allocation
Modified Round Robin scans the allocation table completely till it founds the VM.
If found
The Modified algorithm returns the requested VMid To the datacenter controller
DataCenter Controller sends the request to that VM identified by id.
Modified VM Load balancer updates the allocation table.
If VM not found
Modified algorithm returns -1.
DataCenter Controller queues the request. }
When VM finishes processing DataCenter controller notifies Modified VM load balancer for de-allocation of VM.
DataCenter controller checks for waiting
request if exist then continues with
step3
Otherwise continue with step2.
Cost per VM per hour (1024Mb, 100MIPS) =$0.10 Cost per 1Gb of data transfer (from/to Internet) =$0.10.
The parameters for the Cloud configuration are defined in Table II
TABLE II PARAMETER VALUES
Parameter Value used
VM image size 10000 VMMemory 1024 Mb VM Bandwidth 1000 DataCenter Architecture X86 DataCenter OS Linux DataCenter VMM Xen DataCenter number of machine 20
DataCenter Memory per
machine 2048Mb
DataCenter storage per
machine 100000Mb
DataCenter Available bandwidth per machine 10000 Datacenter number of processor per machine 4 DataCenter processor speed 100 MIPS DataCenter VM policy Time shared User grouping Factor 1000 Request grouping Factor 100 Executable instruction length 250
The simulation results that have been used for comparing the two algorithms are based on the parameters listed below.
A. Userbase response time B. Data center processing time
XI. RESULTANALYSIS BASED ONROUNDROBINVM LOAD
BALANCER
The proposed Algorithm implemented for
simulation. Java language is used for implementing VM load balancing algorithm.
Table III shows the result based on Round Robin VM Load Balancing algorithm for overall response time of the cloud. In this min(ms) time, max (ms) time to different number of virtual machines are analyzed.
TABLE III
RESPONSE TIME OF USERBASES IN RR VM LOADBALANCER.
5 301.07 36.75 674.78 10 299.82 36.77 674.80 15 299.91 36.82 675.85 20 299.96 36.90 674.93 25 300.04 36.97 674.98 30 300.11 37.02 675.05 35 300.18 37.10 675.13
Table IV shows the result based on Round Robin VM Load Balancing algorithm for Data Centre processing time of the cloud. In this min (ms) time, max(ms) time to different number of virtual machines are analyzed.
TABLE IV
DATACENTER PROCESSING TIME FOR RR
No of
Vm’s Avg(ms) Min(ms) Max(ms)
5 2.48 0.02 17.23 10 1.22 0.03 9.73 15 1.31 0.04 11.54 20 1.36 0.05 10.36 25 1.44 0.06 11.32 30 1.51 0.08 10.76 35 1.58 0.08 10.91
XII. RESULTANALYSISBASEDONMRR VM LOAD
BALANCINGALGORITHM
Table V shows the results based on Modified Round Robin VM Load Balancing Algorithm for overall response time of the cloud. In this min(ms) time, max (ms) time to different number of virtual machines are analyzed.
TABLE V
RESPONSE TIME OF USERBASES IN MRR VM LOAD BALANCER No. of
VM’s Avg(ms) Min(ms) Min(ms)
5 300.07 36.75 674.78 10 299.49 36.77 674.80 15 299.54 36.85 674.88 20 299.60 36.90 674.93 25 299.64 36.97 675.00 30 299.72 37.02 675.05 35 299.77 37.07 675.13
Table VI shows the result based on Modified Round Robin VM Load Balancing algorithm for Data Centre processing time of the cloud. In this min (ms) time, max(ms) time to different number of virtual machines are analyzed.
TABLE VI
DATACENTER PROCESSING TIME FOR MRR
No of
VM’s Avg(ms) Min(ms) Max(ms)
5 1.48 0.02 13.48 10 0.86 0.03 6.07 15 0.92 0.04 6.14 20 0.99 0.05 6.19 25 1.05 0.06 6.24 30 1.11 0.08 6.32 35 1.17 0.09 6.36
XIII. COMPARATIVEPERFORMANCEANALYSIS OFROUND
ROBIN ANDMODIFIEDROUNDROBINVM LOAD BALANCING
ALGORITHMS
Analyzed result shows that Round Robin Load Balancing consumes less time for overall response time and datacenter processing time over Round Robin method. When numbers of virtual machine are increases then it takes more time for over all response time and data centre processing time. Table VII show the comparative analysis of RR and MRR Virtual Machine Load Balancing Algorithms.
TABLE VII
COMPARATIVE ANALYSIS OF ROUND ROBIN AND MODIFIED ROUND ROBIN VM LOAD BALANCING ALGORITHM
Scenarios Overall Average Userbase Response Time Overall Average Datacenter Processing Time Round Robin VM Load Balancing Algorithm Modified Round Robin VM Load Balancing Algorithm Round Robin VM Load Balancing Algorithm Modified Round Robin VM Load Balancing Algorithm 5 VMs 301.07 300.08 2.48 1.48 10VMs 299.82 299.49 1.22 0.86 15 VMs 299.91 299.54 1.31 0.92 20VMs 299.96 299.60 1.36 0.99 25VMs 300.04 299.64 1.44 1.05 30 VMs 300.11 299.72 1.51 1.11 35 VMs 300.18 299.77 1.58 1.17 The overall average response time of Userbases and overall processing time of datacenter processing time is of Round robin and Modified Round Robin is shown in the following graphs. 299 299.5300 300.5301 301.5 5 101520253035 Re spons e T im e in m s No of Virtual Machines
Performance Analysis Of
Overall Responce Time in
RR VM load balancer
RR VM Load Balancer
Fig.6. Performance Analysis Of Overall Response Time in RR VM load balancer 299 299.5300 300.5301 301.5 5 15 25 35 Re sp on se T im e in m s No of Virtual Machines
Performance Analysis Of
Overall Responce Time in
MRR VM load balancer
MRR VM Load Balancer
Fig.7.Performance Analysis Of Overall Response Time in MRR VM load balancer
0 0.51 1.52 2.53 5 10 15 20 25 30 35 Pe rfo rm an ce T im e in m s No of VirtualMachines
Overall Datacenter
Processing Time in RR VM
load balancer
RR VM Load BalancerFig 8.Performance Analysis Of Overall Datacenter Processing time in RR VM Load Balancer 0 0.51 1.52 2.53 5 10 15 20 25 30 35 Pe rform anc e T im e in m s No of Virtual Machines
Performance Analysis Of
Overall Datacenter
Processing Time in MRR
VM load balancer
MRR VM Load BalancerFigure 13.5: Performance Analysis Of Overall Datacenter Processing time in MRR VM Load Balancer
XIV. CONCLUSION
A virtual machine is a virtual form of computer hardware within software. Virtual machine is a software implementation that executes programs as if they were actual physical machines. In this paper, a new VM load balancing algorithm is proposed which is implemented in CloudSim, an abstract cloud computing environment using java language. The proposed algorithm finds the expected response time of each resource (VM) and proved that the proposed algorithm is better than round robin virtual machine load balancing algorithm. By using this experiment, we conclude that if we select the modified approach to the round robin virtual machine load balancer then it effects the overall performance of the cloud Environment and also decreases the average response time and the processing time of datacenter.
ACKNOWLEDGEMENT
I would like to express my deepest gratitude to my guide, D.K Budhwant and coordinator Dr. M.S Joshi for their excellent guidance, caring, patience, and providing me with an excellent atmosphere for doing research. My research would not have been possible without their help.
REFERENCES
[1] Foster, I; Yong Zhao; Raicu, I.; Lu, S. “Cloud Computing and Grid Computing 360-Degree Compared”, published in Grid Computing Environments Workshop, 2008. GCE '08 IEEE DOI 12-16 Nov.
2008.
[2]Bhathiya Wickremasinghe, Rodrigo N. Calheiros, and Rajkumar Buyya “CloudAnalyst: A CloudSimbased Visual Modeler for Analyzing Cloud Computing Environments and Applications” ; Technical Report, CLOUDS-TR-2009-12, Cloud Computing and Distributed Systems Laboratory, The University of Melbourne, Australia, Oct. 23, 2009. [3] R. Buyya, R. Ranjan, and R. N. Calheiros, “Modeling and Simulation of Scalable Cloud Computing Environments and the CloudSim Toolkit: Challenges and Opportunities,” Proc. of the 7th High Performance Computing and Simulation Conference (HPCS’ 09), IEEE Computer Society, June 2009.
[4] http://www.dcs.ed.ac.uk/home/hase/simjava/ as on March 2012. [5] F. Howell and R. Macnab, “SimJava: a discrete event simulation library for Java,” Proc. of the 1stInternational Conference on Web based Modeling and Simulation, SCS, Jan. 2008.
[6] R. Buyya, and M. Murshed, “GridSim: a toolkit for the modeling and simulation of distributed resource management and scheduling for Grid computing,” Concurrency and Computation: Practice and Experience, vol. 14, Nov. 2002, pp. 1175-1220.
[7] A. Singh, P. Goyal, S. Batra : An optimized round robin scheduling algorithm for CPU scheduling, International journal of computer and electrical engineering (IJCEE), vol. 2, No. 7, pp 2383- 2385, December, 2010.
[8] Bhathiya Wickremasinghe “CloudAnalyst: A CloudSim-based Tool for Modeling and Analysis of Large Scale Cloud Computing Environments “MEDC Project Report.