A New Hybrid Load Balancing Algorithm in Grid ... - ExcelingTech

4 downloads 0 Views 552KB Size Report
develop a new algorithm for creating load balancing in these systems. In this paper ... limited in terms of the geographical range of the resources that it covers ...
304 Int. J Comp Sci. Emerging Tech

Vol-2 No 5 October, 2011

A New Hybrid Load Balancing Algorithm in Grid Computing Systems Leyli Mohammad Khanli1, Behnaz Didevar2 1

University of Tabriz, Department of Computer Science, Department of Technical and Engineering, Islamic Azad University of Tabriz,

2

{[email protected], [email protected]} Abstract - Grid computing systems are distributed systems developed by the integration of heterogeneous resources with various characteristics. These heterogeneous computing resources are used to run highly complex programs that require very high processing power and huge volume of input data. Therefore, as a result of a large number of resources and their heterogeneity administration of these resources is an important issue in computing systems. Our intention is to develop a new algorithm for creating load balancing in these systems. In this paper, we have presented a new algorithm which is a combination of static and dynamic load balancing. In this algorithm, we have defined a time range called Update Interval which in the basis of Update Interval, the information in the table of effective nodes is updated. The advantage of this method is that, it reduces the delay and deadlock significantly. Simulation results indicate that our proposed algorithm can reduce the wait time of the tasks and subsequently their completion time and the delay in execution time of the tasks decreased.

Keywords: Grid computing, Update Interval, Task, Completion time, delay.

