International Journal of Engineering, Management & Sciences (IJEMS) ISSN-2348 –3733, Volume-2, Issue-5, May 2015
Comparative Analysis of Round Robin VM Load Balancing With Modified Round Robin VM Load Balancing Algorithms in Cloud Computing Areeba Sameen, D.K Budhwant 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 Dr.B.A.M University Jawaharlal Nehru Engineering college 431006, M.S., India D.K Budhwant, Department of Computer science and Dr.B.A.M University Jawaharlal Nehru Engineering college 431006, M.S., India
Engineering, Aurangabad, Engineering, Aurangabad,
61
II. RELATED STUDY 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.
www.alliedjournals.com
Comparative Analysis of Round Robin VM Load Balancing With Modified Round Robin VM Load Balancing Algorithms in Cloud Computing
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. 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 THE VIRTUAL MACHINE ALLOCATION
Fig .1.Cloud Computing Services
IV. LOAD BALANCING 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.
62
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.
www.alliedjournals.com
International Journal of Engineering, Management & Sciences (IJEMS) ISSN-2348 –3733, Volume-2, Issue-5, May 2015 VII. EXISTING ROUND ROBIN LOAD BALANCING ALGORITHM 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
Fig.4.Scheduling based on RR
VIII. PROPOSED ALGORITHM: MODIFIED ROUND ROBIN VIRTUAL MACHINE ALGORITHM
The scheduling process based on RR experimentation and its Pseudo code is represented in the following Fig 3 and Fig 4.
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.3.Round Robin Processing
63
www.alliedjournals.com
Comparative Analysis of Round Robin VM Load Balancing With Modified Round Robin VM Load Balancing Algorithms in Cloud Computing
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).
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 {
TABLE I USERBAE PARAMETER LIST ACROSS THE REGIONS OF THE GLOBE
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.
Region
Re gi on ID
Users
User-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.0015.00
87,500
8,750
South Americ a
1
103 millio n
UB 2
15.0017.00
51,500
5,150
Europe
2
233 millio n
UB 3
20.0022.00
97,500
9,750
Asia
3
195 millio n
UB 4
01.0003.00
116,50 0
11,650
Africa
4
38 millio n
UB 5
21.0023.00
19,000
1,900
Oceania
5
13 millio n
UB 6
09.0011.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.
DataCenter controller checks for waiting request if exist then continues with step3 Fig.5. MRR Algorithm Otherwise continue with step2.
X. SIMULATION CONFIGURATION
IX. EXPERIMENTAL SETUP 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
64
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
www.alliedjournals.com
International Journal of Engineering, Management & Sciences (IJEMS) ISSN-2348 –3733, Volume-2, Issue-5, May 2015 Amazon EC2[6], the most popular Cloud Service provider at No. of Avg(ms) Min(ms) Min(ms) VM’s present. The assumed plan is: 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 Parameter
TABLE II PARAMETER VALUES
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 DataCenter Memory per machine DataCenter storage per machine DataCenter Available bandwidth per machine
20
Datacenter number processor per machine
of
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
2048Mb 100000Mb 10000 4
No of Vm’s 5
Avg(ms)
Min(ms)
Max(ms)
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
DataCenter processor speed
100 MIPS
30
1.51
0.08
10.76
DataCenter VM policy
Time shared
35
1.58
0.08
10.91
User grouping Factor
1000
Request grouping Factor
100
Executable instruction length
250
XII. RESULT ANALYSIS BASED ON MRR VM LOAD BALANCING ALGORITHM 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.
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
TABLE V RESPONSE TIME OF USERBASES IN MRR VM LOAD BALANCER
XI. RESULT ANALYSIS BASED ON ROUND ROBIN VM 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.
65
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
www.alliedjournals.com
Comparative Analysis of Round Robin VM Load Balancing With Modified Round Robin VM Load Balancing Algorithms in Cloud Computing
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 . Avg(ms)
Min(ms)
Max(ms)
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
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
Performance Analysis Of Overall Responce Time in RR VM load balancer
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
1.36
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.
XIII. COMPARATIVE PERFORMANCE ANALYSIS OF ROUND ROBIN AND MODIFIED ROUND ROBIN VM LOAD BALANCING ALGORITHMS
Overall Average Userbase Response Time
299.60
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
66
Response Time in ms
of
299.96
301.5 301 300.5 300 299.5 299
RR VM Load Balancer
5 101520253035 No of Virtual Machines
Fig.6. Performance Analysis Of Overall Response Time in RR VM load balancer
Performance Analysis Of Overall Responce Time in MRR VM load balancer Response Time in ms
No VM’s 5
TABLE VI DATACENTER PROCESSING TIME FOR MRR
20VMs
301.5 301 300.5 300 299.5 299 5
15
25
MRR VM Load Balancer
35
No of Virtual Machines Fig.7.Performance Analysis Of Overall Response Time in MRR VM load balancer
www.alliedjournals.com
International Journal of Engineering, Management & Sciences (IJEMS) ISSN-2348 –3733, Volume-2, Issue-5, May 2015
Performance Time in ms
Performance Analysis Of Overall Datacenter Processing Time in RR VM load balancer 3 2.5 2 1.5 1 0.5 0
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
RR VM Load Balancer
[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 1st International 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. [9] http://www.facebook.com (as on Dec. 2011)
5 10 15 20 25 30 35 No of VirtualMachines
Fig 8.Performance Analysis Of Overall Datacenter Processing time in RR VM Load Balancer
Performance Time in ms
Performance Analysis Of Overall Datacenter Processing Time in MRR VM load balancer 3 2.5 2 1.5 1 0.5 0
MRR VM Load Balancer
5 10 15 20 25 30 35 No of Virtual Machines
Figure 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.
67
www.alliedjournals.com