International Journal of Engineering Trends and Technology (IJETT) – Volume 8 Number 3- Feb 2014 Assesement on Grid Computing Using Priority Scheduler Nawneet Kumar Pandey1, Rajkumar Goel2, Mayank Kr. Maheshwari3 Abstract— Grid Computing has emerged as an important new field focusing on resource sharing. One of the most challenging issues in Grid Computing is efficient scheduling of tasks. Load Balancing is a technique to improve parallelism, utilization of resources increasing throughput managing and to reduce response time through proper distribution of the tasks. Generally there are three type of phases related to Load balancing i.e. Information Collection, Decision Making, Data Migration. In this paper, we propose a Load balancing algorithm for optimal scheduling. It scheduled the task by minimum completion time and rescheduled by waiting time of each task to obtain load balance. This algorithm scheme tries to provide optimal solution so that it reduces the execution time and expected price for the execution of all the jobs in the grid system is minimized. Load balancing algorithms is of two types, static and dynamic. Our algorithms in this paper based on dynamic nature. Keywords— Execution Cost, Resource Monitoring, Computational Grid, Load balancing, Priority scheduler. I. INTRODUCTION The rapid development in computing resources has enhanced the performance of computers and reduced their costs. This availability of low cost powerful computers coupled with the popularity of the Internet and high-speed networks has led the computing environment to be mapped from distributed to Grid environments [1]. In fact, recent researches on computing architectures are allowed the emergence of a new computing paradigm known as Grid computing. Grid is a type of distributed system which supports the sharing and coordinated use of geographically distributed and multi-owner resources, independently from their physical type and location, in dynamic virtual organizations that share the same goal of solving large-scale applications. In order to fulfill the user expectations in terms of performance and efficiency, the Grid system needs efficient load balancing algorithms for the distribution of tasks. A load balancing algorithm attempts to improve the response time of user’s submitted applications by ensuring maximal utilization of available resources. The main goal is to ISSN: 2231-5381 prevent, if possible, the condition where some processors are overloaded with a set of tasks while others are lightly loaded or even idle [2]. Although load balancing problem in conventional distributed systems has been intensively studied, new challenges in Grid computing still make it an interesting topic and many research projects are under way. This is due to the characteristics of Grid computing and the complex nature of the problem itself. Load balancing algorithms in classical distributed systems, which usually run on homogeneous and dedicated resources, cannot work well in the Grid architectures. Grid computing, individual users can retrieve computers and data, transparently, without taking into account the location, operating system, account administration, and other details. In Grid computing, the details are abstracted, and the resources are virtualized. Grid Computing should enable the job in question to be run on an idle machine elsewhere on the network [6] The main task of grid computing is the allocation of resources for a process; i.e., mapping of tasks to various resources. For example, mapping of 100 tasks into 20 resources produces 20^50 possible mappings. This is because every job can be mapped to any of the resources. In our case the allocation of jobs is in terms of reallocation which means depending on the status of resources either it is heavily loaded or not. Here resource means processors which are involved in the scheduling process. We used resources and processors simultaneously. The other complexity of resource allocation is the lack of accurate information about the status of the resources. Before scheduling the tasks in the grid environment, the characteristics of the grid should be taken into account. Some of the characteristics of the grid include Geographical distribution where the resources of grid may be located at distant places Heterogeneity, a grid consists of hardware as well as software resources that may be files, software components, sensor programs, scientific instruments, display devices, computers, supercomputers networks etc. Resource sharing, different organizations may own the resources of the grid http://www.ijettjournal.org Page 159 International Journal of Engineering Trends and Technology (IJETT) – Volume 8 Number 3- Feb 2014 Multiple administrations, each organization may establish different security and administrative policies to access their resources Resource coordination, to get combined computing capabilities, grid resources must be coordinated [4].Scheduling is highly complicated by the distributed ownership of the grid resources as Load balancing algorithm are two type static and dynamic, In the case of static scheduling, all the information regarding the tasks and resources such as execution time of the tasks, speed of the processor are available by the time the application is scheduled. In this type of Scheduling, it is easy to program from the scheduler‟s point of view. But in the case of dynamic scheduling, the execution time of the tasks may not be known due to the direction of branches, number of iterations in the loop etc. So, the task has to be allocated on the fly as the application executes. Both static and dynamic scheduling are widely adopted in the grid. Here, system need not be aware of the run time behavior of the application before execution and dynamic load balancing algorithms distributes the tasks among workstations at run-time; they use current or recent load information when making distribution decisions of tasks. 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 [7]. As a result, dynamic load balancing algorithms can provide a major improvement in performance over static algorithms. However, this comes at the additional cost of collecting and maintaining load information, so it is important to keep these overheads within reasonable limits [8]. There are three major parameters which usually define the strategy a specific load balancing algorithm will employ [9]. These three parameters answer three important questions: Who makes the load balancing decision? What information is used to make the load balancing decision, and our study is to consider factors which can be used as characteristics for decision making to initiate Load Balancing. Load Balancing is one of the most important factors which can affect the performance of the grid application. This thesis work analyzes the existing Load Balancing modules and tries to find out performance bottlenecks in it. All Load Balancing algorithms implement five policies [7]. The efficient implementation of these policies decides overall performance of Load Balancing algorithm. The main objective of this thesis is to propose an efficient Load Balancing Algorithm for Grid environment. Main difference between existing Load Balancing algorithm and proposed Load Balancing is in implementation of three policies: Information Policy, Triggering Policy and Selection Policy. For implementation of Information Policy all existing Load Balancing algorithm use periodic approach, which is time consuming. The proposed approach uses activity based approach for implementing Information policy. For Triggering Load Balancing proposed algorithm uses two parameters which decide Load Index. On the basis of Load Index Load Balancer decide to activate Load Balancing process. For implementation of Selection Policy Proposed algorithm uses Job length as a parameter, which can be used more reliably to make decision about selection of job for migration from heavily loaded node to lightly loaded node. As a result the following things have been addressed in this paper: Where the load balancing decision is made. 2. PROBLEM STATEMENT • Study of existing Load Balancing algorithm for a Grid environment In grid environments, the shared resources are dynamic in nature, which in turn affects application performance. 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 environments, effective and efficient load balancing algorithms are fundamentally important. The focus of • A Load Balancing algorithm has been proposed and executed in the simulated Grid environment. ISSN: 2231-5381 This thesis aims is to design and development of a performance efficient Load Balancing algorithm which overcomes the shortcomings of the current state of the art in the context. http://www.ijettjournal.org Page 160 International Journal of Engineering Trends and Technology (IJETT) – Volume 8 Number 3- Feb 2014 3. PROPOSED ALGORITHM LOAD BALANCING be categorized as following: Load balancing is defined as the allocation of the work of a single application to processors at run-time so that the execution time of the application is minimized. This chapter is going to discuss the design of proposed Load Balancing algorithm. 3.1 Background The choice of a load balancing algorithm for a Grid environment is not always an easy task. Various algorithms have been proposed in the literature, and each of them varies based on some specific application domain. Some load balancing strategies work well for applications with large parallel jobs, while others work well for short, quick jobs. Some strategies are focused towards handling data-heavy tasks, while others are more suited to parallel tasks that are computation heavy. While many different load balancing algorithms have been proposed, there are four basic steps that nearly all algorithms have in common: o Monitoring workstation performance (load monitoring) o o Exchanging this information workstations (synchronization) Actual data movement (job migration) Efficient Load Balancing algorithm makes Grid Middleware efficient and which will ultimately leads to fast execution of application in Grid environment. In this work, an attempt has been made to formulate a decentralized, sender-initiated load balancing algorithm for Grid environments which is based on different parameters. One of the important characteristics of this algorithm is to estimate system parameters such as queue length and CPU utilization of each participating nodes and to perform job migration if required. OF LOAD BALANCING Load balancing should take place when the load situation has changed. There are some particular activities which change the load configuration in Grid environment. The activities can ISSN: 2231-5381 o Completion of execution of any job. o Arrival of any new resource o Withdrawal of any existing resource. 4.1PROPOSED ALGORITHM FOR RESOURCE ALLOCATION IN GRID COMPUTING PRIORITY SCHEDULAR (P S) MODEL : Let M is the number of process in process queue ‘Pq’ is indicated byP2 … Pm between Calculating new distributions and making the work movement decision (rebalancing criteria) 4. DESIGN ALGORITHM Arrival of any new job and queuing of that job to any particular node. Whenever any of these four activities happens activity is communicated to master node then load information is collected and load balancing condition is checked. If load balancing condition is fulfilled then actual load balancing activity is performed. Following is the proposed algorithm for Load Balancing: P1 o o Process are allocated to N number of Resources queue ‘Rq’ resources queueR1 R2 …. Rn Resource queue is maintained according to the priority of the resources as given below: The resources which have low loading factor have assigned a higher priority and which have high loading factor have assigned a lower priority. Then we can find the overall cost process execution in terms of timeLet t1, t2, t3………..tn are the time of execution of individual process. Let T(Pi, Rj) be the total cost for ith process in jth resources can be calculated asm n m n Σ Σ T(Pi, Rj)=Σ Σ ti×PR+ CT I=0 J=0 I=0 J=0 Where ti is the execution time of process PR= Priority Number CT= Communication Time http://www.ijettjournal.org Page 161 International Journal of Engineering Trends and Technology (IJETT) – Volume 8 Number 3- Feb 2014 Load factor of a given resource is calculated as: Algorithm for finding load factor: In this algorithm we are assuming that all recourses are free i.e. there are currently no process is running when we start Load _Factor algorithm – 4.2 Function StartLoad Factor () { // Initialize load factor algorithm Shows priority VS. Load factor Step1. Initialize the process_queue ‘Pq’ And resources_queue ‘Rq’ Pseudo Code Related To Load Balancing Algorithm Priority Scheduler (PS) – Function LB_Start { Start Call Load_ Factor () Step1. If (Priority of resources is Maximum and CPU queue length is Maximum) Then load factor is maximum Heavily loaded_Resources End if Step2. Loop Begin For every resources i=1 to n Step3. Set the load factor of every resource is Ri =0 Step4. Set the priority of every resource is 1 And insert the resources in a priority Queue Loop End Step5. For every process in process queue ‘Pq’ Step2. If ( Priority of resources is minimum and CPU queue length is minimum) Then load factor is minimum Lightly loaded_Resources End if Step6. Assign the process to the resources which is in the FRONT of the priority queue Step7. Update the priority of resources in ‘Rq’ SET Rp=Rp+1 Step3. Migrate the process from Heavily loades_resources to lightly loaded_resources End of the algorithm } 4.3 Functions used in the above algorithm are:- Step8. When the process execute successfully then the priority of resource decrease by 1 By SETTING Rp=Rp-1 End of the for loop } Condition_ happens (): In the load factor algorithm we are setting the load factor of each resources is zero and priority of each resources is one because there is no process for execution. As the process arrives the load factor of resources increased and priority of resources decrease i.e. the right arrow indicate increase of load factor and left arrow indicate the decrease of priority. This can be shown in the following figure 5.1 ISSN: 2231-5381 This function return Binary value 0 and 1. If any of above defined condition is true it returns 1 otherwise it returns 0. Load Balancing_Start (): This function also return Binary Value on the basis of given parameters (Resource priority and queue length) load balancing will be required it will return 1 else it will return 0. This function also updates two http://www.ijettjournal.org Page 162 International Journal of Engineering Trends and Technology (IJETT) – Volume 8 Number 3- Feb 2014 lists: HeavilyLoaded_Resource list and LightlyLoaded_Resource list. In the proposed algorithm information is collected only if there is a change in configuration of Grid. This information is used to perform load balancing. Above is the flow diagram of algorithm. First of all it initializes different parameters. Whenever any of four activities which are required to start information policy of load balancing occurs, it starts collecting load balancing information. Once information has been gathered then it is decided that load balancing is required or not. For this purpose application uses CPU utilization and queue length parameters. With help of these parameters we decide which resource is heavily loaded and which resource is lightly loaded. After selection of resource the application selects job out of n-jobs running on that resource. This selection is based upon on CPU consumption of different jobs. Least CPU consumed job will be selected for migration. When job is selected, application checks for available lightly loaded resource. If lightly loaded resource is available then migrate selected job from heavily loaded resource to lightly loaded resource. If no lightly loaded resource is available then add selected job to pending job list. This job will be executed later when some lightly loaded resource will be available. Finally all the value will be updated in database. Additionally, it supports check pointing, whereby a disk image of an active process is stored on the workstation in order to facilitate both fault tolerance and process migration. technique to achieve a high throughput and high resource utilization. 5. CONCLUSION we have presented the design the new scheduling algorithm Priority Scheduler. Our proposed Priority scheduler completed a task by using highly utilized low cost resources with minimum computational time. Our scheduling algorithm uses the priority queue of resources to achieve a higher throughput. This algorithm is performing better for task in real environment. However, in all situations, the proposed algorithms perform better then the some existing ones. But grid application performance remains a challenge in dynamic grid environment. Resources can be submitted to Grid and can be withdrawn from Grid at any moment. This characteristic of Grid makes Load Balancing one of the critical features of Grid infrastructure We implement the above algorithm by using Gridsim toolkit. we can hybrid the Priority Scheduler with any evolutionary scheduling algorithm like Genetic algorithm, Particle Swarm Optimization 6. FUTURE DIRECTIONS ISSN: 2231-5381 But grid application performance remains a challenge in dynamic grid environment. Resources can be submitted to Grid and can be withdrawn from Grid at any moment. This characteristic of Grid makes Load Balancing one of the critical features of Grid infrastructure. There are a number of factors, which can affect the grid application performance like load balancing, heterogeneity of resources and resource sharing in the Grid environment. In this thesis we have focused on Load Balancing and tried to present the impacts of Load Balancing on grid application performance and finally proposed an efficient Load Balancing algorithm for Grid environment. Every Load Balancing algorithm implements five policies. The efficient implementation of these policies decides overall performance of Load Balancing algorithm. In this work we analyzed existing Load Balancing algorithm and proposed an enhanced algorithm which more efficiently implements three out of five policies implemented in existing Load Balancing algorithm. These three policies are: Information Policy, Triggering Policy and Selection Policy. Proposed algorithm is executed in simulated Grid environment. Load Balancing is one of most important features of Grid Middleware for efficient execution of compute intensive applications. The efficiency of Load Balancing Module overall decides the efficiency of Grid Middleware. The work performed in this Project can be used as the basis for an improved load balancing module in Condor. This not only improves the performance of grid application but also makes it more powerful, reliable and capable of handling more complex and large problems in Grid environment. A further extension to this work would be in making this Load balancing Module a middleware independent module. References 1. Clovis Chapman1, Paul Wilson2 (2004) ‘Condor services for the Global Grid: Interoperability between Condor and OGSA’ Proceedings of the UK e-Science All Hands Meeting, ISBN 1-904425-21-6, pages 870877, Nottingham, UK. 2. I. Foster, C. Kesselman, and S. Tuecke. (2001) ‘The anatomy of the Grid: Enabling scalable virtual organization’ International http://www.ijettjournal.org Page 163 International Journal of Engineering Trends and Technology (IJETT) – Volume 8 Number 3- Feb 2014 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Journal of Supercomputer Applications. Jean-Christophe Durand (2004) ‘Grid Computing a Conceptual and Practical Study’ Proceeding of the Fifth IEEE Workshop on Grid Computing (GRID’04). Kai Lu, Riky Subrata and Albert Y. Zomaya (2002) ‘An Efficient Load Balancing Algorithm for Heterogeneous Grid Systems considering Desirability of Grid Sites’ Sydney, Australia. L. Xiao, Z. Xu. and X.Zhang (2003) ‘Lowcost and reliable mutual anonymity protocols in peer-to-peer networks’ IEEE Transactions on Parallel and Distributed Systems, 14(90): 829-840. Rajkumar Buyya (1999) ‘Grid Computing and Distributed Systems (GRIDS) Lab’, Australia. Ratnesh Kumar Nath, Seema Bawa, Inderveer Chana (2007) ‘Load Balancing Issues in Grid Environment’ National Seminar on Recent Advancement in Information Technology (RAIT) organized by Indian School of Mines, Dhanbad . Ratnesh Kumar Nath, Seema Bawa, Inderveer Chana (2007) ‘“Load Balancing in Grid Environment: Strategies, Algorithms and Policies’ National Symposium on Security and Soft Computing (NSSC) organized by National Institute of Technology, Surat. F. Azzedin and M. Maheswaran (2002) ‘Evolving and managing trust in grid computing systems’ In IEEE Canadian Conference on Electrical and Computer Engineering (CCECE), pages 1424-1429. Moreno Marzolla, Paolo andreetto, Valerio Venturi, Andrea Ferraro, and Shiraz Memon et al.(2007) ‘Open standards based interoperability of job submission and management interfaces across the grid middleware platform’ In Proceedings of the Third IEEE International Conference on eScience and Grid Computing, Pages 592-601. Heinz Stockinger (2007) ‘Defining the grid: a snapshot on the current view’ The Journal of Supercomputing, (1): 3-17. I. Foster, et al (2002) ‘The Physiology of the Grid: An Open GridServices Architecture for Distributed Systems Integration’ GlobusResearch Work in Progress. C. Mattmann, et al.(2006) ‘A software Architecture-Based Framework for Highly Distributed and Data Intensive Scientific Applications’ In Proceeding of the ICSE. 2006. ISSN: 2231-5381 14. Czalkowski. K., Fitzgerald S., Foster I. and Kesselamn C. (2001)‘Grid Information Services for Distributed Resource Sharing’, In10th IEEE International Symposium on High Performance Distributed Computing, IEEE Press, 181-184. 15. Czalkowski. K., Fitzgerald S., Foster I. and Kesselamn C. (1998)‘A Resource Management Architecture for Meta computing Sys.’ In4th Workshop on Job Scheduling Strategies for Parallel Processing, Springer-Verlag, 1998, 62-82. 16. Foster, I., Kesselman, C., Nick, J.M. and Tuecke, S. (2002) ‘Grid Services for Distributed Systems Integration’ IEEE Computer, 35 (6). 2002 17. Foster, I., Kesselman, C., Tsudik, G. and Tuecke, S. (1998) ‘ASecurity Architecture for Computational Grids’ In ACM Conference on Computers and Security, 1998, 83-91. http://www.ijettjournal.org Page 164