(IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 12, No. 7, 2021 WorkStealing Algorithm for Load Balancing in Grid Computing Hadeer S.Hossam 1 , Hala Abdel-Galil 2 , Mohamed Belal 3 Computer Science Department, Faculty of Computers and Artificial Intelligence, Helwan University, Egypt Abstract—Grid computing is a computer network in which many resources and services are shared for performing a specific task. The term grid appeared in the mid-1990s and due to the computational capabilities, efficiency and scalability provided by the shared resources, it is used nowadays in many areas, including business, e-libraries, e-learning, military applications, medicine, physics, and genetics. In this paper, we propose WorkStealing-Grid Cost Dependency Matrix (WS-GCDM) which schedule DAG tasks according to their data transfer cost, dependency between tasks and load of the available resources. WS-GCDM algorithm is an enhanced version from GCDM algorithm. WS-GCDM algorithm balances load between all the available resources in grid system unlike GCDM which uses specific number of resources regardless how many resources are available. WS-GCDM introduces better makespan than GCDM algorithm and enhances system performance from 13% up to 17% when we experiment algorithms using DAG with dependent tasks. Keywords—Grid computing; static scheduling; dynamic scheduling; load balancing; directed acyclic graph (DAG) I. INTRODUCTION Importance of grid computing comes from the need to access resources which are geographically distributed and cannot be moved or duplicated to the same location. Grid computing offer approaches to overcome these obstacles. By using a grid, distributed resources can be treated as if they are into single place [1,2]. Assigning tasks to processors /machines is an important issue as it improves the performance of the whole job so that our concern will be on scheduling resources in grid computing. Resources can be computers, storage space, instruments, software applications, and data, are all connected through the Internet and a middleware layer that provides basic services for security, monitoring, resource management, and so forth as shown in Fig. 1. This work concerned with the processing time efficiency. Resources available on grid are shared under policies that specify who is permitted to access resources, what are the resources that will be available for everyone, and under what conditions they will use these resources [3]. Nature of grid computing resources is dynamic; therefore achieving high performance is a challenge as new resource can be submitted to the grid or withdraw from the grid. There are number of factors, which can affect the grid application performance; load balancing is one of the most critical features of Grid infrastructure. Scheduling tasks in grid computing is critical as it influences the execution of the whole application. The problem of mapping tasks in grid computing is to find proper assignment of tasks to the available processors in order to optimize system utilization and load balancing and to minimize execution time [4]. This paper is organized as follows. In Section 2, related works for the independent and dependent task scheduling algorithms are discussed. In Section 3, we clarified our problem statement. And, we describe our proposed algorithm and how the WS-GCDM balance task scheduling between the available resources. And, we discuss the experimental results under varying gridlets and number of resources between the GCDM and WS-GCDM algorithms. In Section 4, we provide our final conclusion and the detailed algorithm. II. RELATED WORK Over the past few years, a lot of grid computing algorithms have been introduced. Such algorithms focused on arranging and allocating tasks to resources in a way that minimizes the execution time in order to enhance performance and data transfer cost between these resources. This section surveys previous work in scheduling tasks in grid computing. After user submit an application, the scheduler divides this application into tasks. These tasks may be dependent on each other and need to be scheduled based on the precedence between tasks, or sometimes each task is stand-alone and can be scheduled without affecting other tasks. This categorized scheduling in grid computing according to task dependency. As an example of independent task scheduling algorithms: Opportunistic Load Balancing (OLB) algorithm [5, 6], Minimum Execution Time (MET) algorithm [7], Minimum Completion Time (MCT) algorithm [8], Min-min algorithm [9], Max-min algorithm [10, 11, 12], Suffrage algorithm [13, 14]. Fig. 1. Framework of Grid Computing. 98 | Page www.ijacsa.thesai.org