Adaptive Framework for Load Balancing to Improve the ... - IEEE Xplore

4 downloads 34202 Views 266KB Size Report
the Performance of Cloud Environment. Manisha Malhotra*. Research Scholar, MMICT&BM. Maharishi Markandeshwar University. Mullana-Ambala, India.
2015 IEEE International Conference on Computational Intelligence & Communication Technology

Adaptive Framework for Load Balancing to Improve the Performance of Cloud Environment Manisha Malhotra*

Aarti Singh

Research Scholar, MMICT&BM Maharishi Markandeshwar University Mullana-Ambala, India [email protected]

Associate Professor, MMICT&BM Maharishi Markandeshwar University Mullana- Ambla, India [email protected]

Abstract— Cloud computing is offering on demand services by providing virtualize and storage environment. Due to the sharing of resources in cloud, there is a chance of resource wastage which creates need for load balancing. To address this problem, this work proposes an adaptive solution which enhances the performance of the distributed systems and provides scalability desired in internet based computing environments. The proposed algorithm has been implemented and compared with the results of existing mechanisms and results of our proposed mechanism has been found promising. Keywords— Adaptive, Cloud Computing, Cloud Sim, Load Balancing, Virtual Machine. I.

all nodes and the resources are also shared among all nodes. The key benefit of this type of algorithm is that if any of the node fails, it will not affect the whole system much. In nondistributed dynamic load balancing algorithms, the execution of task will be done by group of nodes. Survey of load balancing algorithms helps us conclude that CC requires dynamic load balancing mechanism due to its internet based nature. Further, balancing load is serious concern for increasing the efficiency of the system. This paper considers this problem and proposes a competent solution. The remainder of the paper is organized as follows: Section II contains a review of the related work. Section III describes the proposed work in detail. Implementation of proposed mechanism and results are analyzed in section IV. Finally conclusion and future work are outlined in section V.

INTRODUCTION

Cloud computing (CC) is a new paradigm that provides internet based computing resources to its user as per their demand. Since its emergence CC is rapidly gaining popularity and number of cloud users are increasing day by day. Cloud service providers (CSP) have data centers with physical resources which are shared among the users, through virtual machines. CSPs charge some amount from the users based on the services consumed by them. CSPs in their own interest want to optimally utilize available physical resources so as to earn maximum profit. Secondly they need to provide fast services to their users so as to meet service level agreements (SLA). Considering these factors, with increased number of users, load balancing mechanisms become essential. Load balancing is the mechanism of distributing the load among various nodes of any system [6]. Major goal of load balancing is optimal utilization of available resources. Cloud computing offers three types of services: Software as a Service (SaaS), Platform as a Service (PaaS) and IaaS. Physical nodes in a cloud data center can be homogeneous or heterogeneous. Further the load has to be distributed on existing virtual machines so that every resource instance will get an equal chance. Load balancing problem had already been addressed in many other internet based computing paradigms such as distributed computing, grid computing etc. According to literature the load balancing algorithms are divided into two broad categories: static and dynamic load balancing. Static load balancing algorithm doesn’t depend on the current state of the system. The user requires a prior knowledge of system. Dynamic load balancing on the other hand considers current state of the system while balancing the load. Dynamic load balancing algorithms are further categorized in two forms: distributed and non distributed dynamic load balancing. Distributed dynamic load balancing algorithm is executed at

II.

*Corresponding Author: Currently working in Chandigarh University, Gharuan. 978-1-4799-6023-1/15 $31.00 © 2015 IEEE DOI 10.1109/CICT.2015.11

RELATED WORK

Load balancing has been considered as a serious problem in various fields like grid computing, distributed computing, parallel computing etc. and lot of work has already been done to provide solutions. But in cloud computing, this problem has not been paid much attention. This section throws light on existing work in direction of balancing load in CC. J. Hu et al. in [5] proposed the scheduling algorithms to balance the load of virtual machine resource using genetic algorithm. The authors have tried to found the least loaded virtual machine and tried to reduce the migration cost. Due to dynamic changes in user requests and the presence of large number of virtual machines, there are chances of load wastage. S.C. Wang et al. [12] proposed two algorithms: Opportunistic and Load Balance Min Min. These algorithms had improved the resource utility by maintaining the load balance. In opportunistic load balancing, the incoming request will be received by node having minimum execution time which is calculated by service manager. These algorithms do not support dynamic environments and thus are not suitable for application in CC. P.K Sinha et al. [3] mobile agent based framework in which every agent has assigned with a credit value and on the basis of assigned value their credibility will show. If an agent will find with lower credit value then it will be migrate to light loaded machine. R. Ezumalai, et al. [8] proposed architecture having three agents in a distributed environment. These are monitoring agent, supervising agent and locate agent. Monitoring agent will migrate in whole system and collect the all information from every node and

