Sunteți pe pagina 1din 19

Dynamic Load Balancing Strategy for Grid Computing

CHAPTER 1 INTROUCTION
The term grid computing originated in the early 1990s as a metaphor for making computer power as easy to access as an electric power grid in Ian Foster's and Carl Kesselman's seminal work, "The Grid: Blueprint for a new computing infrastructure". The development of computational grids and the associated middleware has been actively pursued in recent years to deal with the emergence of greedy applications of large computing tasks and amounts of data. Managing such applications leads to some complex problems for which traditional architectures are insufficient. There are many potential advantages of use grid architectures, including the ability to solve large scale advanced scientific and engineering applications whose computational requirements exceed local resources, and the reduction of job turnaround time through workload balancing across multiple computing facilities. The main contributions of this are twofold. First we propose a tree-based model to represent grid architecture with the perspective of managing workload. This model is characterized by three main features: (1) Its hierarchical in order to minimize the load balancing computation overhead. (2) The model is based on a structure using a univocal transformation of any grid architecture into a tree, with at most four levels. (3) Its totally independent from any physical grid architecture. The second contribution, the load balancing algorithm which is layered in accordance with the strategy based on the above model. We seek to achieve load balancing that privilege workload neighborhood, to reduce amount of messages. Our strategy deals with a three layers algorithms (intra-site, intra-cluster and intra-grid).

Dept of ISE, KLECET, Chikodi

Page 1

Dynamic Load Balancing Strategy for Grid Computing

CHAPTER 2 Literature Survey


Workload and resource management are two essential functions provided at the service level of the grid software infrastructure. To improve the global throughput of these software environments, workloads have to be evenly scheduled among the available resources. To realize this goal several load balancing strategies and algorithms have been. Most strategies were developed in mind, assuming homogeneous set of sites linked with homogeneous and fast networks. However for computational grids main new issues must address, namely: heterogeneity, scalability and adaptability. Here it proposes a layered algorithm which achieves dynamic load balancing in grid computing Efficient job scheduling in grids is challenging due to the large number of distributed autonomous resources. Here we study various resource allocation policies in a 2-level grid system. A simulation model is used to evaluate performance of these policies at the grid level and at the local level. Grid level policies include cases where the grid scheduler uses site information (deferred policy), a random policy, and a combination of the two (hybrid). Simulation results indicate that the hybrid performs better regardless of the local policy. Resource Co-allocation is one of the crucial problems affecting the performance of the grid. In addition to this if the system load in each of nodes is nearly equal; it indicates good resource allocation and utilization. It is well known that load balancing is a key factor in developing parallel and distributed applications. Instead of balancing the load in grid by process migration, or by moving an entire process to a less loaded node, we make an attempt to balance load by splitting up processes into separated jobs and then balance them to nodes. To address the problem of load balancing, many centralized approaches have been in the literature but centralization has proved to raise scalability tribulations. So in order to get the target, we use mobile agents (MAs) to distribute load among nodes in the grid. Because a quick response time is necessary for need of users in real grid environment so a real time resource co-allocation is needed for such type of applications. So a parallel resource co-allocation using MA is in this seminar which not only balances the load on grid using architecture but also allocates the resources. It is concluded with the results of the experiments that parallel method not only reduces total execution time but also reduces overall response time small. Propose an optimal data migration algorithm in diffusive dynamic load balancing through the calculation of Lagrange multiplier of the Euclidean form of transferred weight. This work can effectively minimize the data movement in homogenous environments, but it does not consider the network heterogeneity. A large number of load balancing techniques and heuristics, presented in literature, target only homogeneous resources. However, modern computing systems, such as the computational Grid, are most likely to be widely distributed and strongly heterogeneous. Therefore, it is
Dept of ISE, KLECET, Chikodi Page 2

