Grid Scheduling with buddy-based resource discovery Mahmoud Naghibzadeh Javad Hamidzadeh Dept. of Computer Engineering Dept. of Computer Engineering Ferdowsi University Ferdowsi University Mashhad, Iran Mashhad, Iran naghibzadeh@um.ac.ir Ja_ha47@stu-mail.um.ac.ir Saied Abrishami Abdolreza Savadi Dept. of Computer Engineering Dept. of Computer Engineering Ferdowsi University Ferdowsi University Mashhad, Iran Mashhad, Iran s-abrishami@um.ac.ir savadi@ferdowsi.um.ac.ir Abstract—Vast majority of computer users are generously willing to share their computer resources with needy organizations and individuals to solve their computational, data storage, and communicational problems. The recently emerging Grid technology is providing the required platform for the coordinated resource sharing and problem solving among individual computer users as well as dynamic multi-institutional virtual organizations. Resource discovery is a preliminary step towards distribution of work load to resources in order to reach the required quality of service, for example, to minimize the completion time of tasks. In this research we have introduced a buddy-based resource discovery technique. Two, or more devices, are buddies if one can be used in place of the other, whenever the former is unavailable or it is so busy that by waiting for it the required quality of service will not be achieved. The simulation results of the proposed technique showed that buddy-based resource discovery is a promising approach. I. INTRODUCTION Vast majority of computer users are generously willing to share their computer resources with needy organizations and individuals to solve their computational and communicational problems. It is up to the field's specialists to make this sharing pleasant, safe, efficient, and economical to both parties. The recently emerging Grid technology is providing the required platform for the coordinated resource sharing and problem solving among individual computer users as well as dynamic multi- institutional virtual organizations. Local resources are usually preferred over nonlocal ones with similar capabilities and performance. When the resources to be shared are processing power, there are two general strategies to think about, load balancing and load sharing. In load balancing strategy, requested tasks are distributed amongst all existing resources such that the all resources’ load are equal. An ideal load balancing algorithm thus distributes the requests into existing resources so that all the resources finish their tasks simultaneously [1]. The goal of load sharing strategy is to prevent the situations in which some resources are idle where the other some other resources have a queue of waiting tasks. It tries to reduce the load on the heavily loaded resources, only. The strategy doesn't seek to make sure all resources are equally-loaded [2]. Both, load balancing and load sharing strategies, have been extensively studied and it has been shown that their usage greatly improves the average completion time of set of tasks submitted to overall system being either a distributed system or a Grid infrastructure. However, the performance of these strategies is not necessarily the same and one may outperform the other, given the circumstances. Load sharing algorithms are classified into static and dynamic. Dynamic algorithms have the potential to outperform static algorithms by using the current system information for task allocation decisions. Different approaches to dynamic load sharing are based on sender- initiation, receiver-initiation and domain based load sharing [1, 2]. Most of the new advanced in load sharing algorithms are based on decentralization hierarchy. In [4], a dynamic load sharing scheme called Dual Layered Load