<<

in Grid Environment

Harshadkumar B. Prajapati Vipul A. Shah Information Technology Department Instrumentation & Control Engineering Dharmsinh Desai University Department Nadiad, INDIA Dharmsinh Desai University email: [email protected], Nadiad, INDIA [email protected] email: [email protected]

Abstract —Scheduling in Grid computing has been active control and management, research in Grid area of research since its beginning. However, beginners computing can not be thought of. The objective of this find very difficult to understand related concepts due to a research paper is to provide concise understanding of large learning curve of Grid computing. Thus, there is a Grid scheduling area with discussion of important need of concise understanding of scheduling in Grid concepts and applied tools/software. computing area. This paper strives to present concise Scheduling aspect is found in , understanding of scheduling and related understanding of Grid computing system. The paper describes overall which manages execution of a process at various stages picture of Grid computing and discusses important sub- of the lifecycle of the process. Scheduling of processes systems that enable Grid computing possible. Moreover, in OS is handled by longterm, mediumterm, and the paper also discusses concepts of resource scheduling shortterm schedulers. CPU scheduler in OS allocates and application scheduling and also presents classification CPU(s) to the live processes. It is necessary to of scheduling algorithms. Furthermore, the paper also understand how scheduling in OS is different from presents methodology used for evaluating scheduling scheduling in cluster computing and Grid computing. algorithms including both real system and simulation Moreover, it is also necessary to understand why based approaches. The presented work on scheduling in scheduling algorithms that are available in OS cannot Grid containing concise understandings of scheduling be used for scheduling jobs of Grid computing. system, scheduling algorithm, and scheduling Beginners need to spend a lot of time in understanding methodology would be very useful to users and various topics related to Grid computing. We take researchers. scheduling in Grid as a topic of research and try to Keywords-Scheduling in Grid; workflow scheduling; provide concise understanding of all important resource scheduling; application scheduling; methodology; concepts pertaining to scheduling of jobs on Grid simulation. computing infrastructure. Main objective of this paper is to provide various understandings related to I. INTRODUCTION scheduling in Grid at a single space, i.e., in this paper. Scheduling concepts in a Grid system is present at the Research and development in Grid computing [1] different layers including OS, cluster, and global started with the aim of using free or resources that system. It is necessary to understand objective of each, are geographically distributed, administratively reason for presence of each, and overall understanding. decentralized, and heterogeneous in capability and Though the literature on Grid computing covering speed for performance demanding scientific exhaustive details and understandings on workflow applications. Grid computing has been used by many management system (WMS), resource management research projects and research in Grid has reached to system, and scheduling algorithms exist, beginners many places in academia. However, due to a long find very difficult to understand various concepts and learning curve of Grid computing, many interested complex systems unless they are presented with a big researchers stay away from it due to substantial time picture in . The work in [3] presents various needed in understanding a big literature work on Grid workflow management systems based on various computing. Before research work on scheduling [2] in selected criteria. It provides comprehensive evaluation Grid computing is attempted by researchers or of various WMSs. The work in [4] presents beginners, the researchers must be familiar with understanding of various resource management important concepts of systems and computer systems (RMSs) that can be used for utility driven networking. Without certain prerequisite cluster computing. The work in [5] presents an understanding of networking fundamentals, protocols, abstract/generalized model of RMS. The work system performance, which is handled by a central provides taxonomy and understanding of various resource manager. concepts related to RMS. The work discusses concept 2) Grid Computing of scheduling with internal organization of scheduler, Grid computing enables utilization of idle time of state estimation of resources, and about scheduling resources that are available at geographically diverse policy that does ordering of requests or jobs. We locations [7], [8], [9]. Grid computing can allow access redirect readers to [5] for getting details on various of resources such as storage, sensors, application Grid resource management systems. Various concepts software/code, databases, and computing power. In and understandings are available in the literature; Grid, resources are autonomous and heterogeneous. however, they are available at scattered locations. This Current Grid computing, in most deployments, is on paper strives to provide overall picture of scheduling collaborative manner, in which resources exhibit in Grid at a single place, i.e., in this paper, and presents varying availability. However, QoS oriented Grid concepts related to Grid computing in a magnifying computing is also possible. Grid computing has been view. used in drug discovery, GIS processing, sky image This paper is structured as follows. Section II processing, industrial research, and scientific discusses environments in experiments. Use of Grid computing infrastructure is current use, presents fundamental concepts of done by converting traditional applications into Grid scheduling, and relate scheduling in Grid with applications. The independent tasks applications scheduling in Systems . Section III concisely discusses include Parameter Sweep and farming various subsystems or systems related to Grid (embarrassingly parallel) problems [10], e.g. drug computing and also presents discussion on Grid discovery. Dependent tasks applications include simulation tools. Section IV covers scheduling workflow [11] applications, e.g., Montage [12]. algorithms related to Grid computing falling into two Figure 1 shows the constituent entities that make main types: resource scheduling and application Grid computing environment, a large Virtual scheduling. Section V highlights methodology of Organization [13] formed of many execution Grid sites evaluation of scheduling algorithms using both real owned by different real organizations, e.g., Grid site 1, . system and simulation tool based approaches. Finally, . ., Grid site M, for execution of Grid applications, Section VI provides conclusion. independent tasks or dependent tasks. In Grid, resources are usually autonomous and the Grid scheduler does not have full control of the resources,