Dynamic Load Balancing Strategy for Grid Computing essential to consider the impact of these characteristics on the design of load balancing techniques A novel load balancing strategy to address the new challenges in Grid computing. Comparatively to the existing works, the main characteristics of our strategy are: (i) It is a fully distributed strategy, which allows solving bottleneck of the model. (ii) It uses a system-level load balancing. (iii) It privileges local tasks transfer than global ones, for the purpose of reducing communication costs induced by the task migration. A Grid load balancer receives applications from Grid users, selects feasible resources for these applications according to acquired information, and finally generates application-toresource mapping, on the basis of objective functions and predicted resource performance. Basically, a load balancing system can be generalized into four basic steps: (1) Monitoring resource load and state. (2) Exchanging load and state information between resources. (3) Calculating the new load distribution. (4) Updating data movement.

Dept of ISE, KLECET, Chikodi

Page 3

Dynamic Load Balancing Strategy for Grid Computing

CHAPTER 3 DYNAMIC LOAD BALANCING


3.1 Load Balancing Problem
This problem has been discussed in traditional distributed systems literature for more than two decades. Various strategies and algorithms have been, implemented and classified in a number of studies. Load balancing algorithms can be classified into two categories: static or dynamic. In static algorithms, the decisions related to load balance are made at compile time when resource requirements are estimated. Multicomputers with dynamic load balancing allocate/reallocate resources at runtime based on no a priori task information, which may determine when and whose tasks can be migrated. A good description of customized load balancing strategies for a network of workstations can be found in. More recently, Houle and al. Consider algorithms for static load balancing on trees, assuming that the total load is fixed. Contrary to the traditional distributed systems for which a of algorithms, few of which were focused on grid computing. This is due to the innovation and the specific characteristics of this infrastructure. Load balancing algorithms can be defined by their implementation of the following policies: Information policy: Specifies what workload information to be collected, when it is to be collected and from where. Information policy covers most issues related to the load information necessary for making load-balancing decisions. Information policy decides what information is collected, and when information about the states of other nodes is to be collected, and from which nodes. It is also responsible for the dissemination of each node load information. Load measurement rule Measuring the load of the various nodes in the system accurately is very important for the success of a load-balancing algorithm. Measuring the load of the nodes in a distributed system is an extremely difficult task. Usually, load is measured by a metric, the load index. A number of possible metrics have been studied in the past. These can be broadly divided into two main categories: simple and complex. Simple indices. They consider the load on only a single resource. This approach usually focuses on the load on the CPU. A simple load index includes processor queue length, average processor queue length over a given duration, the amount 19 of memory available, the context switch rate, the system call rate, and CPU utilization. Complex load indices. They consist of a number of metrics, each relating to a single resource, such as CPU, disk, memory and network. The metrics that make up the load index may be combined to give a
Dept of ISE, KLECET, Chikodi Page 4

Dynamic Load Balancing Strategy for Grid Computing single load value or may be represented as a tuple consisting of a number of elements, one per metric. The load index used in and MOSIX comprises the CPU load and the amount of free memory. San Luis uses a load index based on the performance-weighted CPU run-queue length, the amount of free memory, disk traffic level, and network traffic level. The memory requirements and the desired response-time of tasks are taken into account in scheduling decisions. Utopia uses a load index that incorporates: CPU run-queue length, available memory, disk transfer rate, the amount of swap disk-space available, and the number of concurrent users. LSF uses the same metrics as Utopia, with three additions: CPU utilization, paging rate, and the amount of idle time at processing nodes. Triggering policy: Determines the appropriate period to start a load balancing operation. Resource type policy: Classifies a resource as server or receiver of tasks according to its availability status. Location policy: Uses the results of the resource type policy to find a suitable partner for a server or receiver. The responsibility of location policy is to find a suitable transfer partner. Location policies can be distributed, each node selecting a transfer partner on the basis of locally held information. Location policy, corresponding to information policy, specifies the balancing domain for load-balancing actions; this could be global, nearest-neighbors, a group of random polled nodes, or a set or cluster of nodes based on specified criteria. Alternatively, policies can be devised using a central information source. Busy nodes attempt to locate transfer partners that have low load levels in sender-initiated schemes. In receiver-initiated schemes, low-loaded nodes attempt to locate a busy node from which to transfer work. Five typical policies are listed below. Random policies: A transfer partner is selected at random, and its load-state is ignored. This can result in useless task transfers when an already-busy node receives extra work, but has been shown to provide performance improvements over no-load-distribution. Lowest policies: Like threshold policies, lowest policies employ a threshold Lp. However, lowest policies differ from threshold policies in that it probes a group of nodes until a node with a zero load index is found, or until exactly Lp nodes have been probed. The lowest location policy is to select the probed node with the lowest load index as the execution site for the incoming job, provided that the load index at that node is less than a preset threshold value. Preferred list: Based on the topology of the system, each node orders all other nodes into a preferred list.

