International Journal of Engineering Trends and Technology (IJETT) – Volume 4 Issue 8- August 2013 An Effective Dynamic Load Balancing Algorithm for Grid System Prakash Kumar#1, Pradeep Kumar#2, Vikas Kumar*3 1,2 3 Department of CSE, NIET, MTU University, Noida, India Linux Administrator, Eurus Internetworks Pvt. Ltd, Delhi, India Abstract— Grid computing is a promising technology that involves coordinate and involvement of resources to carry out multifarious computational problems. One of the major issues in distributed systems is to design of an efficient dynamic load balancing algorithm that improves the overall performance of the distributed systems. Scheduling and resource management plays a decisive role in achieving high utilization of resources in grid computing environments. Load balancing is the process of distributing the load among various nodes of a distributed system to improve both job response time and resource utilization while also avoiding a situation where some of the nodes are heavily loaded while other nodes are idle or lightly loaded. The GridSim toolkit allows modeling and simulation of entities in parallel and distributed computing systems-users, applications, resources, and resource schedulers for design and evaluation of scheduling algorithms. Keywords— Grid computation, Dynamic Load balancing, Scheduling, Cluster, Throughput, GAP Search I. INTRODUCTION Grid technologies develop quickly on Internet, research related to resource allocation and task scheduling faces new opportunities and challenges [3]. A computational grid is less expensive than purchasing more computational resources while obtaining the same amount of computational power for their computational tasks [2]. 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 [1]. Grid resources are distributed geographically in a large-scale way and resource performance changes quickly over time. Grid tasks from users require resources with different QoS requirements [5]. Dynamic load balancing algorithms can be classified into three categories: Sender Initiated (SI), Receiver Initiated (RI), and Periodically Exchanged (PE). In the SI algorithms, a heavily loaded node initiates the load balancing by requesting the load information of other nodes ISSN: 2231-5381 and sending out its jobs to the lightly loaded nodes [17]. The load balancing algorithm can be divided into two kinds, centralized and distributed, by the decision information acquisition range. In a centralized load-balancing algorithm, the global load information is collected at a single processor, called the central scheduler. This scheduler will make all the load balancing decisions based on the information that is sent from other processors. In decentralized load-balancing, each processor in the system will broadcast its load information to the rest of the processors so that locally maintained load information tables can be updated [9]. Almost all scheduling strategies in distributed systems depend on load status and locations of the system nodes [10]. Grid architecture is protocol architecture, with protocols defining the basic mechanisms by users and resources negotiate, establish, manage and exploit sharing relationships. Grid architecture is also a services standards based open architecture that facilitates extensibility, interoperability, portability and code sharing. GridLevel consists of a collection of interconnected clusters. II. PREVIOUS WORK Load balancing algorithms is totally dependent upon in which situations workload is assigned, during compile time or execution time. dynamic load balancing algorithms are always better than static as per as overload rejection, reliability, adaptability, cooperativeness, fault tolerant, resource utilization, response & waiting time and throughput is concert [12]. With increasing number of nodes in the system due to large number of resources used by user the previous load balancing algorithms failed to perform efficiently to provide greater performance with efficient work distribution [13]. The symmetrically initiated algorithm generally works better holds true for almost all cases [16]. The use of a central scheduler was also effective as it can handle all load-balancing decisions with minimal inter processor communication [9]. The portability of the method for different kinds of applications http://www.ijettjournal.org Page 3713 International Journal of Engineering Trends and Technology (IJETT) – Volume 4 Issue 8- August 2013 with different kinds of meshes, and the number of parameters that must be set to obtain optimal performance from the method [8]. Each processor can send tasks to any of its neighboring processors without having any prior knowledge of the system [6]. There are several heuristics algorithms have been proposed to minimize the total completion time of the tasks in grid systems [4]. III. DYNAMIC LOAD BALANCING A Load balancing is one of the most important problems in attaining high performance in distributed systems which may consist of many heterogeneous resources connected via one or more communication networks [7]. Load balancing is a technique to enhance resources, utilizing parallelism, exploiting throughput improvisation, and to reduce response time through an appropriate distribution of the application. Load balancing algorithms are defined by two types such as static and dynamic load balancing algorithms to allocate the tasks of a parallel program to workstations [1]. Design objective able to dynamically regulate task allocation to each processor according to changes in the system load, optimize the utilization of processor resources. Minimize the effect on the working performance of the processor. The node processor in the algorithm is defined into the four states as follows: Heavy load, Light load, Busy, No load [17]. Figure 1: Different status of Nodes Load balancing for a parallel system is one of the most important problems which has to be solved in order to enable the efficient use of parallel computer systems. This problem can be compared to problems arising in natural work distribution processes like that of scheduling all tasks needed to construct a large building. Several objectives have to be taken into consideration: i. The whole work should be completed as fast as possible. ii. The work should be distributed fairly. About the same amount of work should be assigned to every worker. iii. As workers are very expensive, they should be kept busy. If there is only little work to do, the distribution of the tasks has to be planned very well. iv. There are precedence constraints between different tasks. The goal here is to minimize the execution time of a single application running in parallel. ISSN: 2231-5381 Figure 2: Dynamic Load balancing to avoid overload on heavily loaded node Load balancing can be achieved through static load partitioning and dynamic load balancing policies for clusters of heterogeneous multiprocessors. In static load partitioning policies, the amount of work assigned to a processor is proportional to its processing capacity and remains the same throughout the duration of the job. As shown in Figure 2, initially processes are stored in queue or process can be allotted as they arrive. If these are placed in queue, processes are allotted one by one to primary nodes. Processes are migrated from heavily loaded node to light weighted node [11]. The circumstances determining the optimal balance change frequently or continuously during execution, so that the cost of the load balancing calculation after each change should be minimized in addition to optimizing the splitting of the actual calculation [8]. IV. LOAD BALANCING ALGORITHMS According to the location policy decentralized algorithm is classified into sender-initiated algorithms, receiver-initiated algorithms and symmetrically-initiated algorithms. A. Sender-Initiated Algorithm: Sender initiated algorithms let the heavily loaded nodes take the initiative to request the lightly loaded nodes to receive the jobs .There are three basic decisions that need to be made before a transfer of a job can take place: i. Transfer policy: When does a node become the sender? ii. Selection policy: How does a sender choose a job for transfer? iii. Location policy: What node should be the target receiver? A sender can use a transfer policy that initiates the algorithm when detecting that its queue length (SQ) has exceeded a certain threshold (ST) upon the arrival of a new job. http://www.ijettjournal.org Page 3714 International Journal of Engineering Trends and Technology (IJETT) – Volume 4 Issue 8- August 2013 receiver-initiated algorithm when its queue size falls below another threshold RT [16]. Figure 3: Flowchart of Sender-Initiated Algorithm Upon receiving this information, the sender can select the node with the smallest queue length (RQ) as the target receiver, provided that the queue length of the sender (SQ) is greater than the queue length of the target receiver (RQ) [16]. B. Receiver-Initiated Algorithm: Receiver initiated algorithms let the lightly loaded nodes invite heavily loaded nodes to send their jobs. It can use a similar transfer policy of the sender-initiated algorithm, which activates the pull operation when its queue length falls below a certain threshold (RT), upon the departure of a job. V. PROBLEM STATEMENT Grid Computing should enable the job in question to be run on an idle machine elsewhere on the network. Grids functionally bring together globally distributed computers and information systems for creating a universal source of computing power and information. Multicomputer with dynamic load balancing allocate or reallocate resources at runtime based on task information, which may determine when and whose tasks can be migrated [1]. The case if central node is out of order then at that moment over all load balancing algorithms is fail. Static load balancing algorithms allocate the tasks of a parallel program to workstations based on either the load at the time nodes are allocated to some task, or based on an average load of our workstation cluster. In order to utilize these dynamic resources and jobs optimally, a scheduling strategy should be able to continually adapt to the changes and properly distribute the workload and data amounts scheduled to each node. VI. PROPOSED METHODOLOGY There are two types of node- Primary and supporting nodes. Primary are main nodes and supporting are used to handle overload. When a Primary Node is overloaded, it will search other primary node (light weighted) within a cluster if such node is found; overloaded primary node will maintain the load balancing with available primary node [11]. Algorithm Initialization: N number of tasks that have to be scheduled and workload wt(x) of tasks are submitted to M number of processors. Task Scheduling: Scheduler allocates number of demanded tasks to M number of processors based on fair completion time of each task. Figure 4: Flowchart of Receiver-Initiated Algorithm Similarly multicasting can be used to implement the location policy that identifies. On average the receiverinitiated algorithm performs better than the sender-initiated algorithm [16]. C. Symmetrically- Initiated Algorithm: Symmetrically initiated algorithms combine the advantages of both sender and receiver initiated algorithms. A node can activate the sender initiated algorithms when its queue size exceeds one threshold ST, and can activate the ISSN: 2231-5381 http://www.ijettjournal.org Page 3715 International Journal of Engineering Trends and Technology (IJETT) – Volume 4 Issue 8- August 2013 and can be determined as: CPU utilization, CPU speed and queue length. The load index is determined dynamically and the weighted sum of squares method is used to calculate the load at each computing node. New resources may join the Grid and on the other hand, some resources may become unavailable. Resource managers must tailor their behaviour dynamically so that they can extract the maximum performance from the available resources and services. Grid architecture identifies the fundamental system components, specifies purpose and function of these components, and indicates how these components interact with each other. The distribution of tasks is dynamically determined, that is, the specific application program running on the machine cannot be developed with a priori estimates of the load distribution [14]. Dynamic load distribution systems typically monitor the workload and hosts for any factors that may affect the choice of the most appropriate assignment and distribute jobs accordingly. This very difference between static and dynamic forms of load distribution is the source of the power and interest in dynamic load distribution [15]. VII. EXPERIMENTAL RESULTS Through simulation experiments, it is seen that the SenderInitiated Load Balancing algorithm provides shorter response Figure 5: Flowchart of the Algorithm Load Balancing Algorithm: It applied when the processor task allocation is excessive than the other after scheduling the task. Balancing criterion: Rescheduled the task for upper bound and lower bound processor based on Wt(x). Termination: This process is repeated until all the processor is balanced. Finally, obtain the optimal solution from the above process. Based on the study of load balancing techniques in Grid environment, we will propose a technique which dynamically balances the load. The rules generated by data mining techniques will be used for migration of jobs for load balancing. Load balancing will take place when some change occurs in the load situation. An efficient load balancing algorithm namely Sender-Initiated Load Balancing (SI-LB) for grid will be presented where the availability of jobs and resources is dynamic. Based on the load information SI-LB chooses most suitable node for each job, thereby minimizing job execution time and maximizing system throughput. Load information, generally defined in term of load index is necessary condition of SI-LB algorithm. The load at each computing node contributes to the overall load of the cluster ISSN: 2231-5381 Figure 6: The number of requested and used CPUs in previous algorithm time, enhances the resource utilization and balances the load in an effective manner. http://www.ijettjournal.org Page 3716 International Journal of Engineering Trends and Technology (IJETT) – Volume 4 Issue 8- August 2013 improvement in global throughput need, effective and efficient load balancing are fundamentally important. We also check that what type of scheduling policy is used by that algorithm, because an efficient scheduling policy can utilize the computational resources efficiently by allowing multiple independent jobs to run over a network of heterogeneous clusters. The experimental result shows the better performance of proposed algorithm and for future work we can enhance it with more effective resource utilization using better scheduling approach. Figure 7: The number of requested and used CPUs in proposed algorithm For simulating the result, we used GridSim toolkit which is a Grid simulator toolkit that provide a comprehensive facility for the simulation of different classes of heterogeneous resources, users, applications, resource brokers, and schedulers. It has facilities for the modelling and simulation of resources and network connectivity with different capabilities, configurations, and domains. ACKNOWLEDGMENT Would like to place on record my deep sense of gratitude to Dr. Prashant Singh, HOD, NIET, Greater Noida; who introduced me to Linguistics, and whose enthusiasm for the “underlying structures” had lasting effect. Without his guidance and persistent help this dissertation would not have been possible. I am extremely thankful to Prof. Ajay Kumar, Dean, NIET, Greater Noida, for providing me infrastructural facilities to work in, without which this work would not have been possible. REFERENCES [1] [2] [3] [4] [5] [6] [7] [8] [9] Figure 8: Comparison of the Cluster user per hour in a day The experimental result shows the comparison with respect to the number of requested and used CPUs in previous algorithm and proposed algorithm and it is seen that proposed algorithm is better as shown in the Figure 6 and Figure 7. Figure 8 shows the improvement of the cluster usage per hour [%] in a day. VIII. CONCLUSIONS AND FUTURE SCOPE Workload and resource management are two essential functions provided at the service level of the Grid system. To ISSN: 2231-5381 [10] [11] [12] [13] V.P Narkhede, S.T. Khandare, "Fair Scheduling Algorithm with Dynamic Load Balancing Using in Grid Computing", International Journal of Engineering and Science, Volume 2, Issue 10, April 2013. U. Karthick Kumar, "A Dynamic Load Balancing Algorithm in Computational Grid Using Fair Scheduling", International Journal of Computer Science Issues, Volume 8 ,Issue 5, September 2011. Bin Lu, Hongbin Zhang, "Grid Load Balancing Scheduling Algorithm Based on Statistics Thinking",9th International Conference for Young Computer Scientists,IEEE,2008. Fahd Alharbi, "Simple Scheduling Algorithm with Load Balancing for Grid Computing", Asian Transactions on Computers, Volume 2, Issue 2, May 2012. Junwei Cao, Daniel P. Spooner, Stephen A Jarvis, Graham R. Nudd, "Grid Load Balancing Using Intelligent Agents", ACM, Volume 21, Issue 1, January 2005. C. Barmon, M.N. Faruqui, G.P. Battacharjee, "Dynamic Load Balancing Algorithm in a Distributed System", Elsevier, Volume 29,Issue 5, March 1991. Satish Penmatsa, Anthony T. Chronopoulos, "Dynamic Multi-User Load Balancing in Distributed Systems", IEEE, 2007. Roy D. Williams, "Performance of Dynamic Load Balancing Algorithms for Unstructured Mesh Calculations", Concurrent Supercomputing facilities, June 1990. Albert Y. Zomaya, Yee-Hwei Teh, "Observation on Using Genetic Algorithms for Dynamic Load Balancing", IEEE, Volume 12, Issue 9, September 2001. Ahmad Dalal'ah, "A Dynamic Sliding Load Balancing Strategy in Distributed Systems", The International Arab Journal of Information Technology, Volume 3, Issue 2, April 2006. Parveen Jain, Daya Gupta, "An Algorithm for Dynamic Load Balancing in Distributed Systems with Multiple Supporting Nodes by Exploiting the Interrupt Service", International Journal of Recent Trends in Engineering, Volume 1, Issue 1, May 2009. Abhijit A. Rajguru, S.S. Apte, "A Comparative Performance Analysis of Load Balancing Algorithms in Distributed System using Qualitative Parameters", International Journal of recent Technology and Engineering, Volume 1, Issue 3, August 2012. Urjashree Patil, Rajashree Shedge, "Improved Hybrid Dynamic Load Balancing Algorithm for Distributed Environment", International http://www.ijettjournal.org Page 3717 International Journal of Engineering Trends and Technology (IJETT) – Volume 4 Issue 8- August 2013 [14] [15] [16] [17] Journal of Scientific and Research Publications, Volume 3, Issue 3, March 2013. Bhaskar Ghosh, S. Muthukrishnan, "Dynamic Load Balancing in Parallel and Distributed Networks by Random matching", ACM, May 1994. Rose Suleiman, Al Dahoud Ali, Issa Otoum, "Dynamic Rotating Load Balancing Algorithm in Distributed Systems", International Conference on Information technology and Natural Sciences, 2003. Toufik Taibi, Abdelouahab Abid, Engku Fariez Engku Azahan ,"A Comparison of Dynamic load Balancing Algorithms", J.J Appl. Science, Volume 9, Issue 2, 2007. Mohammad Haroon, Mohammad Husain, "Analysis of a Dynamic Load Balancing in Multiprocessor System", International Journal of Computer Science engineering and Information Technology Research, Volume 3, Issue 1, March 2013. BIBLIOGRAPHY Prakash Kumar The author pursuing his M.tech in Computer Science and Engineering from Mahamaya Technical University, Noida. He has completed his Bachelor of Engineering in Computer Science and Engineering from Rajasthan University with HONS division. He has industrial experience of 2 years as a Software Engineer. The author is working as Asst. Professor in Computer Science and Engineering department at Noida Institute of Engineering and technology. He has completed his M.tech from BIT, Mesra and currently pursuing his PHD. He has 8 years working experience. Vikas Kumar The author is working as Linux Administrator at Eurus Internetworks Pvt. Ltd, Delhi and having 3 year experience. He has completed his Bachelor of technology from Rajasthan Technical university in 2010. He has got certified in Red Hat Linux 5. Pradeep Kumar ISSN: 2231-5381 http://www.ijettjournal.org Page 3718