224

forward it to the supervising agent which will supervise all nodes and identify the heavy loaded node. After that the locate agent will migrate the load from heavy loaded node to light loaded node. Bhaskar et al. [2] has proposed the effective scheduling mechanism on the basis of virtual machine monitoring and evaluate the performance of virtual machine by measuring some parameters like throughput and response time etc. Z. Zhand et al. [16] developed a prototype Open Cloud Computing federation (OCCF) based on ant colony optimization mechanism for complex network and will evaluate the performance of system on the bass of standard deviation. The study has proved that the usage of ants in the proposed mechanism has improved the scalability and fault tolerance of system. G. xu. [4] introduced a load balancing model for public cloud using game theory to improve the efficiency of cloud. Their work is based on cloud portioning. The cloud has been divided into three categories idle, normal and overloaded on the basis of load degree. If degree becomes zero then the cloud status is idle. If it lies between zero and high load degree then the cloud status is normal otherwise the cloud is considered overloaded. The major problem is how to conquer the high load degree. Y. Xu. [15] proposed an agent based model by introducing the concept of decision making theory. The aim of this model is to reduce the computation cost and communication cost of each node. This has been achieved by migrating the load of an overloaded node to another node by agent. A token is passed to the agent by overloaded node to search the node having similar resources. The agent either accepts the token or passes it to another agent. But this work is not proposed for cloud computing environment. If the agents will introduce in this field due to their adaptability, the results could be found more effective. On highlighting with the literature there is lots of need to do elite research on load balancing. There should be a dynamic and prudent load balancing algorithm because most of the implemented algorithms are static while cloud computing needs a dynamic environment.



Fig 1: Class Diagram of Adaptive Load Balancing Algorithm (ALBA)



Request Repository Class: This is the extension of user request class, because it holds all the information of previous, current and incoming requests. It also keeps the record of executed requests with their respective outcomes by creating a connection with virtual load balancer. • Cloud Data Center: Cloud data center class keeps the record of services, provided by the provider. It is further divided into two subclasses: virtual machine and virtual machine load balancer. • Virtual Machine: This class is responsible to fulfill the request of user. It keeps record of individual virtual machine on a single physical machine. • Virtual Machine Load Balancer: It is called when the execution is started and finds suitable services from a data center. It maintains an index of all virtual machines with their status. Next subsection presents architecture of ALBA along with its working. A) ALBA Architecture and Working

III. ADAPTIVE LOAD BALANCING ALGORITHM (ALBA) To achieve the goal of maximizing and optimizing the usage of every resource, the adaptive load balancing algorithm (ALBA) is presented in this study. This algorithm makes use of intelligent agents for keeping record of load on virtual machines and for balancing load in and across various data centers. The ALBA aims to improve efficiency of cloud environment. It comprises of many classes as outlines in figure 1. Every class of ALBA is elaborated as below:





(cloud user) and respectively release the list of requests according to user’s demand. This class carries the information of demand like memory, size, user location, and expected response time from provider’s data center. Internet Class: This class established the connection between user and provider through World Wide Web. So it is necessary that the bandwidth of internet should be very high.

High level view of ALBA is presented in Figure 2 given below. Proposed framework introduces intelligent agents at two levels in cloud computing model. One at the data center level and other at the global level. Every data center comprises of many virtual machines at different physical machines. • Virtual machine load balancer agent is responsible for keeping an eye on status of every virtual machine in terms of its load. It maintains information like resources available on virtual machines, response time and their queue lengths. • Repository Agent is the one working at global level, it keeps the record of all available virtual machines in a data

User Location: This class defines the location of cloud requester which can be at any geographical location of the world. This class has the pre defined domain of required services. User Request: It consists of all the set of requester

225

center. It collaborates with virtual machine load balancer agent of various data centers.

3. Next section depicts the experimental results of proposed algorithm. B.

Experimental Setup

To analyze the result of ALBA, the experiment setup is established using cloud sim (Cloud Simulator). The implementation of proposed algorithm has been done in java technology which is then imported into cloud sim. The evaluation is done by taking the below parameters and their respective values. TABLE I. PARAMTERIC VALUES Parameter Name

