International Journal of Computer Applications (0975 – 8887) Volume 38– No.7, January 2012 42 Framework for Job Scheduling in Grid Environment Deepti Malhotra Research Scholar Department of Computer Science & IT Jammu University, India Devanand HOD Department of Computer Science & IT Jammu University, India ABSTRACT Job scheduling is a fundamental issue in achieving a high performance on the Grids. In grid computing several applications require numerous resources for execution which are not often available for them, thus presence of a scheduling system to allocate resources to input jobs is vital. This paper introduces a model and a job scheduling algorithm in grid computing environments. Computational grids have the potential for solving Large-scale scientific problems using heterogeneous and geographically distributed resources. One problem that is critical to effective utilization of computational grids is the efficient scheduling of jobs. This work addresses this problem by describing and evaluating a grid scheduling architecture and a job-scheduling algorithm. The research work introduces NSA (node-selection algorithm) at the global scheduler and the PSA (processor selection algorithm) at the local scheduler. The NSA is based on the rule that the light- loaded processing node is selected for the job allocation. This technique fetches the jobs from the Global job queue that is ready to execute and assign these jobs to the best nodes of the grid. The PSA (processor selection algorithm) schedule the job to the processor of a selected node having maximum available CPU resource (ACR).The algorithm has been tested in a simulated grid environment. Keyword Grid Computing, Job Scheduling, Scheduler, load, ACR. 1. INTRODUCTION Grid computing, adapted from Ian Foster [1], is concerned with “coordinated resource sharing and problem solving in dynamic, multi-institutional virtual organizations.” A Grid is a decentralized heterogeneous system in which resources belong to multiple organizations. Grid does not enforce absolute control over these resources and resource management is subject to multiple and divergent organizational administrative policies. From user’s perspective, a Grid is a collaborative problem-solving environment in which one or more user jobs can be submitted without knowing where the resources are or even who own the resources. A Grid must guarantee the quality of service of a job’s execution. Since multiple applications may require numerous resources which often are not available for them so that in order to allocate resources to input jobs, having a scheduling system is essential. Because of the vastness and separation of resources in the computational grid, scheduling is one of the most important issues in grid environment [2]. Grid scheduling is the process of scheduling jobs over grid resources. A scheduler is a component of the resource management system on a grid [3]. A scheduler system provides the interface between a user and the grid resources. A grid scheduler is different from local scheduler in that a local scheduler only manages a single site or cluster and usually owns the resource. A grid scheduler is in charge of resource discovery, grid scheduling (resource allocation and job scheduling) and job execution management over multiple administrative domains. Scheduling of jobs on a grid or a cluster is the task of mapping jobs to the available compute-nodes. The Complexity of scheduling problem increases with the size of the grid and becomes highly difficult to solve effectively [4]. On a grid, scheduling is a NP-complete problem [5].According to Wright [6], a scheduler is designed to satisfy one or more of the following common objectives :(a) Maximizing system throughput. (b) Maximizing resource utilizations. (c) Maximizing economic gains (d) Minimizing the turn-around time for an application. Job scheduling is one of the most fundamental and important aspects of distributed and parallel computational systems. Vast investigations have been done in this scope, which have led to theories and practical results [7, 8, 9]. However new scheduling algorithms have been offered with emergence of grid computing. Objectives of scheduling algorithm are increasing system throughput [9], efficiency, and decreasing job completion time. The rest of the paper is organized as follows. Section 2 presents the background and related work. Section 3 provides the system model for the proposed scheme. Algorithms related to the proposed scheme is also given in the figure3 in this section.Section3 also discusses the relationship between different entities in the form of a sequential diagram given in figure4.Section4 presents the experimental setup and results of experiment carried out in simulated grid environment. Finally Section 5 concludes the paper by summarizing our contributions and future works. 2. RELATED WORK The different phases of Grid Scheduling Process have been discussed in [10]. In a grid, the abilities of the computing nodes vary, and tasks often arrive dynamically. Because of these, scheduling methods of parallel computing [11] may not be applicable in a grid. It is important to properly assign and schedule tasks to computing nodes [12]. Through good scheduling methods, the system can get better performance, as well as applications can avoid unnecessary delays. Grid scheduling algorithms in different occasions are discussed in paper [13], [14]. Various algorithms have been proposed which in recent years each one has particular features and capabilities. In this section we review several scheduling algorithms which have been proposed in grid environment. In [15] a scheduling algorithm which is based on HQ-GTSM is presented. This algorithm not only takes into account the input jobs but also considers the resource migration time in deciding on the scheduling. One of the most important features of this algorithm is that it guarantees the grid quality of service.