Documente Academic
Documente Profesional
Documente Cultură
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).
Page 1
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.
Page 3
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.
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.
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.
Page 7
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
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
Page 9
Dynamic Load Balancing Strategy for Grid Computing Flow Diagram of system Dynamic Load Balancing:
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.
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.
Page 12
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.
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.
Page 15
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.
Page 16
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.
Page 17
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.
Page 18
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
Page 19