Parametric Value

2

Number of VM of a Data Center VM Memory

15 1GB

3

Bandwidth

1000000 Mb

Sr. No 1

Fig 2: Architecture of ALBA

The proposed algorithm is compared with two existing load balancing algorithms, round robin algorithm (RRA) and throttled algorithm (TA) [14] which is explain as below. Round Robin Algorithm (RRA) [18] is one of the simplest algorithms based on quantum theory. The provider provides the services on the basis of time slice. So it is plays an important role in this algorithm. Its algorithm is as shown below: Step1: CPU scheduler set a time slice (t) and pick a process from ready queue for dispatching. Step 2: If the burst time < t then Step 3: CPU becomes free after execution and proceed further for next process in ready queue. Step 4: Else Step 5: after t time process is interrupted and taken out of CPU. Step 6: Executed process will apply context switching and placed at end of the circular queue Step 7: CPU scheduler will execute next process from the ready queue. RR algorithm will increase the waiting time of processes, due to this the response time will increase automatically and throughput decreases. Throttled Algorithm (TA) [18] steps are as follows: Step1: Load Balancer maintains an index table having the information of all VM and their status. Step 2: Data center controller receives a new request and forward the request to load balancer. Step 3: Balancer will find the VM from index table Step 4: If found VM then Step 5: Return VM id to data center controller else Step 6: Return -1 Step 7: Data center Controller checks the waiting queue Step 8: If found request then do allocation and update Index table. Step 9: Else go to step 2. It takes less time for execution as compared to RRA. But there is no scope in case of non availability of VMs. ALBA would address all the flaws of above algorithms.

VMLBA maintains a log file keeping the record of current job executing on a VM and status of previously executed tasks. This log file helps it to calculate average waiting time and throughput of a VM. This information will further help RA to know nature of all VMs. Whenever, a user request has to be allocated some resources on a virtual machine, RA is been consulted which further checks with VMLBA to know present status of VM at a data center. VMLBA only indicates nodes having load less than a pre defined threshold value. Thus, in this way chances of a VM being overloaded will be minimized in the system. If the repository agent finds requested resources from the requested data center then it allocates from there only, otherwise the repository agent will adopt the scalability feature of cloud and will found another suitable data center with desired resources. In this case the adopted data center should have the minimum data transfer time. Where data transfer time is defined as follows: Definition

1:

bandwidth

(β w),

¦

There

is

a

set

of

requests

Rqi = { I1 , I 2 , I 3 ,....I n } along with number of instances required. The resources have to be allocated using available with an objective of minimum response

time and minimum data transfer time (Ttranstime ). The data transfer time will be evaluated as:

Ttranstime =

¦βw In

Where n=1,2,….n

(1)

A. Algorithm Algorithm for the ALBA mechanism is provided in figure

226

ALBA( ) INPUT:

¦

R qi =

{I 1 , I 2 , I 3 , . . . . . . I n }

OUTPUT: Resources on under loaded VM, Min Response Time, Min Ttranstime Begin: { Repository_Agent( ) Accept_Request from Requester If VM_found_then { Allocate_Resources } else { Move_on_scalability_with_minimum_ } } Repository_Agent( ) { Call_ Load_Balancer( ) Accept_VM_from_Load_Balancer Maintain_Table_VM Update_table Return ( ) }

(Ttranstime )

response_time,

Fig 5: Throughput (bps) vs. Virtual Machines

Figure 4 shows the comparison in response time of all three algorithms. RRA has maximum response time amongst three, while ALBA takes minimum response time. Figure 5 shows the throughput of all algorithms. Again ALBA has maximum throughput.

cost,

IV.

CONCLUSION

This paper proposed an agent based adaptive load balancing algorithm to allocate the cloud resources to various users considering load balancing. The proposed model is successfully simulated in cloud sim using java language and compared the performance with RRA and TA. In the experiment, the adaptive load balancing algorithm shows the higher performance than the round robin and throttled algorithm in terms of response time and throughput. Further, the future work involves scalability analysis of this algorithm.

Load_Balancer( ) { Load_Balancer_maintain_log_file Check_VM_Record If VM>=Threshold { Assign_Green_signal_respective_VM } else { Assign_Red_signal_respective_VM } Update_log_file Return_to_Repository_Agent }

