[ieee 2013 international conference on human computer interactions (ichci) - chennai, india...

6
Agent Based Dynamic Load Balancing in Cloud Computing Jitender Grover 1 , Shivangi Katiyar 2 1 Assistant Professor, Computer Science & Engineering Department M. M. University, Sadopur, Ambala, India 2 Research Scholar, Information Technology Department M. M. Engineering College, M. M. University, Ambala, India [email protected], [email protected] Abstract— Cloud Computing is one of the latest computing paradigms in IT sector today where applications, platforms, software and some other IT services are provided over the internet. It is also known as On Demand Computing. Cloud Computing considers shared pool of configurable computing resources which requires proper resource distribution among the tasks, otherwise in some situations resources may over-utilized or under- utilized. For the sake of efficient resource utilization, Load Balancing System problem needs more attention in cloud computing. In This paper, we have used Agent Based Dynamic Load Balancing (ABDLB) approach in which mobile agent plays very important role, which is a software entity and usually defined as an independent software program that runs on behalf of a network administrator. It has ability to learn. After comparing the proposed method with traditional load balancing scheme we concluded that Agent Base load balancing scheme greatly reduces the communication cost of servers, accelerates the rate of load balancing which indirectly improves the Throughput and Response Time of the cloud. Keywords: cloud computing, mobile agent, load balancing. I INTRODUCTION In the past years, it was very difficult for smaller organizations to increase number of instances of their computing resources like hardware, software or storage media (e.g. virtual desktop, virtual machines, development tools etc.), for increasing their computation power or storage. But nowadays, cloud computing is the culmination of development of internet technologies, telecommunication penetration as well as computing model and has the capacity to admittance a common collection of resources on request. Cloud computing provides on demand resource allocation scheme rely on pay per use basis in the form of services over the internet [1]. Cloud computing is an emerging technique and it is very successful because of the following features like reliability, security, speed, fault tolerance and efficient communication etc. among different networks [2]. Due to the exponential growth of cloud computing, number of clients as well as their demands for services rapidly increasing. This results in heavy workload over the servers and computing resources. These circumstances require an efficient load balancing algorithm for proper utilization of the resources. Load balancing is a mechanism to distribute the workload evenly across all the participating servers [3], so load balancing is one of the vital issues, needed to be resolved in cloud computing. In the proposed model Agent Based Dynamic Load Balancing in Cloud Computing (ABDLB), we are using mobile agent based load balancing algorithm that shows better results than pre-existing load balancing algorithms. Here mobile agent is a software entity and it is usually defined as an independent software program that runs on behalf of a network user. It has ability to learn. Mobile agent adds to regular agent, the capability of traveling to multiple locations in the network, by saving their state and restoring it on the new host [4][5]. As they travel, they work on behalf of the user, such as collecting information or delivering requests. This mobility greatly enhances the productivity of each computing element in the network and creates a powerful computing environment [6]. Mobile agent requires a software infrastructure may include protocols, rules for safe mobility, directions and directories with information about all available hosts [7]. In cloud computing, there are number of clients connected with service provider via internet because it is totally internet based technology. Service providers have shared pool of resources which requires efficient load balancing. Traditional load balancing algorithms are using different mechanisms for balancing load over the cloud[8], but all of them doesn’t focus on CPU time unit consumed in load balancing which is also an important factor and affects the system performance. In proposed model, we are considering two factors to be done, first one is load to be balanced and second one is CPU time unit consumed in load balancing to be reduced. First factor balances the load of servers and the second factor saves the CPU time. CPU can utilize this saved time in other works which increases system performance.

Upload: shivangi

Post on 09-Feb-2017

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: [IEEE 2013 International Conference on Human Computer Interactions (ICHCI) - Chennai, India (2013.8.23-2013.8.24)] 2013 International Conference on Human Computer Interactions (ICHCI)

Agent Based Dynamic Load Balancing in Cloud Computing

Jitender Grover1, Shivangi Katiyar2

1Assistant Professor, Computer Science & Engineering Department

M. M. University, Sadopur, Ambala, India

2Research Scholar, Information Technology Department

M. M. Engineering College, M. M. University, Ambala, India

[email protected], [email protected]

Abstract— Cloud Computing is one of the latest computing paradigms in IT sector today where applications, platforms, software and some other IT services are provided over the internet. It is also known as On Demand Computing. Cloud Computing considers shared pool of configurable computing resources which requires proper resource distribution among the tasks, otherwise in some situations resources may over-utilized or under-utilized. For the sake of efficient resource utilization, Load Balancing System problem needs more attention in cloud computing. In This paper, we have used Agent Based Dynamic Load Balancing (ABDLB) approach in which mobile agent plays very important role, which is a software entity and usually defined as an independent software program that runs on behalf of a network administrator. It has ability to learn. After comparing the proposed method with traditional load balancing scheme we concluded that Agent Base load balancing scheme greatly reduces the communication cost of servers, accelerates the rate of load balancing which indirectly improves the Throughput and Response Time of the cloud.

Keywords: cloud computing, mobile agent, load balancing.

I INTRODUCTION

In the past years, it was very difficult for smaller organizations to increase number of instances of their computing resources like hardware, software or storage media (e.g. virtual desktop, virtual machines, development tools etc.), for increasing their computation power or storage. But nowadays, cloud computing is the culmination of development of internet technologies, telecommunication penetration as well as computing model and has the capacity to admittance a common collection of resources on request. Cloud computing provides on demand resource allocation scheme rely on pay per use basis in the form of services over the internet [1].

Cloud computing is an emerging technique and it is very successful because of the following features like reliability, security, speed, fault tolerance and efficient communication etc. among different networks [2].

Due to the exponential growth of cloud computing, number of clients as well as their demands for services rapidly increasing. This results in heavy workload over the servers and computing resources. These circumstances require an efficient load balancing algorithm for proper utilization of the resources. Load balancing is a mechanism to distribute the workload evenly across all the participating servers [3], so load balancing is one of the vital issues, needed to be resolved in cloud computing.

In the proposed model Agent Based Dynamic Load Balancing in Cloud Computing (ABDLB), we are using mobile agent based load balancing algorithm that shows better results than pre-existing load balancing algorithms. Here mobile agent is a software entity and it is usually defined as an independent software program that runs on behalf of a network user. It has ability to learn. Mobile agent adds to regular agent, the capability of traveling to multiple locations in the network, by saving their state and restoring it on the new host [4][5]. As they travel, they work on behalf of the user, such as collecting information or delivering requests. This mobility greatly enhances the productivity of each computing element in the network and creates a powerful computing environment [6]. Mobile agent requires a software infrastructure may include protocols, rules for safe mobility, directions and directories with information about all available hosts [7].

In cloud computing, there are number of clients connected with service provider via internet because it is totally internet based technology. Service providers have shared pool of resources which requires efficient load balancing. Traditional load balancing algorithms are using different mechanisms for balancing load over the cloud[8], but all of them doesn’t focus on CPU time unit consumed in load balancing which is also an important factor and affects the system performance. In proposed model, we are considering two factors to be done, first one is load to be balanced and second one is CPU time unit consumed in load balancing to be reduced. First factor balances the load of servers and the second factor saves the CPU time. CPU can utilize this saved time in other works which increases system performance.

Page 2: [IEEE 2013 International Conference on Human Computer Interactions (ICHCI) - Chennai, India (2013.8.23-2013.8.24)] 2013 International Conference on Human Computer Interactions (ICHCI)

The rest of the paper is organized as follows: Section 2 presents related work. In Section 3, we present our system model. Section 4 elaborates the results and discussions while Section 5 concludes the paper.

II. RELATED WORK Load balancing algorithms are categorized as, one is static

load balancing algorithm, the other is dynamic one [9]. There are some problem with static load balancing i.e. in the long run, static weight cannot be corrected and the node is bound to deviate from the actual load condition, resulting in load imbalance so it can’t handle long-connectivity applications well. Dynamic load balancing algorithm has more practical value than static one. Most of the Dynamic load balancing algorithms relies on a combination of knowledge and run-time properties. Knowledge is based on prior gathered information about the nodes in the Cloud and Run-time properties collected as the node processes the task. These algorithms assign the tasks to a node and may dynamically reassign them to another node based on the attributes gathered and calculated. Dynamic load balancing algorithms are more accurate and could result in more efficient load balancing. But such algorithms require constant monitoring of the nodes and task progress and are usually harder to implement.

Xiaona Ren et al.[10] considers the unique features of long-connectivity applications, which are increasingly popular nowadays in cloud computing. An improved algorithm is proposed based on the weighted least connection algorithm. In the new algorithm, load and processing power are quantified, and single exponential smoothing forecasting mechanism is added. Finally, the article proves by experiments that the new algorithm can reduce the server load tilt, and improve client service quality effectively. But it is Complicated and Prediction algorithm requires existing data and has long processing time.

T-Y et al.[11] proposed a method to find an algorithm to minimize the data duplication and redundancy. The algorithm proposed is called INS (Index Name Server) and it integrates de-duplication and access point selection optimization. There are many parameters involved in the process of calculating the optimum selection point. Its feeble points are: No forecasting algorithm to identify the future behavior of the nodes and Complicated in terms of implementation.

Radojevic et al.[12] suggested an algorithm called CLBDM short for Central Load Balancing Decision Model. CLBDM is an improvement of the Round Robin Algorithm which is based on session switching at the application layer. Round Robin [13] is a very famous load balancing algorithm. However, it sends the requests to the node with the least number of connections. The improvement done in CLBDM is that the connection time between the client and the server in the cloud is calculated and if that connection time exceeds a threshold then there is an issue. If an issue is found, the connection will be terminated and the task will be forwarded to another server in the cloud using the regular Round Robin rules. CLBDM acts as an automated administrator. The idea was inspired by the human administrator point of view. This algorithm reduces the human administration requirements but

it is still suffered from single point of failure, which is a very serious issue and we cannot avoid it in any situation.

[14] Zhang, Z et al. proposed a load balancing mechanism based on ant colony and complex network theory in open cloud computing federation. In this paper, authors tried to improve many aspects of Ant Colony algorithms, which are used for load balancing in distributed system. Furthermore, this mechanism takes the characteristic of Complex Network into consideration. Best-case scenarios are: the under loaded node is found at beginning of the search, Decentralized, no single point of failure, Ants can collect the information faster. But this algorithm is also suffered from some problems that are: it increases the network overhead because of the large number of ants, initiation points of ants and number of ants are not clear and nodes status change after ant’s visits to them is not considered. Jing Yao et al.[15] presents Load Balancing Strategy of Cloud Computing based on Artificial Bee Algorithm, which is a bionic method based on the gathering behavior of honeybee. Through imitation of behavior of honey bees, it optimizes the amount of nectar (i.e., system throughput) to reach the maximum throughput.

III. SYSTEM MODEL

Figure 1, shows the proposed system architecture which consists n number of clients connected with cloud service providers via internet and service provider consists virtual machines, management unit, and m number of shared pool of resources which we are considering as servers. At the shared pool of servers, agent complete one cycle in two walks:

• In First walk it moves from initiation server to last server and gathers information from all servers, for making appropriate decision for load balancing and

• In second walk it balances the server’s load on the basis of average load of the cloud.

Figure 1: Architecture of proposed Agent Based Dynamic Load Balancing

Page 3: [IEEE 2013 International Conference on Human Computer Interactions (ICHCI) - Chennai, India (2013.8.23-2013.8.24)] 2013 International Conference on Human Computer Interactions (ICHCI)

Agent Walk1:

Before the walk1 description we are going to describe some parameters which will be used by the agent during walk1. These are as follow:

• Suppose there is a shared pool of servers S, which consists N number of servers, S= { , ,....., } and Each server (i=0, 1, …., n) has variable number of jobs.

• Next parameter for average number of jobs is: AVERAGE, which represents, required number of jobs for balanced status of the server, which will be calculated as follows: AVERAGE ∑ ; 0

Whereas, = Number of jobs at server

N = Total number of servers

Now let’s move towards the description of first walk. Figure 2, shows the pictorial representation of Agent Walk1. In Agent Walk1, agent is activated at any random server and finds number of jobs in queue at that server. Agent will repeat this process for all servers of that shared pool. After that it will calculate AVERAGE. On the basis of AVERAGE, it will sense the server’s status in terms of overloaded and under loaded. Now it will make a list that contains server’s status, which will be decided as follow:

For each server

{

If ( > AVERAGE)

Then transfer jobs STATUS as “Overloaded”

Else

Set server’s STATUS as “Underloaded”

}

Agent is still at the last server with the record of all the servers’ load and it is ready for backtracking i.e. traveling from last server to first server. In this way agent will complete Agent Walk1 or half cycle.

Agent Walk 2:

Figure 3, shows the pictorial representation of Agent Walk 2. Agent will start backtracking from last server to first server for balancing load of servers. At each server it will check the condition,

For each server

{

If (STATUS == “Overloaded”)

Then transfer jobs to “Underloaded” Servers

Else

Receive jobs from “Overloaded” Servers

}

If server is overloaded then finds the number of jobs to be transmitted over the under loaded server and transfer it and if server is under loaded then finds number of jobs that server can receive and migrates the jobs from heavily loaded servers. Whereas number of jobs to be transmitted from overloaded server and number of jobs that an under loaded server can receive will calculated as follow,

Number of jobs to be Transmitted or Received =

| - AVERAGE |

Agent will perform this operation until it reaches at the first server with balancing all servers’ load including first server also. In this way agent will balance the load without interrupting the system’s work.

Figure 2: First walk of agent from first to last server for gathering load information

Page 4: [IEEE 2013 International Conference on Human Computer Interactions (ICHCI) - Chennai, India (2013.8.23-2013.8.24)] 2013 International Conference on Human Computer Interactions (ICHCI)

Figure 3: Second walk of agent from last server to first server for balancing load

IV. RESULTS AND DISCUSSION The proposed Agent Based Dynamic Load Balancing and

one existing Centralised Server based load balancing schemes have been implemented using MATLAB. The goal of the implementation is to demonstrate the advantages of Agent Based Dynamic Load Balancing scheme presented in this paper over existing one.

TABLE I. Simulation Parameters Parameters Values No of Servers 16, 32, 64, 128, 256 CPU Time Consumption (Centralized Server based load balancing scheme)

10 Units

CPU Time Consumption (Agent Based Dynamic Load Balancing) 1 Unit

CPU Time Consumption (Process of balancing load) 50 Units

Platform Matrix Laboratory 2009 v2

Operating System Windows XP

(a) In Centralized Server based load balancing scheme, CPU Time consumption is 10 Units as Server to Server communication takes lots of CPU Time in passing load information to Central Server and vice-versa.

(b) In Agent Based Dynamic Load Balancing scheme CPU Time consumption is 1 Unit as Agent-Server communication costs very less in passing load information to Agent and vice-versa.

(c) Time consumption by both the schemes in the process of balancing load after the collection of load information from all the servers is taken as equal that is 50 Units of time.

Implementation is done on the basis of scalability for 16, 32, 64, 128, 256 servers having random number of jobs for each server in a cloud. In Figure 4, the CPU Costs for both proposed and existing load balancing schemes are depicted on the basis of scalability. The graph shows that the CPU time unit consumed in Load balancing in ABDLB is much lesser than the Centralized Server based load balancing.

Figure 4: Performance comparison in terms of CPU Time Unit Consumed in Load Balancing

Figure 5: Performance comparison in terms of Throughput

Page 5: [IEEE 2013 International Conference on Human Computer Interactions (ICHCI) - Chennai, India (2013.8.23-2013.8.24)] 2013 International Conference on Human Computer Interactions (ICHCI)

Throughput comparison of ABDLB and Centralized Server based load balancing is shown in Figure 5. The graph shows better Throughput results in ABDLB as compared to the existing one.

Fig. 6: Performance comparison in terms of Average Waiting

Time

Comparison of Average Waiting time of ABDLB and Centralized Server based load balancing is shown in Figure 6. The graph shows that the ABDLB performs better in terms of Average Waiting Time. The Throughput and Average waiting time illustrated in Figure 5 and Figure 6 respectively also confirms the above said fact that the CPU can utilize saved time (illustrated in Figure 4) in entertaining other jobs which is in queue and that will directly improves the throughput and reduces average waiting time of the jobs.

In proposed system CPU Cost decreases because in Agent Based Dynamic Load Balancing scheme, Agent moves from server to server, consumes negligible CPU Time and saves server’s time of communication that it has to use while communicating with Central Server deployed for load balancing in existing system. This CPU Time can be used to entertain other jobs in queue by the server and it automatically will increase Throughput & decrease Response Time of the cloud.

VI. CONCLUSION This paper presents an Agent Based Dynamic Load

Balancing scheme for cloud computing. After comparing it with traditional load balancing scheme, we can conclude that Agent Based Dynamic Load Balancing scheme makes system independent form constant monitoring of the servers for the purpose of load balancing, which is the requirement of existing dynamic load balancing algorithms in cloud computing and we also observed that this method greatly reduces the communication cost of servers, accelerates the rate of load balancing and improves the Throughput and Response Time of the cloud. Existing load balancing schemes depends

upon the bandwidth or traffic condition to transfer the load information from one server to another but in purposed load balancing scheme lightweight agent can move easily from one server to another without affecting the network’s load too much.

REFERENCES [1] P. Mell and T. Grance, “The nist definition of cloud computing

(draft)”, Tech. rep., National Institute of Standards and Technology, 2011.

[2] V.Venkatesa Kumar & K. Dinesh, “Job Scheduling Using Fuzzy Neural Network Algorithm in Cloud Environment”, Bonfring International Journal of Man Machine Interface, Vol. 2, No. 1, March 2012.

[3] Young Joon Lee, Geon Yong Park, Ho Kuen Song, and Hee

Yong Youn, “A Load Balancing Scheme for Distributed Simulation Based on Multi-Agent System”, 978-0-7695-4758-9/12, IEEE, 2012.

[4] Jun Wang, Quan-Yuan Wu, Di Zheng & Yan Jia, “Agent based

Load Balancing Model for Service based Grid Applications”, 1-4244-0605-6/06, IEEE, 2006.

[5] Buchanan, W.J., Naylor, M., Scott, A.V., "Enhancing network

management using mobile agents," Engineering of Computer Based Systems, 2000. (ECBS 2000) Proceedings. Seventh IEEE International Conference and Workshop, 2000.

[6] Priyank Singh Hada, Ranjita Singh and Mukul Manmohan, “Security Agents: A Mobile Agent Based Trust Model for Cloud Computing”, International Journal of Computer Applications (IJCA) 36(12):12-15, December 2011.

[7] Sandeep Rana1 & Niraj Singhal, “Design of Human Powered

Directories using Mobile Agents” ISSN 2278 – 0882, International Journal of Scientific Research Engineering & Technology (IJSRET) Volume 1 Issue11, pp 016-021 February 2013.

[8] Divya Rastogi, Abhay Bansal & Nitasha Hasteer, “ Techniques

of load balancing in Cloud Computing: A Survey”, International Conference on Computer Science and Engineering (CSE), ISBN: 978-93-82208-83-9, Bangalore, April 2013.

[9] Lee, R. and B. Jeng, "Load-balancing tactics in cloud," in proc.

International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery (CyberC), IEEE, pp:447-454, October 2011.

[10] Xiaona Ren, Rongheng Lin & Hua Zou, “A Dynamic Load Balancing Strategy for Cloud Computing Platform Based on Exponential Smoothing Forecast”, 978-1-61284-204-2/11, IEEE, 2011.

[11] T-Y., W-T. Lee, Y-S. Lin, Y-S. Lin, H-L. Chan and J-S. Huang, "Dynamic load balancing mechanism based on cloud storage" in proc. Computing, Communications and Applications Conference (ComComAp), IEEE, pp:102-106, January 2012.

Page 6: [IEEE 2013 International Conference on Human Computer Interactions (ICHCI) - Chennai, India (2013.8.23-2013.8.24)] 2013 International Conference on Human Computer Interactions (ICHCI)

[12] Radojevic, B. and M. Zagar, "Analysis of issues with load balancing algorithms in hosted (cloud) environments." In proc.34th International Convention on MIPRO, IEEE, 2011.

[13] M. Randles, D. Lamb, and A. Taleb-Bendiab, “A Comparative Study into Distributed Load Balancing Algorithms for Cloud Computing”, Proceeding 24th IEEE International Conference on Advanced Information Networking and Applications Workshops, pp. 551–556, 2010.

[14] Zehua Zhang & Xuejie Zhang, “A Load Balancing Mechanism Based on Ant Colony and Complex Network Theory in Open Cloud Computing Federation”, 978-1-4244-7656-5110, IEEE, 20 1 0.

[15] Jing Yao & Ju-hou He, “Load Balancing Strategy of Cloud

Computing based on Artificial Bee Algorithm”, ISBN: 978-1-4673-0893-9, Pages: 185-189, IEEE, April 2012.