II. IMPORTANT CONCEPTS RELATED TO SCHEDULING i.e., Grid schedulers cannot violate local policies of IN GRID COMPUTING ENVIRONMENT resources and usually there might not be any central It is very important to understand difference Grid scheduler. Generally, each Grid site can have its between Grid computing environment, which is of own Grid scheduler and same local resource can be type distributed computing, from other distributed part of more than one VO. Resource scheduler at each computing environments. We first like to present brief Grid site and executes individual jobs introduction about types of distributed computing irrespective of from which Grid applications they came environments that are widely used for solving from. Grid scheduler, which is also called global problems in distributed manner in the current era of scheduler or metascheduler or super scheduler or networkcomputing. broker, schedules jobs of Grid applications on available Grid sites with focus on satisfying application specific A. Currently used Distributed Environments scheduling objective(s). Availability of resource 1) Cluster Computing monitoring infrastructure at each participating Grid Cluster is a connected group of loosely coupled site can provide substantial guidance to Grid scheduler computing machines. Cluster computing [6] uses for making scheduling decision. Job monitoring masterslave based centralized scheduling architecture. provides monitoring of status of execution of jobs. Jobs are submitted to master. Master schedules it on Having appropriate system components, Grid slave. In cluster, all slaves nodes are generally computing can enable use of resources based on homogeneous having uniform CPU speed, memory, availability, capability, performance, cost and users and network bandwidth. To build a Cluster computing requirement. environment, a cluster middleware software need to be installed and configured on network of LAN computers. Main goal of Cluster computing is better manufacturing systems, flight scheduling, train scheduling, etc. 2) Scheduling Terminology • Release-time (date) : The earliest time at which a job can start its processing. • Processing-time : The timeduration needed by a job to finish its processing. • Start-time : The actual time at which a job starts its processing. • Finish-time : The actual time at which a job finishes its processing. • Expected execution time : It is a time expected to be taken up by a job to finish its execution. It is derived empirically.

Figure 1. An architectural diagram showing core entities of Grid C. Scheduling in Systems computing. 1) Scheduling in Operating System v/s Scheduling in Grid 3) If scheduling decision is taken by OS, then why one Cloud computing [14] exploits virtualization and needs to learn one more scheduling, i.e., Grid Internet technologies for providing needed resources, Scheduling. In Operating System, most applications are hardware or software, on demand and on lease to user interactive. OS does instruction level (CPU) resource consumers. Thus, Cloud computing can facilitate eCommerce business without spending scheduling. It exploits interleaving of I/O operations and CPU operations. The main objective of scheduling money on computersystem infrastructure by in OS is fairness among processes. In Grid transferring worries of infrastructure and software to environment, most applications are not user Cloud services provider. Using Cloud computing, interactive. Grid scheduling works at task level in hardware, software, etc. can be bought as services and which parallelism of independent tasks is exploited. consumers need to pay only for what and how much The main objective in Grid scheduling is finish job or they use. Architecture of Cloud computing includes application at earliest. The scheduling of OS is of type datacenter made of SAN or NAS, virtualization server, racks of physical processors, high speed network, and local scheduling as it determines how the processes resident on a single CPU are allocated and executed. virtual machines management software. Important The scheduling in Grid is of type global scheduling as research issues in Cloud computing involve imposing, it allocates processes to multiple resources to optimize monitoring, and management of Service Level system wide performance objective or application Agreements and scheduling and allocation of specific objective. virtualized resources on demand. 2) Relating Scheduling in Grid with Multiprocessor B. Scheduling Fundamentals and Terminology Scheduling 1) What is Scheduling? There exists an α, β, γ classification scheme [15] for Scheduling is a decision process of assignment of classification of scheduling problem. The α, β, γ the relatively large number of jobs to the relatively classification scheme of scheduling problems was small number of workers in either space or time or originally presented by Graham et al. and later was both dimensions in order to achieve desired extended by Veltman et al. Although it is for objective(s). This decision may depend on duration of multiprocessor environment, it can also be used for tasks/activities, predecessor tasks/activities, resource representing problem of scheduling on distributed availability, and target completion time depending environment and the classification scheme has been upon target environment made of workers, types of used by many researchers in their work. TABLE I jobs, and desired requirements pertaining to the compares scheduling in multiprocessing system [16] completion of jobs. For example, scheduling in and in Grid computing system. Operating System allocates CPU, a worker , to the live processes, jobs , running in the system. Scheduling is also used in multiprocessor systems, automated

TABLE I. RELATING SCHEDULING IN GRID SYSTEM WITH Complete [17] problem. Therefore, we need to use SCHEDULING IN MULTIPROCESSOR SYSTEM heuristic to solve such problems in polynomial time. A Multi-processor Scheme Grid Environment workflow scheduling is a specialized version of Environment scheduling of jobs in distributed environment, in Grid Resources : which there exists dependencies among jobs. Processor type : Compute resources identical processors, with different LRMs, III. SYSTEMS FOR GRID COMPUTING AND SCHEDULING α: Processor heterogeneous Data resources, Environment processors Network resources, This section presents understandings of various Sensor resources subsystems/systems that could be used in Number of Grid Number of processors implementing Grid computing with scheduling Resources Independent or have capability. Moreover, the section also focuses on Independent jobs or precedence simulation based study in Grid computing. workflow constraints β: Task A. Grid System Computation costs Computation costs Characteristi 1) Grid Middleware Communication cs Communication costs costs Grid middleware is a software that glues diverse Task duplication Task duplication local resources of various organizations to form a allowed allowed higherlevel, bigger, global resource. Grid middleware γ: Optimality Completion time of a Completion time of a offers following services: (1) remote process/job Criteria task Grid application management to submit and to monitor, (2) allocation and coallocation of resources, (3) access to storage