Dept of ISE, KLECET, Chikodi

Page 5

Dynamic Load Balancing Strategy for Grid Computing Selection policy: Defines the tasks that should be migrated from overloaded resources (source) to most idle resources (receiver). The role of selection policy is to select tasks for transfer. In sender-initiated schemes, busy nodes choose tasks to transfer to another node, whereas in receiver-initiated schemes, lightly loaded nodes inform potential senders of the types of task they are willing to accept. The policy determines how much load, or how many tasks, to transfer. A task transfer may be preemptive or non-preemptive. Preemptive transfers involve transferring a partially executed task. This is generally expensive, as it involves collecting all of the tasks state. Nonpreemptive-task transfers involve only tasks that have not begun execution and hence do not require a transfer of the task state. A node may be overloaded and have no tasks available for no preemptive transfer if it is polled by a receiver. A selection policy should consider at least three factors. The overhead incurred in transferring the task should be minimized. No preemptive transfers and small tasks (small amounts of information) carry less overhead. The execution time of the transferred task should be sufficient to justify the cost of the transfer. Even if task execution is unknown, it should be possible to classify the tasks as short or long tasks, and to consider only the long tasks for migration. Some classification errors might be tolerated as load-balancing algorithms are quite robust with regard to this parameter The number of location-dependent resources needed by the selected task should be minimal. Performance parameters

3.1.1

The main objective of load balancing methods is to speed up the execution of applications on resources whose workload varies at run time in unpredictable way. Hence, it is significant to define metrics to measure the resource workload. Every dynamic load balancing method must estimate the timely workload information of each resource. This is a key information in a load balancing system where responses are given to following questions: (i) How to measure resource workload? (ii) What criteria are retaining to define this workload? (iii) How to avoid the negative effects of resources dynamicity on the workload; and, (iv) How to take into account the resources heterogeneity in order to obtain an instantaneous average operation. Workload representative of the system? Several load indices have been in the literature, like CPU queue length, average CPU queue length, CPU utilization, etc. The success of a load balancing algorithm depends from stability of the number of messages (small overhead), support environment, low cost update of the workload, and short mean response time which is a significant measurement for a user. It is also essential to measure the communication cost induced by a load balancing.

Dept of ISE, KLECET, Chikodi

Page 6

Dynamic Load Balancing Strategy for Grid Computing 3.2 Problems Specific to grid computing The most load balancing algorithms were developed in mind, assuming homogeneous set of sites linked with homogeneous and fast networks. If this assumption is true in traditional distributed systems, it is not realistic in grid architectures because following properties that characterize them: Heterogeneity: A Grid involves multiple resources that are heterogeneous in nature and might span numerous administrative domains across a potentially global expanse. Scalability: A Grid might grow from few resources to millions. This raises the problem of potential performance degradation as the size of a Grid increases. Adaptability: In a Grid, a resource failure is the rule, not the exception. That means that the probability of some resources fail is naturally high. Resource managers must tailor their behavior dynamically so that they can extract he maximum performance from the available resources and services. These properties make the load balancing problem more complex than in traditional parallel and distributed systems, which offer homogeneity and stability of their resources. Also interconnected networks on grids have very disparate performances and tasks submitted to the system can be very diversified and irregular. These various observations show that it is very difficult to define a load balancing system which can integrate all these factors. Load balancing is usually described in the literature as either load balancing or load sharing. These terms are often used interchangeably, but can also attract quite distinct definitions.

Dept of ISE, KLECET, Chikodi

Page 7

Dynamic Load Balancing Strategy for Grid Computing

CHAPTER 4 SYSTEM ARCHITECTURE


Dynamic Load Balancing
Dynamic load balancing algorithms make changes to the distribution of work among nodes at run-time; they use current or load information when making distribution decisions.