REFERENCES [1]. A Keren and A Barak (2013 January), “Opportunity Cost Algorithms for Reduction of I/O and Interprocess Communication Overhead in a Computing Cluster”, IEEE Trans. 14 (1), pp. 399-446. [2]. Bhaskar. R, Deepu. S.R and Dr. B.S. Shylaja (2012, September). “Dynamic Alloocation Method for Efficient Load Balancing in Virtual Machines for Cloud Computing Environment”, Advanced Computing: An International Journal ( ACIJ ), 3(5), pp. 53-61. [3]. PK Sinha, SR Dhore,(2010), “Multi-Agent Optimized Load balancing Using Spanning Tree For Mobile Services”, International Journal Of Computer Application , 1(6), pp 33-40. [4]. G. Xu, J. Pang, X. Fu. (2013, Feb), “A Load Balancing Model Based on Cloud Partitioning for the Public Cloud”, Tsinghua Science and Technology.[Online].18(1),pp. 34-39. [5]. J. Hu, J. Gu, G. Sun, T. Zhao (2010), “Scheduling Strategy on Load Balancing of Virtual Machine Resources in Cloud Computing Environment”, in Proc. PAAP, pp. 89-96.

Fig 3: Algorithm of ALBA

After the simulation the results are shown in figure 4 and 5. There is an assumption that the system containing 15 virtual machines in a single data center having 1giga byte memory.

[6]. M. Amar, K. Anurag, K. Rakesh, K. Rupesh, Y. Prashant (2011) “ SLA Driven Load Balancing For Web Applications in Cloud Computing Environment”, Information and Knowledge Management, 1(1), pp. 513. [7]. M .Randles, D. Lamb, AT. Bendiab, (2010), “A comparative Study into Distributed Load Balancing Algorithms for Cloud Computing", in Proc. ICAINAW, pp.551-556. [8]. R. Ezumalai,G. Aghila, R. Rajalakshmi,(2010, Feb), “Design and Architecture for Efficient Load balancing with Security Using Mobile Agents”. International Journal of Engineering & Technology (IACSIT).

Fig 4: Comparison in Response Time ALBA, RRA, TA

227

2(1), pp. 149-160. [9]. S Jing and K She (2011 April), “A Novel Model for Load Balancing in Cloud Data Center. Journal of Convergence Information Technology”, 6(4),pp. 29-38. [10]. S. Ray and A.D. Sarkar (2012, October), “Execution Analysis of Load Balancing Algorithms in Cloud Computing Environment”, International Journal on Cloud Computing: Services and Architecture (IJCCSA). 2(5), pp. 1-13. [11]. S. S. Moharana, R. D. Ramesh & D.Powar,(2013, May). Analysis of Load Balancers In Cloud Computing. International Journal of Computer Science & Engineering (IJCSE). [Online]. 2(2), pp.: 101-108. [12]. S.C. Wang,K.Q. Yan, W.P.Liao, S.S. Wang, “Towards a Load Balancing in aThree-Level Cloud Computing Network”, in Proc. ICCSIT, 2010, pp.108-113. [13]. T. Desai, J. Prajapati,(2013, Nov), “A Survey of Various Load Balancing Techniques And Challenges In Cloud Computing”, International Journal Of Scientific & Technology Research, 2(11), pp.158-161. [14]. Wickremasinghe Bhathiya (2010), “ Cloud Analyst: A Cloud-SimBased Tool For Modeling And Analysis Of Large Scale Cloud Computing Environments”. MEDC Project. [15]. Y.Xu, L. Wu, L. Guo, Z.Chen, L.Yang, Z.Shi,(2011), “An Intelligent Load Balancing Algorithms Towards Efficient Cloud Computing”, in Proc. AAAI Workshop,, pp. 27-32. [16]. Z Zhang and X Zhang, “A Load Balancing Mechanism Based on Ant Colony and Complex Network Theory in Open Cloud Computing Federation”, in Proc. ICIMA, 2010, pp. 240-243. [17]. Z.Chaczko, V. Mahadevan, S.Aslanzadeh, C. Mcdermid,(2011), "Availability and Load Balancing In Cloud Computing", in Proc. ICCSM , 2011, pp.134-140. [18]. R.k. Mishra, S. N. Bhukya.(2012) “Service Broker Algorithm for Cloud Analyst”, in International Journal of Computer Science and Information Technology, 5(3), pp 3957-3962.

228

Suggest Documents