3) Relating Machine Scheduling with Grid Scheduling devices and data management, (4) information service The machine scheduling problem is mentioned here (kind of yellow page service) including resource to make reader familiar with how Grid scheduling and discovery, resource registration, and resource machine scheduling [2] are related. The novel information update, and (5) security service including approaches used for machine scheduling problem can authentication, authorization, delegation, and single be explored for their applicability in Grid scheduling. sign on. Example of Grid middleware are as follows: In machine scheduling problem, there are m machines, Globus [8], Legion [9], and Unicore [7]. Globus is a de n jobs, and m tasks (operation in each job) per job. facto standard software for building Grid computing Three shop scheduling problems are concisely and it has been widely used in many Grid presented below. deployments. • Open-shop scheduling : Different tasks of the 2) Batch Queue Controlled Resources same job may be scheduled in any order. If In most Grid deployments, individual resources of of tasks is allowed, the tasks can be a single organization are centrally managed using interleaved. batch queue oriented local resource management • Flow-shop scheduling : If the order of tasks is system (LRM). In such system, user submitted batch fixed and it is same for all jobs, then scheduling jobs are introduced into the queue of LRM, from which is called flowshop scheduling. resource scheduler decides about execution of jobs, see • Job-shop scheduling : In this scheduling, tasks Section IV,A. Examples of such LRMs include PBS [18], of a job are totally ordered, But the order of LSF [19], Condor [20], Sun Grid Engine [21], NQE [22], tasks is possibly different for each job. Maui [23] and Load Leveler [24]. A resource scheduler Based on above definition of different machine is also known as lowlevel scheduler or local scheduler. scheduling problems, the problem of scheduling of For compute resources, LRM can be configured for (i) independent tasks in Grid can be related to the Open which user is allowed to run jobs (ii) what policies are shop scheduling and the problem of scheduling of associated with selection of jobs for running, and (iii) dependent tasks in Grid can be related to the Jobshop what policies are associated with individual machines scheduling. Scheduling of looping part of the control for considering them to be idle. flow graph can be related to Flowshop scheduling. A LRM manages two types of jobs: local jobs D. Characteristic of the problem of scheduling in Grid generated inside a resource domain and jobs generated by external users, i.e. Grid users, see Figure 1. The In Grid computing, the problem of scheduling common purpose of any LRM is to manage, control, involves a number of tasks and a number of resources. and batch processes on the resources under General objective of scheduling in Grid is to generate its control. Since, LRM deals with distributed optimal mapping of the tasks onto the resources. This resources, it is also called Distributed Resource mapping of tasks in distributed environment is NP Manager. Basic features of any LRM include following: efficient storage, and RRDtool for round robin data (1) scripting language for defining batch job, (2) storage and visualization of time series data. Ganglia interfaces for submission of batch jobs, (3) interfaces to provides command line access through gmetric monitor the executions, (4) interfaces to submit input command and programming access through client side and gather output data, (5) mechanism for defining library. The gmond supports two types of metrics: (1) 28 priorities for jobs, (6) matchmaking of jobs with to 37 standard/inbuilt metrics, depending upon resources, and (7) scheduling jobs present in queue(s) operating system, and (2) userdefined metrics. Ganglia to determine execution order of jobs based on job has been used in clusters, Grids, and Planetaryscale priority, resource status, and resource allocation systems. Ganglia also provides PHP based web front configuration. Advance reservation based LRMs are end, which enables various views of monitoring data also used in Grid. Examples of such LRMs include rendered through RRDtool . Platform LSF, PBS Pro/Torque, Maui, and SGE. 2) Network Weather Service 3) Connecting Resources of different organizations into Network Weather Service (NWS) [26] provides a VO dynamic characteristics of networked computing Grid allows use of heterogeneous LRMs through a resources. Moreover, it can also forecast [27] common interface. In Globus based Grid, which is performance of resources. Resource monitoring and widely used, GRAM (Globus Resource Allocation performance prediction provided by NWS is useful to Manager) interface is used for job submission on higher level services to enable scheduling and QoS heterogeneous LRMs. GRAM is a standardized way of guarantees in Grid or cluster computing environments. accessing any LRM, as it is LRM neutral. GRAM Its implementation is based on Unix/ platform messages remain same irrespective of LRM, whether it using TCP/IP socket based communication among is PBS, LSF, or Condor. Each LRM can be connected distributed processes. NWS is made of four component into a Globus based Grid using GlobusLRM adapter. systems: (1) Persistent State process, (2) Name Server Clients submit job requests using GRAM protocol and process, (3) Sensor process, and (4) Forecaster process. GRAMLRM connector can translate those messages The Persistent State process stores measurements in into a language understood by a specific LRM. For persistent storage. It also provides access of example, GRAM5 supports Condor, PBS, and LSF; measurements to their users. NWS supports similarly, Unicore supports SGE, LoadLeveler and measurements of following variables: fraction of CPU Torque. availability time, connection time of TCP socket, end toend network of TCP, and endtoend B. Resource Monitoring Infrastructure network bandwidth of TCP. NWS implements CPU Resource monitoring helps to Grid scheduler in availability sensor as passive sensor, which itself does taking appropriate decision on available resources. not measure any characteristics, rather relies on vmstat Many resource monitoring frameworks are available. utility. The network sensor is implemented as active We discuss two widely used resource monitoring sensor, which explicitly measures network systems: one provides information on individual performance related measures by using active resources and another provides information on measurement probes. connection between resources. Network Weather