Fig 4.1 Dynamic Load Balancing Dynamic load balancing algorithms are advantageous over static algorithms. But to gain this advantage, we need to consider the cost to collect and maintain the load information. Based on the study of load balancing techniques in Grid environment, a technique which dynamically balances the load. The rules generated by data mining techniques are used for migrating jobs for load balancing. Load balancing should take place when some change occurs in the load situation. There are some particular activities which change the load configuration in Grid environment which can be categorized as following: Arrival of any new job. Completion of execution of any job. Arrival of any new resource. Withdrawal of any existing resource.
Page 8

Dept of ISE, KLECET, Chikodi

Dynamic Load Balancing Strategy for Grid Computing Whenever any of above mentioned activities happens we have to retrieve the current load information and the initial load information from the database. System will compare them and generate specific rules to migrate the jobs, so jobs will be distributed optimally on all nodes. After the job migration database will be updated by this current load information. This kind of approach is advent to balance the load in Grid environment. Also with this kind of behavior using concept of unsupervised learning, we are able to decide a threshold value for each node, which will help to distribute the load at the initial level when this grid will be used in future. Data analysis is a practice in which raw data is ordered and organized so that useful information can be extracted from it. The process of organizing and thinking about data is a key to understanding what the data does and does not contain. There are a variety of ways in which people can approach data analysis, and it is notoriously easy to manipulate data during the analysis phase to push certain conclusions or agendas. For this reason, it is important to pay attention when data analysis is presented, and to think critically about the data and the conclusions which were drawn. In this algorithm, Data analysis module will compare previously stored parameters with current parameters of different nodes and generates rules, used for job migration. Rules generated by data analysis module contain heavily loaded and lightly loaded node information. This information will be used to balance load accordingly. Job migration refers to the process of moving a job from one node to another. This facilitates load balancing by moving jobs from a heavily-loaded host to a lightly-loaded host. Following is the algorithm for Dynamic Load Balancing: 1: BEGIN 2: Previous = initial status of all nodes on grid. 3: while Tasks > 0 do 4: if Change state = true then 5: Current = Get current state (); 6: New rule = generate rule (Current, Previous); 7: Threshold = generate threshold (Threshold, Newrule); 8: Migrate jobs (New rule); 9: Previous = Current; 10: end if 11: end while 12: END

Dept of ISE, KLECET, Chikodi

Page 9

Dynamic Load Balancing Strategy for Grid Computing Flow Diagram of system Dynamic Load Balancing:

Dept of ISE, KLECET, Chikodi

Page 10

Dynamic Load Balancing Strategy for Grid Computing Variables Used: Tasks: indicates no of jobs already running on grid. Type - integer Change state: indicates change in the state of load in grid. Type - Boolean Current: indicates current load status of all the nodes on grid. Type - structure of different parameters of grid. Previous: indicates load status of all nodes on grid before the change. Type - structure of different parameters of grid. New rule: indicates the rules decided for load distribution on grid. Type - structure of different parameters of node to transfer load. Threshold: indicates maximum limit of handling load for each node on a grid. Type - structure of arrays on different node and its threshold values. Methods used: Get current state (): Io get the current status of load on each node of grid. Generate rule (Current, Previous): To generate rules to balance change occurred in the load as per the current and previous status of the nodes. Generate threshold(Threshold, New rule) : To find out new threshold values of each nodes of grid for future using concept of data mining from old threshold and newly generated rules. Migrate jobs (New rule): to migrate jobs as per the newly generated rules. Algorithms: Notations: Notations used in the following algorithms are defined in as follows: Ck = kth cluster; Sjk = jth site of kth cluster; CEijk = ith computing element of jth site of kth cluster; Avrg= grid average load; 1) Intra-site load balancing algorithm: This algorithm is considered as the kernel of our load balancing strategy. It is executed when CEs managers find that there exists an imbalance between computer elements under their control. To make this report, the managers receive periodically local workload information from computing elements. Based on this information and on the Avrg of average grid workload, the managers analyze the workload of sites periodically. Depending on the result of this analysis, either they decide to start a local load balancing between CEs of the same site, or either they inform their manager site (cluster) that are currently overloaded.