1. Introduction Grid computing systems are distributed systems developed by a set of heterogeneous resources, which these heterogeneous computing resources can include PCs, supercomputers, clusters, data storing devices, data banks, softwares and etc. [1]. Currently, Grid computing technology can be used to connect heterogeneous computing resources to each other in a way that user can regard all of this structure as a single machine on which we can run very highly complex and massive application programs that require a high processing power and huge volume of input data [1]. Grid is not limited in terms of the geographical range of the resources that it covers and each resource may belong to different institutes, organizations and individuals which are operated in Grid according to policies set by their owners and these owners may receive some money for the utilization of their resource [1]. One of the algorithms proposed for load balancing is genetic algorithm which uses both static and dynamic load balancing methods [2]. However, this algorithm is suitable for an environment with low number of applications. Otherwise, this algorithm will lead to ___________________________________________________________________________________ International Journal of Computer Science & Emerging Technologies IJCSET, E-ISSN: 2044 - 6004 Copyright © ExcelingTech, Pub, UK (http://excelingtech.co.uk/)

information overload in the environment. Another combined algorithm proposed for load balancing is the load balancing algorithm based on the table of effective nodes in which as long as there is no change in the status of the system, the method of static load balancing is used, but as soon as there is a change of status in system, dynamic load balancing is used to update the table [3]. The most important disadvantage of this method is that a task may be kept waiting for a long time, because the table of effective nodes is not updated frequently. In our proposed method, we have presented an algorithm in which we have defined a time range called Update Interval (U-I) which in the basis of U-I, the information in the table of effective nodes is updated and as, the system administrator will be aware of any outgoing and incoming nodes or whether they are busy. Thus, by using this algorithm, the execution of tasks will not be delayed and also a node will not be in an undesirable busy status. We have simulated our proposed algorithm for various nodes by using one of the different programs available for simulation. The simulation results indicate that, as the proposed algorithm is applied, the wait time of tasks in queue and, their completion time is reduced significantly. The contents of different sections of this paper are as follow: The second section of the study focuses on related works. The structure of the system environment and proposed algorithm are detailed in the third section. The fourth section focuses on simulation method and analysis the result of proposed algorithm to verify if the proposed system could achieve the goal of increasing system performance better than other systems. In the fifth section the conclusions and future works are presented.

2. Related work Generally, there are two methods for creating load balancing in Grid environment: static load balancing which is based on static information such as CPU capacity, memory space and etc. and dynamic load balancing which is based on current status of the system [4]-[5]. In some algorithms the combination of these two methods are used which they are referred to as combined algorithms. One of these combined algorithms is the load balancing algorithm based on the table of effective

305 Int. J Comp Sci. Emerging Tech

nodes [3]. The table of effective nodes is developed after the dispatcher provide a number called node value to each resources (nodes) using the method of static load balancing and store them in a table called table of effective nodes [3]. When a request for executing a task is proposed, dispatcher select effective nodes set from a table of effective nodes and assigns subtasks to selected nodes [3]. Now, if a node after receiving a task sends a message to dispatcher that it can no longer provide resource, or the execution of a certain node exceeds the expected time, the dispatcher updates the information in table of effective nodes [3]. In this method first, a node receives a task and then, since it can not provide the resource, it sends a message to dispatcher that this is a disadvantage for this method. Thus on one hand, the node is kept in an undesirable busy status for a while and on the other hand, the task is kept waiting for a response for a long time, consequently the execution of that task is delayed. But with our proposed algorithm the information in table of effective nodes is updated in the basis of a defined time range that the delay in execution time of tasks decreased. Another combined algorithm proposed for load balancing is Basic Hybrid algorithm in which that is used the combination of two methods of Deferred and Random. The Deferred method uses the dynamic information of the site and the Random method uses the static information of the site [6]. In this algorithm a time range called Allocation Interval (A-I) has been defined which in the basis of A-I, the load information of each site is updated and stored in a table [6]. In a similar way, we update the information in the table of effective nodes in the basis of Update Interval (U-I), but the only difference is that, the mentioned method uses dynamic site load information for table, whereas in our proposed method we use static information of nodes such as remaining capacity of CPU, remaining memory and etc. Another combined algorithm which is the extension of Basic Hybrid method, is Previous Analogous Distribution (PAD) algorithm through which the load information of each site is updated in the basis of double A-I and stored in the table. Since the load information of each site is not available in first A-I, the number of tasks is estimated in each site [6]. In contrast, our proposed algorithm does not use any estimation. Some of the algorithms have been developed by using genetic algorithm through which the selection of the nodes are done by genetic operators which include three operators of reproduction, exchange and mutation [2]-[7]. There are also a number of algorithms that use the tree method for load balancing which the most important idea of these methods is the use of hierarchical method [8]-[9].

3. Proposed method In this section first, the structure of proposed system environment is presented. Then the detail of proposed algorithm is described.

Vol-2 No 5 October, 2011

3.1. System Model The model of our proposed method is shown in Fig.1a. The base of our proposed model is derived from J.S.Lin, K.Q.Yan, S.C.Wang, C.P.Chang model [3]. The only difference is that, we have added a timer to our proposed model which calculates the Update Interval (U-I). This means that since a time as long as one U-I has elapsed, timer inform the dispatcher about that and dispatcher start to do the next stages. The difference between the previous model [3] and our proposed model is that, in our model the application of agent and dispatcher is repeated on the basis of U-I. As the information of dispatcher is always up-to-date in our model, and the dispatcher will be aware of any incoming or outgoing node so that node doesn’t have to send “join” or “exit” message to the dispatcher. Because it would be necessary to send these messages to the dispatcher, if there was not any updated information. The role of each section of the system model have been described in the flowchart of Fig.1b. 3.2. New Hybrid (NH) Algorithm We introduce a new algorithm which we call New Hybrid (NH). Our proposed algorithm is implemented in two stages: the first stage is derived from J.S.Lin, K.Q.Yan, S.C.Wan, C.P.Chang method [3]. First the table of effective nodes is developed based on static information which this stage is referred to as static load balancing stage, and in the second stage the table of effective nodes is updated in the basis of Update Interval (U-I). The table is developed based on either the current status or dynamic information, which this stage is referred to as dynamic load balancing stage. Thus, our proposed algorithm is a combined that developed from the combination of static load balancing and dynamic load balancing. The most important difference between our proposed algorithm and the previous one [3] is that in previous method, the table of effective nodes gets updated only when a node was unable to execute the given task or it had not the resource required for that task. Thus, the unavailability of the status of nodes lead to two problems: firstly, a node that has been unable to provide the resource, is kept in an undesirable busy status. Secondly, the client who had requested the dispatcher to execute the task be kept waiting and the execution of that task be delayed. However, in our proposed method, as the information of the table get updated in the basis of U-I, the status of the nodes is available for dispatcher at any moment. Every node is provided with a task based on real and updated information of the table rather than estimated one. Thus, there will not be any node unable of executing any given task and thus any delay and undesirable busy status of a node will be avoided. The NH algorithm is shown in Fig. 2. The first line of the algorithm belongs to number 1 of Fig.1a, which is the condition of algorithm. This means that if the time that shown by timer equaled any

306 Int. J Comp Sci. Emerging Tech

Vol-2 No 5 October, 2011

factor of Update Interval (U-I), algorithm would be executed. Otherwise a task arriving at dispatcher would be stored on its queue. The second line also corresponds to number 5 of Fig.1a. The third and fourth lines of the algorithm belong to number 6 of Fig.1a, which these two lines include a cycle, which the dispatcher

calculates the value function [3] for N nodes. The fifth and sixth lines correspond to number 7 of Fig.1a, which these two lines include a cycle in which the dispatcher select a group of nodes, containing high function estimate between nodes.

(1) Dispatcher

Timer Resource 1 (8) (5) Resource 2

(2) (4) Agent (6)

(7)

(3)

Resource n Calculation of effective nodes

Node selection

Nodes

(a). System model Start

1. Timer sends message to dispatcher at the end of each one (U-I).

2. Dispatcher dispatches agent to collect related information of each node.

3. Agent collects related information of nodes, such as remaining CPU capability, remaining memory, etc.

4. Nodes send its own information to agent.

5. Agent provides all related information of nodes to dispatcher.

6. Dispatcher builds a table of effective nodes.

7. Dispatcher selects effective nodes set from a table of effective nodes.

8. Dispatcher assigns subtasks to selected nodes.

End

(b). Flowchart of different roles Figure 1 - The interaction of different roles at static and dynamic load balancing

307 Int. J Comp Sci. Emerging Tech

Vol-2 No 5 October, 2011

1. If (time = n (U-I)) then { 2. Dispatcher collects all data 3. For j=1 to n do //there are totally n nodes. 4. Dispatcher computes value function. 5. For j=1 to n do 6. Dispatcher selects groups of nodes that have high value function in the table. } Figure 2 - NH algorithm

4. Simulation results and analysis

nodes at any moment and consequently, any wrong utilization of nodes with tasks is avoided.

This part focuses on the simulation method and its results. We use Gridsim program in our proposed algorithm [10]. The numerical value for Update Interval (U-I) has been assumed 1. We have applied the proposed algorithm on nodes with various quantity and the simulation results are shown in Tables 1 and 2. The values in Tables 1 and 2, show the rates of completion time of tasks before and after the application of New Hybrid (NH), respectively.

Table 1 - Rate of Completion time of tasks before applying of NH algorithm

The completion time, is the time that takes for a node to complete a task, as of the moment it entered to a queue of dispatcher. According to the definition of completion time, as the wait time of a task in a queue of a dispatcher decreases, so does the rate of its completion time. Since the values in the table of effective nodes get updated frequently, the wait time of the tasks decreases in the queue. As it can be seen from the Tables, the rate of completion time of the tasks has decreased a lot after the application of proposed method. The values of Tables 1 and 2 have been compared in diagram of Fig. 3. As it can be seen from Fig. 3, the rate of completion time of the tasks increases progressively with the increase of node quantity. Because as the number of tasks increases, the time that takes for nodes to execute the task increases, subsequently the completion time of that task increases accordingly. Now, by measuring the reduction rate of completion time of tasks in our proposed method, the reduction rate for nodes with the quantities of N=100 and N=1000 are as much as 13% and 17%, respectively. This means that we have been able to achieve at least an improvement of about 13%. In other words, the wait time of tasks in dispatcher queue, decreases at least 13%. This reduction is due to values of the table of effective nodes being updated in the basis of U-I which enable the dispatcher to be aware of the status of all

Number of nodes 100 200 300 400 500 600 700 800 900 1000

Completion time (second) 1910.79 3322.25 4783.41 6219.02 7609.48 9041.93 10447.48 11855.91 13263.97 14676.65

Table 2 - Rate of Completion time of tasks after applying of NH algorithm Number of nodes 100 200 300 400 500 600 700 800 900 1000

Completion time (second) 1668.29 2847.25 4065.91 5269.02 6416.98 7616.93 8779.98 9955.91 11121.47 12301.65

308 Int. J Comp Sci. Emerging Tech

Vol-2 No 5 October, 2011

15000

Completion time (second)

befor applying NH algorithm after applying NH algorithm

10000

5000

0

100

200

300

400

500

600

700

800

900

1000

Number of nodes

Figure 3 - Comparison of values in tables 1 and 2.

5. Conclusions and future work

References

In this paper we have introduced a new combined algorithm developed from the combination of static and dynamic load balancing, in order to create load balancing in Grid computing systems so that, to decrease the wait time of tasks and minimize the delay of task execution. We used a time range of Update Interval (U-I) to update the status of nodes in the table of effective nodes in order to have real information available about nodes rather than estimated ones.

[1] J. Dongarra, B. Tourancheau, “Special section: Cluster and computational grids for scientific computing”, Future Generation Computer Systems, 21-30, 2008. [2] Yajun Li, Yuhang Yanga, Maode Mab, Liang Zhoua, “A hybrid load balancing strategy of sequential tasks For grid computing environments”, Future Generation Computer Systems, 819-828, 2009. [3] K.Q. Yan, S.C. Wang, C.P. Chang, J.S. Lin, “A hybrid load balancing policy underlying grid computing environment”, Computer Standards & Interfaces, 161-173, 2007. [4] S.P. Dandamudi, “Sensitivity evaluation of dynamic load sharing in distributed systems”, IEEE Concurrency, 62-72, 1998. [5] K. Koyama, K. Shimizu, H. Ashihara, Y. Zhang, H. Kameda, “Performance evaluation of adaptive load balancing policies in distributed systems”, Proceedings of the Singapore International Conference on Networks/International Conference on Information Engineering, 606-611, 1993. [6] Stylianos Zikos, Helen D. Karatza, “Communication cost effective scheduling policies of nonclairvoyant jobs with load balancing in a

Simulation results showed that this method leads to the reduction of completion time of tasks and avoids of any delay in task execution and idle working of any node. In future researches nodes can be designed hierarchically and different classes of sites can be considered for nodes (resources) in terms of computational capacity including low, medium and high classes and the efficiency of sites can be discussed based on them. In addition, for evaluating of effectiveness of a node, load of each site can be considered into value function, so that the best site for executing the task can be selected.

309 Int. J Comp Sci. Emerging Tech

grid”, The Journal of Systems and Software, 21032116, 2009. [7] Junwei Caoa, P. Daniel Spoonerb, A. Stephen Jarvisb, R. Graham Nudd, “Grid load balancing using intelligent agents”, Future Generation Computer Systems, 135-149, 2005. [8] Yagoubi, Slimani, “Task Load Balancing Strategy for Grid Computing”, Journal of Computer Science, 186-194, 2007. [9] M. Mezmaz, N. Melab, E.G. Talbi, “An efficient load balancing strategy for grid-based branch and bound algorithm”, Parallel Computing, 302-313 , 2007. [10] R. Buyya, M. Murshed, “GridSim: a toolkit for the modeling and simulation of distributed resource management and scheduling for grid computing”, The Journal of Concurrency and Computation: Practice and Experience, 1175-1220, 2002.

Author biographies Leyli Mohammad Khanli received her B.S. (1995) from Shahid Beheshti University Tehran, Iran, M.S. (2000) from IUST (Iran University of Science and Technology) University and a Ph.D. degree (2007) from IUST (Iran University of Science and Technology) University, all in computer engineering. She is currently assistant professor in the Department of Computer Science at the University of Tabriz. Her research interests include grid computing and Quality of Service management. Behnaz Didevar received her B.S. degree in Computer Engineering from Azad University of Ardabil, Iran, in 2008. She has been a M.S. student at the Azad University of Tabriz, Tabriz, Iran, since 2009. Her research interests include grid computing systems and wireless sensor networks.

Vol-2 No 5 October, 2011