Service (NWS) and Ganglia are most widely used C. Application Scheduling Systems network performance and resource monitoring We discuss two types of scheduling systems: systems in real Grid or cluster testbeds. scheduling system for independent tasks applications 1) Ganglia and scheduling system for dependent tasks Ganglia monitoring system [25] provides applications. information on individual resources of Clusters or 1) Independent Tasks Scheduling Systems Grids. Ganglia exploits scalability, redundancy, and Scheduling of application, whether independent decentralization features of distributed computing tasks or dependent tasks, in Grid computing involves system. Ganglia system has hierarchical design, which following steps: resource discovery, resource selection, is made of gmond and gmetad component subsystems. schedule generation, and application execution. In case The gmond (Ganglia monitoring daemon), which runs of dynamic scheduling, the process may involve on each node of a cluster, enables monitoring on a additional step of rescheduling or schedule adaptation. single cluster through listen/announce protocol. A General architecture of Grid supporting scheduling of collection of hierarchical gmetad s federate multiple application is discussed in Section II,A,2. Examples of clusters through a tree of TCP connections to prepare systems supporting scheduling of independent tasks aggregated view. Ganglia uses XML to represent applications are as follows: Nimrodg [10], AppLeS client's response, XDR for quick data transport and [28], NetSolve/GridSolve [29] and ICENI [30]. 2) Dependent Tasks Scheduling System---Workflow simulation results depends on how accurately Management Systems simulator mimics real system entities in simulation. A workflow management system (WMS) is used to There is another approach of performance evaluation schedule dependent tasks applications. A workflow called mathematical analysis; however, for beginners it contains a sequence of tasks that are to be carried out in is not advisable unless they have sound understanding the defined order in order to generate desired end of mathematical representation and queuing based result. There are two common types of workflows: mathematical analysis [42]. Business Workflow and Scientific Workflow. The There exists many simulation tools or simulation business workflow is related to business application. It frameworks that support simulation based study in automates a business process fully or partially. Some Grid environment. However, they differ based on kind business workflow may include human decision to of studies supported by them. We briefly mention each make further processing steps of the workflow. In Grid simulation tool with supported study details. Business workflow, documents, information, and Following are various open source simulation tools. business decision are passed from one participant to SimGrid [43] is a C language based generalized toolkit another. Scientific workflow automates executing supporting DAG applications and MPI applications. computation tasks of scientific application. It involves GridSim [44] is a Java language based generalized analytical steps. The analytical steps may involve one framework supporting various entities of Grid or more of following: database access and querying computing. OptorSim [45] is Java language based steps, mathematical processing steps, data analysis and simulator and it can simulate compute Grid and data mining steps, and many other steps that involve any Grid [46]. It focuses on data replication strategies and computationally intensive activities. Workflow model replica optimization. Alea [47] is Java language based is graphical representation of the workflow steps. Two simulator. It supports study of various resource (Local) types of workflow are mainly used: Data flow (DAG scheduling algorithms. GSSIM [48] is Java language based) and (Petrinet) based. DAG based based framework. It can support concept of is mainly used in current Scientific Workflow in which scheduling at local/resource level and Grid level. loops and control structures by definition are not Moreover, GSSIM can understand existing workloads available. Control flow (Petrinet based) is mainly used generated using real Grid environment. It also in business workflows. Workflow language bridges the supports generating synthetic workload. MaGate [49] gap between graphical workflow model and the is a Java language based simulator that supports peer workflow engine, which executes the workflow. topeer (P2P) Grid. Study using MaGate includes Workflow engine understands workflow language. A resource discovery algorithms in P2P Grid and bio workflow can be written directly in the workflow inspired community scheduling algorithms. language without preparing workflow model by GUI. Most workflow languages are XML based for both scientific and business workflows.For representation of IV. CLASSIFICATION OF THE SCHEDULING USED IN workflow. GRID ENVIRONMENT Various Workflow Management Systems (WMSs) Two main types of scheduling are involved in Grid, support either Directed Acyclic Graph based workflow one at local resource level and another at application or Control Flow Graph based workflow or both. Triana level. We concisely explore them in following [31], GridAnt [32] or Karajan [33], UNICORE [7], discussion. Askalon [34], and ICENI [35] are Control Flow Graph A. based WMSs and DAGMan [36], Taverna [37] , GrADS Resource Scheduling [38] GridFlow [39], Gridbus [40] , and Pegasus WMS Two types of scheduling: time sharing and space [41] are DAG based WMSs. Most of the mentioned sharing are involved at local resource level. Time systems are Globus based except Taverna, GridFlow, sharing scheduling is used by each machine and UNICORE. Furthermore, a few systems also (computer) of the cluster, for example, CPU scheduler support webservices. Only a few systems are active in of the Operating System on each machine that is part of further development of WMSs and providing help or batch system, whereas space sharing scheduling is support to their users. We redirect readers elsewhere, used by Local Resource Manager to schedule the job for example, to [3], for understanding of various present in batch queue on idle machine of the cluster. WMSs. Resource scheduling is used to increase utilization of resources or balance load on the resources. Generally a D. Grid Simulation Tools Grid site contains a batch queue controlled cluster, see Scheduling algorithms in Grid can be evaluated Figure 1. Resource scheduling is not complicated as it using Grid simulation tools also. However, accuracy of considers each submitted task an independent unit and advance reservation based algorithms are as follows: therefore the scheduler can mix in with or order with Platform LSF, PBS Pro/Torque, Maui, and SGE. tasks of other applications, either submitted from the Preemption based resource scheduling algorithm can same Grid site or from other Grid sites. stop execution of low priority job when high priority The resource scheduling involves taking two job arrives. decisions: job selection from a queue/bag of jobs and Node Allocation Algorithms : node selection for selected job from available nodes. Best Fit selects the node that has the fewest available Figure 2 provides classification of algorithms under the resources and still can finish the job. First Fit schedules two main decision operations, which execute as part of the job on the first suitable resource in the list of resource scheduling. available resources. Fastest Resource First selects fastest available resource in the list of available resources. Min Loaded First selects the resource having maximum unused CPU power or CPU utilization. B. Application Scheduling Grid scheduler, to which users submit their applications, performs application scheduling, in which the scheduler takes scheduling decision about tasks of whole application. Various terms are used for the term Grid scheduler. These terms include super scheduler, metascheduler, global scheduler,