Dept of ISE, KLECET, Chikodi

Page 11

Dynamic Load Balancing Strategy for Grid Computing 2) Intra-cluster load balancing algorithm: This algorithm is executed only when some CEs managers fail to balance locally the overload of their CEs. Knowing the global state of each site, the sites manager can evenly distribute the global overload between its sites. 3) Intra-grid load balancing algorithm: This third algorithm performs a global load balancing among all clusters of a grid. It is executed only if the other two levels are failed to achieve a complete load balance. It is significant to remark that at this level, the algorithm always succeeds load balancing all these clusters. It is thus useless to test if some clusters are still imbalanced.

4.1 Load Balancing Strategy Levels:


In accordance with the structure of model, the load balancing strategy is also hierarchical. Hence, we distinguish between three load balancing levels: 1) Intra-site load balancing: In this first level, depending on its current load, each site decides to start a load balancing operation. In this case, the site tries, in priority, to load balance its workload among its computing elements. 2) Intra-cluster load balancing: In this second level, load balance concerns only one cluster, Ck, among the clusters of a grid. This kind of load balance is achieved only if some sites Sjk fail to load balance its workload among their respective computing elements. In this case, they need the assistance of its direct parent, namely cluster Ck. 3) Intra-grid load balancing: The load balance at this level is used only if some clusters Cks fail to load balance their load among their associated sites. The main advantage of this strategy is to prioritize local load balancing first (within a site, then within a cluster and finally on the whole grid). The goal of this neighborhood strategy is to decrease the amount of messages between computing elements. As consequence of this goal, the overhead induced by our strategy is reduced. In terms of complexity, we can easily prove that the amount of messages is linear according to the number of computing elements.

Dept of ISE, KLECET, Chikodi

Page 12

Dynamic Load Balancing Strategy for Grid Computing

4.2 Tree Based Balancing Model


Tree Based Balancing Model In order to well explain our model, we first define the topological structure for a grid computing. 4.2.1 Grid Topology We suppose that a grid computing is a finite set of G clusters Ck, interconnected by gates gtk, k {0, ...,G 1}, where each cluster contains one or more sites Sjk interconnected by switches SWjk and every site contains some Computing Elements CEijk and some Storage Elements SEijk, interconnected by a local area network.

Fig 4.2.1 Grid Topology


Dept of ISE, KLECET, Chikodi Page 13

Dynamic Load Balancing Strategy for Grid Computing 4.2.2 Load balancing generic model In this model is based on an incremental tree. First, for each site we create a two-level sub tree. The leaves of this sub tree correspond to the computing elements of a site, and the root is a virtual node associated to the site. These sub tree, that correspond to sites of a cluster, are then aggregated to form a three-level sub-tree. Finally, these sub-trees are connected together to generate a four-level tree called load balancing generic model. This model is denoted by G/S/M, where G is the number of clusters that compose a grid, S the number of sites in the grid and M the number of Computing Elements. This model can be transformed into three specific models: G/S/M, 1/S/M and 1/1/M, depending on the values of G and S.

Fig 4.2.2 Load Balancing for Generic Model

Dept of ISE, KLECET, Chikodi

Page 14

Dynamic Load Balancing Strategy for Grid Computing The generic model is a non cyclic connected graph where each level has specific functions. Level 0: In this first level (top level of the tree), we have a virtual node that corresponds to the root of the tree. It is associated to the grid and performs two main functions: Manage the workload information of the grid; Decides, upon receiving tasks from users, where these tasks can be launched, based on the user requirements and the current load of the grid. Level 1: This level contains G virtual nodes, each one associated to a physical cluster of the grid. In our load balancing strategy, this virtual node is responsible to manage workload of its sites. Level 2: In this third level, we find S nodes associated to physical sites of all clusters of the grid. The main function of these nodes is to manage the workload of their physical computing elements. Level 3: At this last level (leaves of the tree), we find the M Computing Elements of the grid linked to their respective sites and clusters.

Dept of ISE, KLECET, Chikodi

Page 15

Dynamic Load Balancing Strategy for Grid Computing

