2017 International Conference on Networks & Advances in Computational Technologies (NetACT) |20-22 July 2017| Trivandrum
Dynamic Load Balancing in Cloud A Data-Centric Approach Mr. Rayan Dasoriya , Ms. Purvi Kotadiya
Ms. Garima Arya, Mr. Priyanshu Nayak
Department of Computer Engineering SVKM’s NMIMS Mukesh Patel School of Technology Management and Engineering Mumbai, India
[email protected]
Department of Computer Engineering SVKM’s NMIMS Mukesh Patel School of Technology Management and Engineering Mumbai, India
[email protected]
Prof. Kamal Mistry Assistant Professor, Department of Computer Engineering SVKM’s NMIMS Mukesh Patel School of Technology Management and Engineering Mumbai, India
[email protected]
Abstract— Cloud Computing is the current trend and will be future era because of its advantages like pay per usage and on demand services. Load Balancing is a key aspect of Cloud Computing. It is the distribution of network or applications traffic across a number of servers. As the volume of data is increasing day by day the organizations will migrate from traditional computer system to the cloud based system. Since the processing of data is increasing on daily basis, balancing of load across the entire server is an important aspect. Some of the most commonly used existing load balancing algorithms are weighted least-connection, weighted round-robin, active clustering, and feedback-driven dynamic load balancing. They are classified as either static or dynamic. The existing methods are server-centric, i.e., while distributing load among servers, only server parameters (number of active connections, response time, geographic location, server capability etc.) are taken into consideration. However, statistics on the different types of content present on the internet, their percentage and usage suggest that it can be improved. We are proposing a dynamic load balancing algorithm which will assign load to the servers depending on the type of content it possesses. Keywords— Cloud Computing; Load Balancing; Privacy; Security; Load Balancing Techniques; Dynamic Load Balancing
I. INTRODUCTION
Infrastructure as a Service (IaaS): It covers the most basic category of cloud computing services. On a payas-you-go basis, different IT infrastructure servers, VMs, networks, storage etc. from a cloud provider is rented.
2.
Platform as a Service (PaaS): This service supplies an on-demand environment for testing, delivering, developing and managing software applications. It makes easier for the developers to quickly create the web or mobile apps, regardless of setting up or managing the infrastructure of storage, network, servers and databases needed for development.
3.
Software as a Service (SaaS): It is a method for delivering software applications over the Internet. It is usually on a subscription basis. With SaaS, cloud providers can handle any maintenance, like software upgrades and security patching host and also manage the software application and underlying infrastructure. Users can connect to the application on their devices over the Internet with a web browser.
All the clouds are not same. To deploy cloud computing resources, there are three different ways: public cloud, private cloud and hybrid cloud.
This Cloud computing is Internet-based computing that provides on-demand access to shared computer processing resources, application and data to other devices. It enables ubiquitous access to shared computing resources. Cloud Computing can be classified into three categories: Infrastructure as a Service, Software as a Service and Platform as a Service. And as they build on top of one another, these are sometimes called the Cloud Computing Stack. Figuring about them and their differences make it easier to accomplish the business goals [2].
978-1-5090-6590-5/17/$31.00 ©2017 IEEE
1.
162
1.
Public Cloud: These are third-party owned and operated cloud service which delivers their different computing resources over the Internet. In a public cloud, all supporting infrastructure are owned and managed by the cloud provider. The services can be accessed and managed using the web browser. Examples for public cloud are Microsoft Azure, Google Cloud and Amazon AWS.
2.
Private Cloud: It refers to cloud computing resources which are exclusively used by a single business or
2017 International Conference on Networks & Advances in Computational Technologies (NetACT) |20-22 July 2017| Trivandrum TABLE 1 EXISTING TECHNOLOGIES
organization. It can be usually located on the company’s on-site datacentre. Third-party service providers are paid by some companies to host their private cloud. Here, the infrastructure and services are maintained on a private network. 3.
No.
1
Hybrid Cloud: Hybrid clouds combine both public and private clouds, tied together by technology that allows data, resources and applications to be shared between them. By such capability of movement of data and applications between public and private clouds, it provides businesses with a greater flexibility and more deployment options.
If we consider the type of data and its percentage over the internet, the following statistics are available-
Fig. 1. Content available over cloud
6
The rest of the paper is organized as follows. Section 2 provides an overview of the literature. Section 3 is the Proposed Architecture. Section 4 is the Feasibility Status. Section 5 is the Results and Analysis and Section 6 is the Conclusion.
II. LITERATURE REVIEW
7
Cloud computing is a vast field and hence there are many issues related to it. However, security and load balancing are identified as the two main problem areas. We are concentrating on load balancing. There is crucial need of load balancing in cloud computing so that no server is over allocated or under allocated. This is necessary for efficient management of resources as well as the servers. The following table is a brief review of the content we have covered in our paper. These covers various topics like: 1.
Cloud Computing
2.
Load Balancing and its existing algorithms
3.
Platform for Cloud Computing
Cloud Computing Statistics for content x It shows the various data content over cloud[1] over the cloud and their usage in terms of percentage. PHP has the highest percentage, x close to 80%.Then come ASP.NET and Java. Ruby, Python occupy the lower levels. Cloud Computing[2]
x
3
Trend for Cloud Usage[3]
x
Cluster-Based Load Balancing in Cloud Computing[7]
x
x
x 8
Load Balancing Techniques in Cloud Computing: An Overview[8]
x x x
163
Describes uses of cloud computing, benefits, cloud services and the deployment techniques.
Represents the statistics of different cloud deployments over the period 2015-2016. Different Cloud x Tabulates the services provided by Providers[4] different cloud service providers such as Microsoft, Amazon, Google, IBM etc. Load Balancing and existing algorithms Load balancer as a x Illustrates the basics of load service in cloud balancing, different load balancing computing[5] strategies and algorithms belonging to these. The central topic of the paper is the x provision of load balancer as a service(LBaaS), focusing on the features of this service and challenges. Also compares various LBaaS x providers. Load Balancing in x Proposes a dynamic load balancing Cloud Computing algorithm based on free servers. Using Dynamic Load x Gives a brief about CloudSim Management Emulator. Algorithm[6] x Shows comparison based on different performance metrics.
x
9
978-1-5090-6590-5/17/$31.00 ©2017 IEEE
Inferences
2
4
5
Papers Referred
Load Balancing Algorithms in Cloud Computing: A Survey of Modern Techniques[9]
x x
Description of Throttled, ESCE and Min-Min algorithms and their drawbacks. Author has proposed a Load Balance Min-Min (LBMM) Scheduling algorithm. Minimizes completion time of all resources and improves load imbalance factor of the Min-Min algorithm. Also compares the proposed algorithm with the above-mentioned algorithms. Describes various issues and goals in load balancing. States the various comparison parameters. Has included a performance metric table to compare existing algorithms. Gives an introduction to cloud computing and use of load balancing in it. Provides a comparison of several interactive load balancing
2017 International Conference on Networks & Advances in Computational Technologies (NetACT) |20-22 July 2017| Trivandrum algorithms such as Round Robin, Min-Min, and Honey Bee etc. Lists the merits and demerits of x each. An Efficient x Describes different cloud Distributed Approach deployment techniques and for Load Balancing in characteristics of cloud computing. Cloud Computing[10] x Discusses various load balancing categories and some algorithms belonging to each. Load Balancing[11] x Discusses the basics of cloud computing Proposes improved Weighted x Round Robin algorithm. It introduces scheduling by x considering the capabilities of each VM. Load Balancing[12] x Differentiates load balancing based on how it can be implemented on various layers of OSI. x Considers Layer 4 and Layer 7 for the comparison. Platform for Cloud Computing Linode[13] x States the features and characteristics of Linode. Gives information about the various x servers provided according to pricing models. Cloudsim[14] x Introduces CloudSim Emulator and tells how it is used in cloud computing. Describes the frameworks of x CloudSim
10
11
12
13
14
2.
A new query has been received by the Datacenter Controller.
3.
A query is received by VM Load Balancer through datacenter Controller for the next allotment.
4.
Allocation table has been parsed by VM Load Balancer from top to bottom till the time the VM of the first content is found free.
5.
Here then to check that present allocation total is less than that of the maximum limit of VM list.
6.
If it is available, the active load is counted otherwise the second type of content is searched from top to bottom till the time the VM of the second content is found free.
7.
Then return the id of the loaded VM. And then a request is assigned by VM Load Balancer to current VM.
8.
If VM not found, VM Load Balancer returns -1 then Datacenter Controller queue up the incoming request. But this will happen rarely since we are continuing with the other types of content instead of putting it in the queue.
9.
When VM end with taking the query and the Datacenter Controller get the response of cloudlet, it alerts the VM Load Balancer of the particular VM deallocation.
10. The Datacenter Controller focuses on checking if any requests that are in their waiting queue, it will continue from the start of step 3.
On referring papers and websites, we studied about load balancing, its existing techniques and various platforms to work on which includes Linode server and CloudSim Emulator. Since the cloud is an emerging topic, research is still going on and there are chances of improvement. We will be proposing an algorithm which may improve the system. We will also be comparing the proposed algorithms with the existing one using the CloudSim to check various performance metrics. III. PROPOSED ARCHITECTURE Since the existing algorithms had some drawbacks, there is a need to improve the existing algorithms. Here, we discuss about the load balancing by distributing the content over the cloud. A. ALGORITHM We are defining a method which will assign load to the servers based on the content of the load. Input: Number of incoming jobs is il, i2...in available VM j1,j2...jn. Output: All the coming tasks il, i2...in are assigned to virtual machines which are having a minimum load with the present j1,j2...jn. 1.
VM Load Balancer manages symbol table of all the present VMs, the nature of the content and the status of VM (i.e. BUSY/AVAILABLE). All VM’s are free in starting.
978-1-5090-6590-5/17/$31.00 ©2017 IEEE
164
Fig. 2. Proposed Architecture of Dynamic Load Balancing Algorithm
This figure illustrates the proposed architecture. It shows the users interaction with the system. The request is stored in a structure and the loads are assigned to a node if there is enough memory available. This data centric approach will be more efficient than the server centric approach as the availability of server is not a problem. The availability of the node will be of concern and if that node is of more use than more amount of
2017 International Conference on Networks & Advances in Computational Technologies (NetACT) |20-22 July 2017| Trivandrum
space and requests can be allotted to that node depending upon the type of data. IV. FEASIBIITY STATUS The feasibility status of our project on the basis of following points: A. ECONOMIC FEASIBILITY It is feasible from the economic viewpoint. The expense will be of buying the servers only. We will be preferably renting the Linode servers which are available with different plans. This is economically feasible because these are the basic plans which will be used by any site which is being hosted online. It will be approximated to ₹3500. Another tool which will be used is CloudSim which is available at free of cost. x CloudSim Emulator: Open Source x Linode Servers: $5/mon x 10 months= $50= ₹3300 max. [Linode 1024 20GB Storage 1 CPU Core 1TB XFER $5/mon or (.0075/hr)] CloudSim can be defined as a framework for modeling and simulation of cloud computing infrastructures and services. It is coded in JAVA. Linode servers provide ease in applying various algorithms using Shell Script. B. TECHNICAL FEASIBILITY From the technical point of view, all the necessary tools can be readily available and accessible online. Security will also be upgraded by applying this technique. There may be some risks but they cannot be identified until the project is implemented. C. OPERATIONAL FEASIBILITY The PIECES framework has 6 main pointers which we will now check our software application with: x Performance: The software will be optimized to run on a PC with low specifications since it will use Web Browsers. x Inputs: The software will use the web pages which are already there on the cloud. x Economics: The project is economically feasible. Thus it is economically viable. x Control and Security: The application will require access to files to be installed over the cloud. Security will also be upgraded when we use this technique. x Efficiency: The application will be fairly accurate. x Service: Once the algorithm is applied, the users will get great support and the response time will improve relatively. V. RESULTS AND ANALYSIS On applying the proposed architecture, we will be comparing our proposed architecture with the existing technologies using the CloudSim Emulator. The parameters which will be considered are:
978-1-5090-6590-5/17/$31.00 ©2017 IEEE
165
1.
Response Time by Region: Since the servers are located in different countries, it will calculate the response time with respect to the region
2.
Datacentre Servicing Time: It is the time taken by the data center controller to request VM controller to fetch the data over the cloud
3.
Cost: The servers will be charged on the basis of uptime. So the cost of implementing this service will depend on the usage of the servers.
4.
Overall Response Time: It is the total time taken by the user to request a data and getting a response VI. CONCLUSION
With increasing workload, the need for load balancing is amplified. Our research into Dynamic Load Balancing in Cloud Computing will benefit the society in numerous ways. It will lead to better utilization of resources based on current user requirements. As workload will be dynamically distributed, users will have more time on their hands to invest in tasks yielding productive results. Load balancing will also make managing data easier, as it will be distributed efficiently. The end users would be highly benefited from this project. Information will load quickly as compared to the traditional method and the cloud server will be utilized efficiently. VII. FUTURE SCOPE Since the volume data is increasing exponentially, the need for retrieving the data quickly over the cloud is becoming of utmost importance. The proposed algorithm can be implemented but this algorithm can also be improvised. With cloud as the future, cost-efficient platforms need to be developed which can cut down the cost and also provide great speed for the user. This may be beneficial from the developer’s point of view as well. REFERENCES [1]
Statistics for content over cloud, https:// w3techs.com /technologies/ details /plphp /all/all/, [Retrieved: Feb, 2017] [2] Cloud Computing, https://azure.microsoft.com/en-in/overview/whatis cloud -computing/, [Retrieved: Jan, 2017]. [3] Trend for Cloud Usage, http://www.rightscale.com/blog/cloudindustryinsights/cloud-computing-trends-2016-state-cloud-survey/, [Retrieved: Mar 2017]. [4] Different Cloud Providers,https://www.sdxcentral.com/cloud/ definitions / whatare-cloud-service-providers/, [Retrieved: Apr, 2017]. [5] Mazedur Rahman, Samira Iqbal, Jerry Gao, Load Balancer as a Service in Cloud Computing, IEEE, 2014. [6] Reena Panwar, Prof. Dr. Bhawna Mallick, Load Balancing in Cloud Computing Using Dynamic Load Management Algorithm, IEEE, 2015. [7] Surbhi Kapoor, Dr. Chetna Dabas,Cluster Based Load Balancing in Cloud Computing, IEEE, 2015. [8] Sheetanshu Rajoriya, Load Balancing Techniques in Cloud Computing: An Overview, IJSR, 2014. [9] Sidra Aslam, Munam Ali Shah, Load Balancing Algorithms in Cloud Computing: A Survey of Modern Techniques, IEEE, 2015. [10] Aarti Vig, Rajendra Singh Kushwah and Shivpratap Singh Kushwah, An Efficient Distributed Approach for Load Balancing in Cloud Computing, IEEE, 2015. [11] Xu, M., Tian, W. and Buyya, R., 2016. A Survey on Load Balancing Algorithms for VM Placement in Cloud Computing. arXiv preprint arXiv
2017 International Conference on Networks & Advances in Computational Technologies (NetACT) |20-22 July 2017| Trivandrum [12] Beeson, J.D. and Yates, J.B., Concurrent Ventures, LLC, 2016. System and method for dynamically load balancing across storage media devices having fast access rates. U.S. Patent 9,436,404.
[13] Linode Servers, https://manager.linode.com/linodes/add/, [Retrieved: Feb, 2017]. [14] CloudSim,http://opensourceforu.com/2014/03/cloudsim-framewor kmodelling-simulating-cloud-environment/, [Retrieved: Mar, 2017]
978-1-5090-6590-5/17/$31.00 ©2017 IEEE
166