Figure 2. Classification of Resource Scheduling in Grid Computing. application broker, and application scheduler. Important difference between resource scheduling and Job Selection Algorithms : application scheduling is that application level Job selection algorithm selects a job from a queue of scheduler assigns a Grid site to a job whereas resource jobs. The simplest type of job selection algorithms are scheduler allocates a machine of a cluster to a job. Dispatching Rules based . FCFS [51] schedules jobs as per Figure 3 provides broad classification of application submission order (time). Shortest Processing Time First scheduling algorithms based on various criteria. or ShortJobFirst (SJF) assigns highest priority to the job that has shortest processing time. Longest Processing Time First or LargestSizeFirst (LSF) assigns highest priority to the job that has longest processing time. Earliest Deadline First (EDF) assigns highest priority to the process that has expected execution time in the most near future or the specified deadline is in the most near future. In dynamic dispatching rules based scheduling, decision changes depending upon passage of time. Minimum slack based algorithm is of type dynamic dispatching rules based scheduling. In this algorithms, jobs are ordered according to their remaining slack, which is defined as slack = max(d j - p j - Figure 3. Classification of Application Scheduling in Grid t, 0) , where dj is deadline, pj is processing time, and t is Computing. the current time. Backfilling is an optimization of FCFS algorithm. If the oldest job in the queue cannot be Based on time at which scheduling decision is executed due to nonavailability of enough/required taken, scheduling can be categorized into two: Static resources, the older jobs are started without delaying scheduling and Dynamic scheduling. the oldest queued job though the older job arrived Static scheduling : It determines schedule of all the latter than oldest job. Condor [52], LSF [19], and PBS tasks of application before application starts to run. [18] supports backfilling based resource scheduling Static scheduling is applicable to both independent algorithm. In Advance Reservation based Algorithm tasks and dependent tasks applications. It is applicable [51], user of resource sends reservationrequest for when the environment is assumed to be static or non using resource in future time. This advance reservation changing and when it is possible to estimate the based algorithm can guarantee that required resource execution times of tasks (jobs). will be available to user for use; moreover, jobs do not Dynamic scheduling [53]: It determines schedule of need to wait in queue. Examples of systems supporting a task of an application only when the task becomes ready for execution. For scheduling of independent QoS and SLA based scheduling : In this type of tasks application, all tasks can be scheduled at the scheduling, which is also called utility based Grid same time and in any order; however, for scheduling of computing [57], resource consumers need to pay to dependent tasks application, a task becomes ready resource providers for usage of resources. Thus, only when all its predecessor tasks have completed monetary cost is also involved as decision factor for their execution. Dynamic scheduling is used when the taking scheduling decision [58]. environment is dynamic/changing. It is used when it is Based on how many objectives are involved in impossible to determine the execution time or when scheduling decision, scheduling can be divided into tasks (jobs) are coming online (realtime). following two broad categories. Exact algorithm always produces an optimal Single objective scheduling : In this scheduling, the solution if exists. Heuristic produces a feasible and scheduler has to focus on only one objective while nearly optimal, but not necessarily optimal solution. taking scheduling decision. Example of scheduling The important difference between heuristic and meta objectives are time minimization and cost heuristic is mentioned below. minimization. Heuristics : This approach develops a scheduling Multiple objective scheduling : In this scheduling, algorithm that fits a particular kind of problem. the scheduler has to focus on multiple objective at the Examples of heuristics include following: Myopic, same time while taking scheduling decision. Example Batch scheduling, List scheduling, of multiple objective scheduling is cost and time Clustering/grouping based scheduling, and minimization scheduling. Duplication based scheduling [54]. Based on characteristic of objective function, Meta-heuristics : This approach develops a general scheduling can be divided into following two broad approach of developing a specific heuristic to fit a categories. particular kind of problem, for example, Genetic Minimization based scheduling : In this Algorithm, Simulated Annealing, Tabu Search, and scheduling, the scheduler tries to minimize objective. Particle Swarm Optimization [54]. Objective could be minimization of makespan or Based on characteristics of application, scheduling minimization of cost. can be categorized into independent tasks scheduling Constrained based scheduling : In this scheduling, and dependent tasks/workflow scheduling. the scheduler is given information about upperbound Independent tasks scheduling : In independent on the value of the objective and the scheduler has to tasks application, all tasks of applications are generate schedule that satisfies objective value within independent of each other in terms of any the specified upperbound. dependencies. Therefore they can be scheduled in any order by scheduler. Examples of independent tasks scheduling algorithms [55] include MET (Minimum V. METHODOLOGY TO EVALUATE PERFORMANCE OF Execution Time), MCT (Minimum Completion Time), SCHEDULING ALGORITHMS Minmin, Maxmin, and Suffrage [56]. A proposed scheduling algorithm can be evaluated Dependent tasks scheduling : In dependent tasks by one of two approaches: implement the proposed application, there exists dependencies among tasks of algorithm in a real scheduling system and evaluate for applications. Therefore the application scheduler has to performance or implement the proposed algorithm in a respect these dependencies among tasks while simulator and evaluate for performance. Depending scheduling them on resources. There are three types of upon type of scheduling: resource or application, heuristics [55]: listscheduling, clustering/grouping appropriate simulation tool or real system should be based, and duplication based for scheduling of chosen. When a real system is to be built for evaluation dependent tasks scheduling [55]. of the proposed scheduling algorithms, it is very Whether resource has associated cost of usage or important to decide about what combination of not, scheduling can be divided into following two available Grid middleware software and Grid categories. application scheduler system can address the proposed Cooperative/volunteer access based scheduling : algorithms. There are many options such as Globus, Scheduler tries to minimize the execution time CondorG, LSF, GridbusBroker, Pegasus, Kepler, ignoring other factors. This approach is currently used Taverna, Triana, Grid(Lab) Resource Management, by most Grid projects present in the world. In this type NimrodG, Sun Grid Engine, etc., see Section III. This of scheduling, the resource consumers can use section addresses methodology of carrying out resources freely. evaluation of scheduling algorithms with focus on generalized steps, various types of test data, configuration of test environment, and performance research paper on Benchmarking the Task Graph evaluation metrics. Scheduling Algorithms by YuKwong Kwok and Ishfaq Ahmad in [59] provides details of benchmark task A. Generalized steps of evaluation of scheduling graphs. We concisely present them below, which algorithms researchers can choose from depending upon Configuration of simulator is generally found to be availability of taskgraphs with them and feasibility of easy; however, the exact way of configuration of a real getting required ones with extra efforts. system depends on selection of application scheduling Peer set graph : Use example task graphs used by software and grid middleware software. In following, various researchers and those are documented in we try to point out general steps of experimentation. publications. Step 1 : Choose Grid system/WMS/simulation tool Random Graphs with optimal schedules : Use task for carrying out scheduling. graphs for which we have obtained optimal solutions Step 2 : Choose test applications or batchjobs or using a branchandbound algorithm. workflows or taskgraphs. Random Graphs with Pre-Determined Optimal Step 3 : Choose scenarios for evaluation of Schedules : This method generates graphs with known algorithms. optimal schedules. Step 4 : Choose performance metrics for Random Graphs without Optimal Schedules : Use comparison. random graphs having large number of tasks (50 to Step 5 : (If needed,) Instrument system or tool for 500) with varying value of size, communicationto gathering data of interest for chosen metrics. computation ratio (CCR), and parallelism. Step 6 : Perform different experiments with Traced Graphs : Use taskgraphs that are produced manipulating independent variables. Include best, using a parallelizing compiler on some numerical known (benchmark) scheduling algorithm for parallel application programs. comparison with. C. Step 7 : Gather and analyze data or result through Performance evaluation metrics of scheduling instrumented code or log records or trace records. algorithms This subsection presents various performance B. Test data/input for evaluation of scheduling algorithms evaluation metrics that are used for evaluation of We focus on only testing of workflow applications. resource scheduling algorithms and application Following are two main ways of generating test scheduling algorithms. Performance evaluation metrics input data: for resource scheduling algorithms are as follows. Use well-known DAGs : A few examples of well System utilization : It indicates percentage of time known DAGs/workflows include EMAN (Electron the resource is busy. Micrograph Analysis) BLAST (Basic Local Alignment : It indicates the number of jobs Search Tool), Gaussian Elimination (Provides solution processed/finished in a given time period. of a system of linear equations), Fast Fourier Turnaround time : It is also called response time of Transform, Montage, LIGO, and Galactic Plane. a job. It is defined as the sum of waiting time and Prepare input data using DAG generator : Use execution time of the job. DAG generator to prepare random task graphs by Job slowdown : it is defined as the ratio of the varying following parameters: the total number of response time of a job to its actual run time. It tasks, amount of communication, amount of primarily occurs due to a long waiting time for computation, the number of parallel tasks, and degree execution of job. of parallelism. Economic Profit : In utility based resource usage, it indicates profit earned by resource. We need to configure resources/system to enable Performance evaluation metrics for application different test scenarios. It should be noted that in real scheduling are as follows. system, it won't be possible to configure resources to Make-span : It is calculated by subtracting actual achieve certain behavior. However, in simulation, we start time of the first job of application from the actual can vary the number of resources and characteristics of finish time of the last job of the application. resources. In characteristics of resources, we can vary Schedule Length Ratio [60]: This metric is obtained computation speed of resource, network bandwidth of by dividing the makespan of an application by the resource, resource availability, and resource failure. expected time needed to execute the tasks present on For exhaustive evaluation, different task graphs the Longest Computation Path on the fastest resource. with known and unknown characteristics can be Scheduling time [60]: It depends on the time prepared and can be used in experimentation. A complexity of the scheduling algorithm. It indicates how much time is taken by scheduling algorithm for concepts of scheduling in Grid computing, a complex making decision on assignment of jobs onto resources. system, involved at the lowestlevel, part of operating Speedup [60]: It indicates how faster an application system, to cluster system and Grid computing system. runs on multiple resources as compared to running it The paper also discusses importance of task scheduling on a single fastest resource. in distributed environment, which is NPComplete The number of times best results achieved } [60]: It problem. Exact search based algorithms are not feasible indicates out of many runs of various applications, for and therefore researchers need to look for heuristic how many runs the scheduling algorithm performed based algorithm. Scheduling in Grid is involved at two best among others. levels: individual site level (resource scheduling) and Flow time : the flow time of the jobs of an application broker level (application scheduling) for application is the sum of completion time of all the which this paper provided classification of various jobs. resource scheduling algorithms and application Economic Cost : In utility based resource usage, scheduling algorithms. The paper also discussed about economic cost of an application indicates total cost methodology to be used for evaluating scheduling incurred for executing all jobs of the application. algorithms. Specifically, the paper highlighted simulation based approach and real system based Of the above presented metrics, schedule length approach and also discussed about when to use which ratio is used for evaluation of only scheduling of one. The work also provided important performance dependent tasks application. Other metrics can be used metrics for evaluating both resource scheduling and for either independent tasks or dependent tasks application scheduling. In Grid computing, applications. performance evaluation using real system takes a lot of time, efforts and requires expert skills whereas D. Decision on use of scheduling simulators or real performance evaluation using simulation is relatively systems for evaluation easy. When a real Grid environment is not available with researchers or when it is not practically feasible and monetarily advisable to deploy a real Grid just for sake REFERENCES of performance evaluation of some proposed [1] I. Foster and C. Kesselman, Eds., The Grid 2: Blueprint for a New algorithm, researchers can use approach of simulation Computing Infrastructure , 2nd ed., ser. The Elsevier Series in based performance evaluation. When results of Grid Computing. Elsevier, 2003. [2] M. Pinedo, Scheduling: Theory, Algorithms and Systems , 2nd ed. experiments are needed very quickly and researchers Prentice Hall. do not have enough time to make themselves [3] J. Yu and R. Buyya, “A taxonomy of workflow management comfortable with working with real Grid environment, systems for grid computing,” Journal of Grid Computing , vol. 3, the simulation based experiment study is best way of no. 34, pp. 171–200, 2005. evaluating proposed concepts. Furthermore, when [4] C. S. Yeo and R. Buyya, “A taxonomy of marketbased resource management systems for utilitydriven cluster computing,” changing configuration of real Grid environment is Softw. Pract. Exper. , vol. 36, pp. 1381–1419, November 2006. difficult and challenging or preparing certain scenarios [5] K. Krauter, R. Buyya, and M. Maheswaran, “A taxonomy and are impossible to achieve, evaluation of scheduling survey of grid resource management systems for distributed algorithms by simulation can provide results faster and computing,” Software: Practice and Experience , vol. 32, no. 2, pp. for even practically infeasible scenarios. Simulators are 135–164, 2002. [6] R. Buyya et al. , “High performance cluster computing: handy for showing proof of concepts; moreover, they Architectures and systems (volume 1),” Prentice Hall, Upper can provide evaluation of proposed algorithms for SaddleRiver, NJ, USA , vol. 1, p. 999, 1999. scalability and efficiency performance measures. [7] D. W. Erwin and D. F. Snelling, “Unicore: A grid computing Though Grid simulators can be used for evaluation of environment,” in Euro-Par 2001 Parallel Processing . Springer, proposed algorithms, true reliability and accuracy of 2001, pp. 825–834. [8] I. Foster and C. Kesselman, “Globus: A metacomputing the proposed algorithms can be obtained by evaluating infrastructure toolkit,” International Journal of High Performance the algorithms on real systems. If researchers have Computing Applications , vol. 11, no. 2, pp. 115–128, 1997. access to real Grid environment or testbed, they should [9] A. S. Grimshaw, W. A. Wulf, J. C. French, A. C. Weaver, and evaluate proposed algorithms on the real environment. P. F. Reynolds, “Legion: The next logical step toward a nationwide virtual computer,” Technical Report CS9421, University of Virginia, Tech. Rep., 1994. [10] R. Buyya, D. Abramson, and J. Giddy, “Nimrod/g: An VI. CONCLUSIONS architecture for a resource management and seduling system in This paper tried to tie discussion on various a global computational grid,” in High Performance Computing in the Asia-Pacific Region, 2000. Proceedings. The Fourth International constituent software subsystems of Grid computing Conference/Exhibition on , vol. 1. IEEE, 2000, pp. 283–289. based on scheduling aspect. This paper discussed [11] E. Deelman, D. Gannon, M. Shields, and I. Taylor, “Workflows [30] N. Furmento, W. Lee, A. Mayer, S. Newhouse, and and escience: An overview of workflow system features and J. Darlington, “Iceni: an open grid service architecture capabilities,” Future Generation Computer Systems , vol. 25, no. 5, implemented with jini,” in Proceedings of the 2002 ACM/IEEE pp. 528–540, 2009. conference on Supercomputing . IEEE Computer Society Press, [12] Montage An Astronomical Image Mosaic Engine. Last accessed 2002, pp. 1–10. on 23 July 2013. [Online]. Available: [31] I. Taylor, M. Shields, and I. Wang, “Resource management for http://montage.ipac.caltech.edu/docs/gridtools.html the triana peertopeer services,” in Grid Resource Management . [13] I. Foster, C. Kesselman, and S. Tuecke, “The anatomy of the Springer, 2004, pp. 451–462. grid: Enabling scalable virtual organizations,” International [32] K. Amin, G. Von Laszewski, M. Hategan, N. J. Zaluzec, journal of high performance computing applications , vol. 15, no. 3, S. Hampton, and A. Rossi, “Gridant: A clientcontrollable grid pp. 200–222, 2001. workflow system,” in System Sciences, 2004. Proceedings of the [14] I. Foster, Y. Zhao, I. Raicu, and S. Lu, “Cloud computing and 37th Annual Hawaii International Conference on . IEEE, 2004, pp. grid computing 360degree compared,” in Grid Computing 10–pp. Environments Workshop, 2008. GCE'08 . Ieee, 2008, pp. 1–10. [33] G. von Laszewski and M. Hategan, “Workflow concepts of the [15] P. Brucker, Scheduling Algorithms , 3rd ed. Secaucus, NJ, USA: java cog kit,” Journal of Grid Computing , vol. 3, no. 34, pp. 239– SpringerVerlag New York, Inc., 2001. 258, 2005. [16] J. Chen and C.Y. Lee, “General multiprocessor task [34] T. Fahringer, A. Jugravu, S. Pllana, R. Prodan, C. Seragiotto, scheduling,” Naval Research Logistics (NRL) , vol. 46, no. 1, pp. and H.L. Truong, “Askalon: a tool set for cluster and grid 57–74, 1999. [Online]. Available: computing,” Concurrency and Computation: Practice and http://dx.doi.org/10.1002/(SICI)1520 Experience , vol. 17, no. 24, pp. 143–169, 2005. 6750(199902)46:1<57::AIDNAV4>3.0.CO;2H [35] S. McGough, L. Young, A. Afzal, S. Newhouse, and [17] M. R. Garey and D. S. Johnson, Computers and Intractability; A J. Darlington, “Workflow enactment in iceni,” in UK e-Science Guide to the Theory of NP-Completeness . New York, NY, USA: W. All Hands Meeting , 2004, pp. 894–900. H. Freeman & Co., 1990. [36] J. Frey, “Condor dagman: Handling interjob dependencies,” [18] R. L. Henderson, “Job scheduling under the portable batch University of Wisconsin, Dept. of , Tech. Rep , system,” in Job scheduling strategies for parallel processing . 2002. Springer, 1995, pp. 279–294. [37] D. Hull, K. Wolstencroft, R. Stevens, C. Goble, M. R. Pocock, [19] S. Zhou, “Lsf: Load sharing in large heterogeneous distributed P. Li, and T. Oinn, “Taverna: a tool for building and running systems,” in I Workshop on Cluster Computing , 1992. workflows of services,” Nucleic acids research , vol. 34, no. suppl 2, pp. W729–W732, 2006. [20] M. J. Litzkow, M. Livny, and M. W. Mutka, “Condora hunter of idle workstations,” in Distributed Computing Systems, 1988., [38] F. Berman, A. Chien, K. Cooper, J. Dongarra, I. Foster, 8th International Conference on . IEEE, 1988, pp. 104–111. D. Gannon, L. Johnsson, K. Kennedy, C. Kesselman, J. Mellor Crumme et al. , “The grads project: Software support for high [21] W. Gentzsch, “Sun grid engine: Towards creating a compute level grid application development,” International Journal of power grid,” in Cluster Computing and the Grid, 2001. High Performance Computing Applications , vol. 15, no. 4, pp. 327– Proceedings. First IEEE/ACM International Symposium on . IEEE, 344, 2001. 2001, pp. 35–36. [39] J. Cao, S. A. Jarvis, S. Saini, and G. R. Nudd, “Gridflow: [22] NQE User's Guide. Last accessed on 12 August 2013. [Online]. Workflow management for grid computing,” in Cluster Available: http://docs.cray.com/books/2148_3.3/html Computing and the Grid, 2003. Proceedings. CCGrid 2003. 3rd 2148_3.3/2148_3.3toc.html IEEE/ACM International Symposium on . IEEE, 2003, pp. 198–205. [23] Maui Scheduler. Last accessed on 12 August 2013. [Online]. [40] R. Buyya and S. Venugopal, “The gridbus toolkit for service Available: oriented grid and utility computing: An overview and status http://www.adaptivecomputing.com/products/open report,” in Grid Economics and Business Models, 2004. GECON source/maui/ 2004. 1st IEEE International Workshop on . IEEE, 2004, pp. 19–66. [24] S. Kannan, M. Roberts, P. Mayes, D. Brelsford, and J. F. [41] E. Deelman, G. Singh, M.H. Su, J. Blythe, Y. Gil, C. Kesselman, Skovira, “Workload management with loadleveler,” IBM G. Mehta, K. Vahi, G. B. Berriman, J. Good, A. Laity, J. C. Jacob, Redbooks , vol. 2, p. 2, 2001. and D. S. Katz, “Pegasus: A framework for mapping complex [25] M. L. Massie, B. N. Chun, and D. E. Culler, “The ganglia scientific workflows onto distributed systems,” Sci. Program. , distributed monitoring system: design, implementation, and vol. 13, pp. 219–237, July 2005. [Online]. Available: experience,” Parallel Computing , vol. 30, no. 7, pp. 817–840, http://dl.acm.org/citation.cfm?id=1239649.1239653 2004. [42] R. Jain, The art of computer systems performance analysis . John [26] R. Wolski, N. T. Spring, and J. Hayes, “The network weather Wiley & Sons, 2008. service: a distributed resource performance forecasting service [43] H. Casanova, “Simgrid: A toolkit for the simulation of for metacomputing,” Future Generation Computer Systems , application scheduling,” in Cluster Computing and the Grid, vol. 15, no. 5, pp. 757–768, 1999. 2001. Proceedings. First IEEE/ACM International Symposium on . [27] R. Wolski, “Dynamically forecasting network performance IEEE, 2001, pp. 430–437. using the network weather service,” Cluster Computing , vol. 1, [44] R. Buyya and M. Murshed, “Gridsim: a toolkit for the modeling no. 1, pp. 119–132, 1998. and simulation of distributed resource management and [28] F. Berman, R. Wolski, H. Casanova, W. Cirne, H. Dail, scheduling for grid computing,” Concurrency and Computation: M. Faerman, S. Figueira, J. Hayes, G. Obertelli, J. Schopf et al. , Practice and Experience , vol. 14, no. 1315, pp. 1175–1220, 2002. “Adaptive computing on the grid using apples,” Parallel and [Online]. Available: http://dx.doi.org/10.1002/cpe.710 Distributed Systems, IEEE Transactions on , vol. 14, no. 4, pp. 369– [45] W. H. Bell, D. G. Cameron, L. Capozza, A. P. Millar, 382, 2003. K. Stockinger, and F. Zini, “Optorsim a grid simulator for [29] K. Seymour, A. YarKhan, S. Agrawal, and J. Dongarra, studying dynamic data replication strategies,” International “Netsolve: Grid enabling scientific computing environments,” Journal of High Performance Computing Applications , vol. 17, no. 4, Advances in Parallel Computing , vol. 14, pp. 33–51, 2005. pp. 403–416, 2003. [46] A. Chervenak, I. Foster, C. Kesselman, C. Salisbury, and [54] F. Dong and S. G. Akl, “Scheduling algorithms for grid S. Tuecke, “The data grid: Towards an architecture for the computing: State of the art and open problems,” School of distributed management and analysis of large scientific Computing, Queen’s University, Kingston, Ontario , 2006. datasets,” Journal of network and computer applications , vol. 23, [55] J. Yu, R. Buyya, and K. Ramamohanarao, “Workflow no. 3, pp. 187–200, 2000. scheduling algorithms for grid computing,” in Metaheuristics for [47] D. Klusácek and H. Rudová, “Alea 2: job scheduling scheduling in distributed computing environments . Springer, 2008, simulator,” in Proceedings of the 3rd International ICST Conference pp. 173–214. on Simulation Tools and Techniques , ser. SIMUTools '10. ICST, [56] M. Maheswaran, S. Ali, H. Siegal, D. Hensgen, and R. F. Brussels, Belgium, Belgium: ICST (Institute for Computer Freund, “Dynamic matching and scheduling of a class of Sciences, SocialInformatics and Telecommunications independent tasks onto heterogeneous computing systems,” in Engineering), 2010, pp. 61:1–61:10. [Online]. Available: Heterogeneous Computing Workshop, 1999.(HCW'99) Proceedings. http://dx.doi.org/10.4108/ICST.SIMUTOOLS2010.8722 Eighth . IEEE, 1999, pp. 30–44. [48] K. Kurowski, J. Nabrzyski, A. Oleksiak, and J. Weglarz, “Grid [57] S. K. Garg, R. Buyya, and H. J. Siegel, “Scheduling parallel scheduling simulations with gssim,” in Parallel and Distributed applications on utility grids: time and cost tradeoff Systems, 2007 International Conference on , vol. 2. IEEE, 2007, pp. management,” in Proceedings of the Thirty-Second Australasian 1–8. Conference on Computer Science - Volume 91 , ser. ACSC '09. [49] Y. Huang, A. Brocco, M. Courant, B. Hirsbrunner, and Darlinghurst, Australia, Australia: Australian Computer P. Kuonen, “Magate simulator: a simulation environment for a Society, Inc., 2009, pp. 151–160. decentralized grid scheduler,” in Advanced Parallel Processing [58] J. Yu, R. Buyya, and C. K. Tham, “Costbased scheduling of Technologies . Springer, 2009, pp. 273–287. scientific workflow application on utility grids,” in Proceedings [50] W. Chen and E. Deelman, “Workflowsim: A toolkit for of the First International Conference on e-Science and Grid simulating scientific workflows in distributed environments,” Computing . Washington, DC, USA: IEEE Computer Society, in E-Science (e-Science), 2012 IEEE 8th International Conference on . 2005, pp. 140–147. IEEE, 2012, pp. 1–8. [59] “Benchmarking the task graph scheduling algorithms,” in [51] K. Kurowski, A. Oleksiak, W. Piatek, and J. Weglarz, Proceedings of the 12th. International Parallel Processing “Hierarchical scheduling strategies for parallel tasks and Symposium on International Parallel Processing Symposium , ser. advance reservations in grids,” Journal of Scheduling , pp. 1–20, IPPS '98. Washington, DC, USA: IEEE Computer Society, 1998, 2011. pp. 531–. [52] Computing with HTCondor™. Last accessed on 23 July 2013. [60] H. Topcuouglu, S. Hariri, and M.y. Wu, “Performance [Online]. Available: http://research.cs.wisc.edu/htcondor/ effective and lowcomplexity task scheduling for [53] H. Chen and M. Maheswaran, “Distributed dynamic heterogeneous computing,” IEEE Trans. Parallel Distrib. Syst. , scheduling of composite tasks on grid computing systems,” in vol. 13, pp. 260–274, March 2002. Parallel and Distributed Processing Symposium., Proceedings International, IPDPS 2002, Abstracts and CD-ROM , 2002, pp. 88 – 97.