CHAPTER 5 CHARACTERISTICS
The model is characterized by the following: It facilitates information flow through the Grid. We distinguish three types of information flows: 1) Ascending flow This flow is related to the workload information flow in order to get current workload status of Grid resources. 2) Horizontal flow It concerns the inputs used to perform load balancing operations. 3) Descending flow This flow conveys the load balancing decisions made by cluster managers to their corresponding resources. It supports heterogeneity and scalability of Grids: Connecting/disconnecting Grid resources correspond to adding/removing leaves or sub trees from the tree model. It is totally independent of any physical Grid architecture.

Dept of ISE, KLECET, Chikodi

Page 16

Dynamic Load Balancing Strategy for Grid Computing

CHAPTER 6 FEATURES
Features of the this model 1) It is hierarchical: This characteristic facilitates the information flow through the tree and well defines the message traffic in our strategy. 2) It supports heterogeneity and scalability of grids: Adding or removing entities (computing elements, sites or clusters) are very simple operations in our model (adding or removing nodes, sub tree). 3) It is totally independent from any physical architecture of a grid: The transformation of a grid into a tree is a univocal transformation. Each grid corresponds to one and only one tree. Dynamic Load Strategy features The strategy presents the following features: 1) It is an asynchronous strategy: Every worker node has its specific period during which it sends its information workload to the other nodes. 2) It is a distributed load balancing strategy: Insofar as several operations of load balancing can be started by using the local load information of Grid clusters. 3) It is a source initiative load balancing strategy: Inter-clusters load balancing is started by the overloaded clusters (source). 4) It reduces the communication cost: Since it gives the privilege, when it is possible, to a local load balancing to avoid the use of large scale communication network. In addition, the strategy starts a load balancing operation only if it is beneficial.

Dept of ISE, KLECET, Chikodi

Page 17

Dynamic Load Balancing Strategy for Grid Computing

CHAPTER 7 CONCLUSION
Here, we addressed the problem of load balancing in grid computing.In this a load balancing strategy based on a tree model representation of grid architecture. The model allows the transformation of any grid architecture into a unique tree with at most four levels. From this generic tree, we can derive three sub-models depending on the elements that compose a grid: one site, one cluster, or in the general case multiple clusters. Using this model, we defined a hierarchical load balancing strategy that gives priority to local load balancing within sites. The strategy leads to a layered algorithm which an prototype was implemented and evaluated on a grid simulator developed for the circumstance.

Dept of ISE, KLECET, Chikodi

Page 18

Dynamic Load Balancing Strategy for Grid Computing

REFERENCE
[1] E. Deelman A.Chervenak and al. High performance remote access to climate simulation data: a challenge problem for data grid technologies. In Proceeding. of 22th parallel computing, volume 29(10), pages 1335, 1997. E. Badidi. Architecture and services for load balancing in object distributed systems. PhD thesis, Faculty of High Studies, University of Montreal, Mai 2000. H.D. Karatza. Job scheduling in heterogeneous distributed systems. Journal. of Systems and Software, 56:203212, 1994. F. Berman, G. Fox, and Y. Hey. Grid Computing: Making the Global Infrastructure a Reality. Wiley Series in Communications Networking & Distributed Systems, 2003. D.L. Eager, E.D. Lazowska, and J. Zahorjan. Adaptive load sharing in homogeneous distributed systems. In IEEE Trans. on Soft. Eng., volume 12(5), pages 662675, 1986. http://www.gridcafe.org/, Francois Grey, Matti Heikkurinen, Rosy Mondardini, Robindra Prabhu. B. Yagoubi. Dynamic load balancing for Beowulf clusters. In Proceeding of the 2005 International Arab Conference On information Technology, pages 394401, Israa University, Jordan, December 6th 8th 2005. [15] M.J. Zaki, W. Li, and S. Parthasarathy. Customized dynamic load balancing for a network of workstations. In Proc. of the 5th IEEE Int. Symp. HDPC, pages 282291, 1996. World Academy of Science, Engineering and Technology 19 2006

[2] [3] [4] [5] [6] [7]

Dept of ISE, KLECET, Chikodi

Page 19

S-ar putea să vă placă și