You are on page 1of 27


WORKFLOW SCHEDULING IN GRID COMPUTING Submitted in partial fulllment of the requirements for the award of the degree of Bachelor of Technology in Computer Science and Engineering Submitted by SAMBIT KUMAR SAHOO SHASHI KUMAR VIBHUTI BHUSHAN VIVEK RANJAN B080322CS B080442CS B080487CS B080572CS

Under the guidance of Mr. Vinod Pathari Assistant Professor CSED, NIT Calicut


Abstract Grid computing is considered as a promising next generation computational platform that supports wide-area and distributed computing. Application that are being used in this are generally regarded as workows. Workow management system model and workow task scheduling algorithms are critical research areas. The problem of scheduling workows in terms of certain Quality of Service(QoS) requirements is quite challenging. Aim of this project is to study dierent scheduling algorithms currently deployed in workow systems followed by introducing some alterations to one of these algorithms to provide ecient solution to multiple QoS requirements, to simulate the proposed algorithm and analyse its performance against the existing one.

1 Problem Denition 2 Introduction 2.1 Grid Computing . . . . . . . . . . . . . . . . . . . . 2.2 Workow Management System . . . . . . . . . . . . 2.3 Workow Scheduling Algorithm For Grid Computing 2.3.1 Scheduling Problem Overview[16] . . . . . . . 2.3.2 Best Eort Based Workow Scheduling . . . 2.4 QoS constraint based scheduling . . . . . . . . . . . 2.5 Genetic Algorithms . . . . . . . . . . . . . . . . . . . 2.5.1 Requirements . . . . . . . . . . . . . . . . . . 2.5.2 Initialization . . . . . . . . . . . . . . . . . . 2.5.3 Selection . . . . . . . . . . . . . . . . . . . . 2.5.4 Reproduction . . . . . . . . . . . . . . . . . . 2.5.5 Termination . . . . . . . . . . . . . . . . . . . 2.6 Ant Colony Optimization . . . . . . . . . . . . . . . 2.6.1 Edge selection . . . . . . . . . . . . . . . . . 2.6.2 Pheromone update . . . . . . . . . . . . . . . 3 Work Done 3.1 Selection of Benchmark . . . 3.1.1 Genetic Algorithm[16] 3.2 Overview of GridSim . . . . . 3.3 Modication and Design . . . 3.4 Result and Analysis . . . . . 4 Conclusion and Future Work References 3 4 4 5 6 6 6 9 9 10 11 11 11 11 12 12 13 14 14 14 15 19 21 23 24

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

Chapter 1

Problem Denition
The aim of this project is to study dierent job-scheduling algorithms to the QoS based meta-heuristic problems using Genetic Algorithms (GA) and Ant Colony Optimization (ACO) approach. Then, to simulate one of these existing algorithms (our benchmark)[16] using GridSim[2] and to propose some modications to the algorithm for an optimised solution, followed by its simulation and also to analyse the performance of the proposed algorithm against the benchmark.

Chapter 2

2.1 Grid Computing

Grid computing is a term referring to the combination of computer resources from multiple administrative domains to reach a common goal.[10] The grid can be thought of as loosely coupled, heterogeneous distributed system with non-interactive workloads.[10] Grids [7] have emerged as a global cyber-infrastructure for the next-generation of escience and e-business applications, by integrating large-scale, distributed and heterogeneous resources. A number of Grid middleware and management tools such as Globus [6], UNICORE [1] and Grid Bus [3] have been developed, in order to provide the infrastructure that enables users to access remote resources transparently over a secure, shared scalable world-wide network. More recently, Grid computing has progressed towards a service-oriented paradigm which denes a new way of service provisioning based on utility computing models. Within utility Grids, each resource is represented as a service to which consumers can negotiate their usage and Quality of Service. Scientic communities in areas such as high-energy physics, gravitational-wave physics, geophysics, astronomy and bioinformatics, are utilizing Grids to share, manage and process large data sets. In order to support complex scientic experiments, distributed resources such as computational devices, data, applications and scientic instruments need to be orchestrated while managing the application workow operations within Grid environments. Workow is concerned with the automation of procedures, whereby les and other data are passed between participants according to a dened set of rules in order to achieve an overall goal. A workow management system denes, manages and executes workow on computing resources. Workow Management is the key service in Grid Computing.


Workow Management System

It is a Computer System that manages and denes a series of task within an organization to produce a nal outcome or outcomes. Workow is concerned with the automation of procedures where documents, information or tasks are passed between participants according to a dened set of rules to achieve or contribute to an overall business goal. Realizing workow management for Grid computing requires a number of challenges to be overcome. They include workow application modeling, workow scheduling, resource discovery, information services, data management and fault management. However, from the users perspective, two important barriers that need to be overcome are: 1. the complexity of developing and deploying workow applications 2. their scheduling on heterogeneous and distributed resources to enhance the utility of resources and meet user Quality of Service (QoS) demands.

Figure 2.1: Workow Scheduling System for Grid [16]


Workow Scheduling Algorithm For Grid Computing

Challenges for scheduling workow applications in a Grid environment arises because 1. Resources are shared on Grids and many users compete for resources. 2. Resources are not under the control of the scheduler. 3. Resources are heterogeneous and may not all perform identically for any given task. 4. Many workow applications are data-intensive and large data sets are required to be transferred between multiple sites. Therefore, Grid workow scheduling is required to consider non-dedicated and heterogeneous execution environments. It also needs to address the issue of large data transmission across various data communication links.


Scheduling Problem Overview[16]

We model a workow application as a Directed Acyclic Graph (DAG). Let be the nite set of tasks Ti (1 i n). Let be the set of directed arcs of the form (Ti , Tj ) where Ti is called a parent task of Tj , and Tj the child task of Ti . We assume that a child task cannot be executed until all of its parent tasks have been completed. Let m be the total j number of services available. There is a set of services Si (1 i n, 1 j mi , mi m), capable of executing the task Ti , but each task can only be assigned for execution on one of these services. Services have varied processing capability delivered at dierent prices. We denote tj as the sum of the processing time and data transmission time, and cj as i i j the sum of the service price and data transmission cost for processing Ti on service Si . Let B be the cost constraint (budget) and D be the time constraint (deadline) specied by the users for workow execution. The budget constrained scheduling problem is to j map every Ti onto a suitable Si to minimize the execution time of the workow and complete it within B. The deadline constrained scheduling problem is to map every Ti j onto a suitable Si to minimize the execution cost of the workow and complete it within D.


Best Eort Based Workow Scheduling

Community Grids, in which resources are shared by dierent organizations, are targeted by best eort based workow algorithms. These algorithms attempt to complete the execution at the earliest possible time or minimize the makespan(time taken from the start of an application till the outputs are available to the user). In general best eort scheduling algorithms are derived either from heuristics approach or from meta-heuristics approach.

Figure 2.2: Taxonomy of Workow Scheduling[16] Heuristics Heuristic refers to thumb rules, intuitive judgment, educated guess overall experience based techniques for problem solving to speed up the process of nding solution where exhaustive search is impractical[12]. The heuristics proposed for workow scheduling can be classied into two categories i.e. task level workow level Task level heuristics makes workow decisions solely based upon the data available on the independent tasks at hand, while workow level takes the whole workow into account. Min-Min, Max-Min, Surage are three major task level heuristics employed for scheduling workows on Grids. Two workow level heuristics have been employed by ASKALON project[14]. One is based on Genetic Algorithms and another is a Heterogeneous-Earliest-Finish-Time (HEFT) algorithm[13](gure 2.3). Metaheuristics Metaheuristics are approximate optimization techniques developed in the last two decades with the sheer intention of tackling complex combinatorial optimization problems where 6

Figure 2.3: Comparison of Best Eort Workow Scheduling Algorithms (Heuristics)[16] classical heuristics and optimization methods failed to be eective. This method optimizes a problem by iteratively improving a candidate solution with regard to given qualities. It does not guarantee an optimized solution but searches a large space of candidate solution by making no assumption. Figure 2.4 explains breakthrough algorithms developed in the last decade or so. [11]

Figure 2.4: Comparison of Best Eort Workow Scheduling Algorithms (Metaheuristics)[16] .

Deadline Constrained Back-tracking Deadline distribution Genetic algorithms

Budget Constrained LOSS and GAIN Genetic algorithms Genetic algorithms

Table 2.1: QoS based algorithms on Budget and Deadline


QoS constraint based scheduling

Many workow applications require some assurances of quality of services (QoS). Workow scheduling is required to be able to analyze users QoS requirements and map workow on suitable resources such that the workow execution can be completed to satisfy users QoS constraints. However, whether the execution can be completed within a required QoS not only depend on the global scheduling decision of the workow scheduler but also depend on the local resource allocation model of each execution site. If the execution of every single task in the workow cannot be completed as what the scheduler expects, it is impossible to guarantee the entire workow execution. Instead of scheduling tasks on community Grids, QoS-constraint based schedulers should be able to interact with service-oriented Grid services to ensure resource availability and QoS levels. It is required that the scheduler can negotiate with service providers to establish a service level agreement (SLA) which is a contract specifying the minimum expectations and obligations between service providers and consumers. Users normally would like to specify a QoS constraint for entire workow. The scheduler needs to determine a QoS constraint for each task in the workow, such that the QoS of entire workow is satised. In general, service-oriented Grid services are based on utility computing models. Users need to pay for resource access. Service pricing is based on the QoS level and current market supply and demand. Therefore, unlike the scheduling strategy deployed in community Grids, QoS constraint based scheduling may not always need to complete the execution at earliest time. They sometimes may prefer to use cheaper services with a lower QoS that is sucient to meet their requirements.[16] Now we shall discuss the two meta-heuristic approaches Genetic Algorithms (Section 2.5) and Ant Colony Optimization Algorithms (Section 2.6).


Genetic Algorithms

A genetic algorithm (GA) is a search meta-heuristic that is used to generate useful solutions to optimization and search problems. It belong to the larger class of evolutionary algorithms (EA), which generate solutions to optimization problems using techniques inspired by natural evolution, such as inheritance, mutation, selection and crossover.[9]

Figure 2.5: A General Flow of a Genetic Algorithm



A genetic algorithm requires: 1. A genetic representation of the solution domain In a GA,each candidate solution (individual) needs to be encoded based on certain set of characteristics. Generally a solution is represented by an array of bits. Though arrays of other types and structures can also be used. A representation with xed size facilitates crossover operator. 2. A tness function to evaluate the solution A tness function is required for the following purpose: Parent selection Discarding individuals Measure for convergence It is always problem dependent. The evolution of the solution begins with a random population and occurs in generation. In every cycle, few individuals are selected from the present population of solutions based on their tness measure. In other words, a tness function is a measure of struggle for life by the individuals. After the genetic representation and the tness function have been dened, we initialise a population of solutions (randomly generated or occasionally generated by some heuristics) and optimize it by repeatedly applying stochastic operations like selection, crossover, mutation, etc. 9

Figure 2.6: A Simple Genetic Algorithm[9]



Initially, we generated many individual solutions to form an initial population set. Generally, the initial solutions cover the entire range of possible solutions. Though, sometime the solution is picked from the areas where most of the optimal solution are likely to occur.



In every cycle, few individual solutions are selected, based on the evaluation by the tness function, to reproduce new solutions.



Now, we need to generate a new generation of population of solutions from the initial population using the following genetic operators: crossover (also called recombination): It creates new individuals on the current population by combining of rearranging parts of the existing individuals. mutation: It occasionally occurs to allow a child to obtain features that are not possessed by either parent.



The reproduction cycle terminates in the following cases: A solution with the minimum criteria is obtained. No new solution can be reproduced. Fixed number of cycles has been reached. Allocated budget or deadline exhausted. Combination of the above. 10


Ant Colony Optimization

The ant colony optimization algorithm (ACO) is a probabilistic technique for solving computational problems which can be reduced to nding good paths through graphs[5]. In the natural world, ants (initially) wander randomly, and upon nding food return to their colony by laying down pheromone trails. If other ants nd such a path, they follow the trail instead of keep traveling at random. Over time, however, the pheromone trail starts to evaporate, thus reducing its attractive strength. The more time it takes for an ant to travel down the path and back again, the more time the pheromones have to evaporate. A short path, by comparison, gets marched over more frequently, and thus the pheromone density becomes higher on shorter paths than longer ones. If there were no pheromone evaporation at all, the paths chosen by the rst ants would tend to be excessively attractive to the following ones. In that case, the exploration of the solution space would be constrained. Thus, when one ant nds a good (i.e., short) path from the colony to a food source, other ants are more likely to follow that path, and positive feedback eventually leads all the ants following a single path.

Figure 2.7: A Natural Path Optimization by ants[4] The idea of the ant colony optimization is inspired from the above behavior of ants.


Edge selection

An ant is a computational agent in the ACO that iteratively constructs a solution for the problem at hand. At each iteration of the algorithm, each ant moves from a state x to state y, corresponding to a more complete intermediate solution. For ant k, the probability pk of moving from state x to state y depends on the combination of two xy values, which are: the attractiveness xy of the move, indicating desirability that biases the ants depending upon the problem the trail level xy of the move, indicating how procient it has been in the past to make that particular move 11

In general, the kth ant moves from state x to state y with probability (as given in [4]) pk xy =
(xy )(xy )

(xy )(xy )


where xy is the amount of pheromone deposited for transition from state x to y, 0 is a parameter to control the inuence of xy , xy is the desirability of state transition xy (from former knowledge as computed by heuristics, typically 1 / dxy , where d is the distance) and 1 is a parameter to control the inuence of xy .


Pheromone update

When all the ants have completed a solution, the trails are updated by (as given in [4])
k xy = (1 )xy + xy


where k xy is the amount of pheromone deposited for a state transition xy, is the pheromone evaporation coecient and xy is the amount of pheromone deposited.

In the next chapter, we will discuss the contribution made by us to this project.


Chapter 3

Work Done
3.1 Selection of Benchmark

We have selected a benchmark of Genetic Algorithms Approach[16].


Genetic Algorithm[16]

Initial Solution Generally, initial solutions are randomly generated. The algorithm has taken advantage of Greedy time-cost distribution(CD)[15] and Greedy cost-time distribution(TD)[15] for the initial solution. Fitness Function For the budget constrained scheduling, the cost-tness function: Fcost (I) = B c(I) , = {0, 1} maxCost(1) (3.1)

where c(I) is total cost of individual I, maxCost is the most expensive solution of current population and B is the budget of workow. For the deadline constrained scheduling, the time-tness function: Ftime (I) = B t(I) , = {0, 1} maxT ime(1) (3.2)

where t(I) is total completion time of individual I, maxTime is the most expensive solution of current population and B is the deadline of workow. Selection Scheme Roulette wheel selection scheme is used [16]. Experiment In order to evaluate, the algorithm was implemented and the test result was compared with a set of non-GA heuristics for two dierent types of workow applications on a simulated Grid testbed. 13

Workow Application Workow application structures can be categorized as either balanced structure or unbalanced structure: 1. The balanced-structure application consists of several parallel pipelines, which require the same types of services but process dierent data sets. 2. In the Unbalanced-structure application, many parallel tasks in the unbalanced structure require dierent types of services, and their workload and I/O data varies signicantly.


Overview of GridSim

The GridSim tool-kit provides a comprehensive facility for simulation of dierent classes of heterogeneous resources, user applications, resource brokers and schedulers[3]. It can be used to simulate application schedulers for single or multiple administrative domain distributed computing systems such as clusters and grids. System Architecture

Figure 3.1: System Architecture of GridSim [3]


For evaluating the performance of the workow scheduling algorithms, we have to simulate a grid broker using GridSim package, where we can insert these optimized scheduling algorithms.

Figure 3.2: Broker Architecture [3] Following key classes are implemented by grid broker package. Class Experiment : acts as a placeholder for representing simulation experiment conguration that includes synthesized application (a set of Gridlets stored in GridletList) and user requirements such as D and B factors or deadline and budget constraints, and optimization strategy.The user entity invokes the broker entity and passes its requirements via the experiment object. On receiving an experiment from its user, the broker schedules Gridlets according to the optimization policy set for the experiment. class UserEntity: a GridSim entity that simulates the user. It invokes the broker and passes the user requirements. When it receives the results of application processing, it records parameters of interest with the gridsim.Statistics entity. class Broker : a GridSim entity that simulates the Grid resource broker. On receiving an experiment from the user entity, it carries out resource discovery, and determines deadline and budget values based on D and B factors, and then proceeds with scheduling. It schedules Gridlets on resources depending on user constraints, optimization strategy, and cost of resources and their availability.


class BrokerResourse : acts as a placeholder for the broker to maintain a detailed record on the resources it uses for processing user applications. It maintains resource characteristics, a list of Gridlets assigned to the resource, the actual amount of MIPS available to the user, and a report on the Gridlets processed. class ReportWriter : a user-dened, optional GridSim entity which is meant for creating a report at the end of each simulation by interacting with the gridsim.Statistics entity. The Event Diagram of the interaction between dierent entities of Broker is shown in g 3.3.

Figure 3.3: Activity Diagram for interaction between dierent entities of broker


Simulation Environment
Figure 3.4 shows the simulation in which the simulated services are discovered by querying the GridSim Indexing Service (GIS). Every service is able to handle a free slot query, reservation request and commitment.

Figure 3.4: Simulation Environment of Gridsim[15] In the next subsection, we will discuss the modications made by us in the benchmark algorithm. Also we will cover the modication that is required in GridSim to simulate the proposed algorithm.



Modication and Design

While simulating the algorithms, we faced many diculties as Gridsim toolkit lacks a few functionalities. Thus, we had to make the following changes: Gridsim toolkit is designed for homogeneous subtasks(subtask is represented by gridlets in gridsim toolkit). Hence we modied the Gridsim.Gridlet class to include a resource list which contains all those resources which can process that gridlet(subtask). Gridsim toolkit is designed for independent subtasks and supports linked list. We had to modify the Gridsim.gridlet class to include a dependency list which consists of the parent gridlets. This helps to form a DAG representation for graphs. We had to perform topological sort to get the DAG out of the linked list. earlier,


For processing the Gridlet (subtask) in accordance with their dependency, we modied method dispatcher() in gridbroker.Broker class to send the scheduled Gridlet according to their dependency rather than ResourceList. In order to give better solution, we used Min-min (A best-eort heuristic approach) strategy to nd initial solutions for Genetic approach.


We proposed new tness functions. For Budget Optimization: Fc (I) = C(I) minCost C(I) maxCost minCost B (3.3)

where, Fc (I) is Cost tness function of individual I in population. C(I) is cost for individual I. maxCost is the most expensive solution of the current population. minCost is the least expensive solution of the current population. B is the user budget. Individual with lower Fc (I) is considered better (more t). If C(I) for an individual is greater than B, then the term C(I) is greater than one B and thus it acts as an penalty for the individual. For Deadline Optimization: T (I) minT ime T (I) maxT ime minT ime D

Ft (I) =


where, Ft (I) is Time tness function of individual I in population. T(I) is time for individual I. maxTime is the most expensive (in terms of time) solution of the current population. minTime is the least expensive (in terms of time) solution of the current population. D is the user deadline. Individual with lower Ft (I) is considered better (more t). (I) If T(I) for an individual is greater than D, then the term TD is greater than one and thus it acts as an penalty for the individual. For Cost-Time Optimization: F (I) = Fc (I) + (1 ) Ft (I) where is budget factor; 0 1 and (1-) is deadline factor. (3.5)



Result and Analysis

While simulating the benchmark and our proposed algorithms, we took 100 gridlets and 12 resources. The specication of resources are as follows:

GA : Genetic algorithm with initial solutions randomly selected (Bechmark). CD : Greedy time-cost distribution approach. TD : Greedy cost-time distribution approach. TD+GA: Genetic algorithm with initial solutions generated by TD. CD+GA: Genetic algorithm with initial solutions generated by CD. MIN+GA:Genetic algorithm with initial solutions generated by min-min heuristic. The simulation results are shown below(in Fig. 3.5 and Fig. 3.6). Cost optimization within a set deadline

Figure 3.5: Execution cost of Budget-Constraint Approaches


We can see all approaches cannot satisfy the low budget constraint. At low budget, Genetic Algorithm does not get much budget to optimise. Hence, general cost optimization strategy CD performs better than basic GA and other modied GA(with initial solution-MIN). As in the case of CD+GA, GA does not optimise the initial solution. Hence, we get the same result. MIN+GA performs worst, because it has already optimized according to best-eort and then trying to optimise according to budget constraint. At medium budget(5000), GA performs better than CD because the decision of task assignment for CD is based only on local budget constraint and does not consider task dependencies. CD distributes the budget among the tasks and then nds the fastest service. Hence, CD is not much ecient. Also, because of this GA performs better than CD+GA and MIN+GA. At high budget constraint, budget constraint distribution can be released. Hence CD and GA performs almost similar. Moreover CD+GA and MIN+GA produce better results. Time optimization within a set budget

Figure 3.6: Execution time of Deadline-Constraint Approaches We can see it is hard for all approaches to successfully meet the deadline constraints. But MIN+GA performs better as min-min heuristic already selected fastest solution as initial population. Also, since TD distributes the overall deadline between tasks based on both task workload and task dependencies; GA and TD both perform almost similar as deadline increases. Both TD+GA and MIN+GA perform better than other two. MIN+GA gives better result than TD+GA because MIN+GA starts with best-eort approach. This shows that the genetic algorithms can improve the overall results by employing some heuristics to get better individuals in its initial solutions. 21

Chapter 4

Conclusion and Future Work

We studied dierent strategies for scheduling employed in grid computing, both heuristics and meta-heuristics. Then, we described the two meta-heuristics (GA and ACO) approaches required for this project. Later we selected Genetic Algorithm to work on and chose a benchmark for the same. Next, a simulation environment, GridSim, was selected to evaluate their performance with the results claimed by these benchmarks. Finally we modied the algorithm given in the benchmark[16], simulated it using the simulation kit GridSim and compared the performance. This project aims to contribute to better deadline and budget constrained algorithms. Here we used min-min and other heuristics for the initial solution in our genetic approach. But min-min heuristic do not normally consider users QoS requirements, so QoS guided min-min[8] can be used. In our work, we only took deadline and budget into the consideration for users QoS. Security can also be taken into the consideration and a security tness function can also be dened. Moreover our work can be continued in the same line for an improved ACO scheduling algorithm by selecting a better phormone updation equation.


[1] J. Almond and D. Snelling. Unicore: uniform access to supercomputing as an element of electronic commerce. Future Generation Computer Systems, 15(5-6):539548, 1999. [2] R. Buyya and M. Murshed. Gridsim: A toolkit for the modeling and simulation of distributed resource management and scheduling for grid computing. Concurrency and Computation: Practice and Experience, 14(13-15):11751220, 2002. [3] R. Buyya and S. Venugopal. The gridbus toolkit for service oriented grid and utility computing: An overview and status report. In Grid Economics and Business Models, 2004. GECON 2004. 1st IEEE International Workshop on, pages 1966. IEEE, 2004. [4] M. Dorigo, M. Birattari, and T. Stutzle. Ant colony optimization. Computational Intelligence Magazine, IEEE, 1(4):2839, 2006. [5] M. Dorigo and T. Sttzle. Ant colony optimization. MIT Press, 2004. u [6] I. Foster and C. Kesselman. Globus: A metacomputing infrastructure toolkit. International Journal of High Performance Computing Applications, 11(2):115, 1997. [7] I. Foster, C. Kesselman, et al. The grid: blueprint for a future computing infrastructure, 1999. [8] X.S. He, X.H. Sun, and G. Von Laszewski. Qos guided min-min heuristic for grid task scheduling. Journal of Computer Science and Technology, 18(4):442451, 2003. [9] algorithm. [10] computing. [11] I.H. Osman and G. Laporte. Metaheuristics: A bibliography. Annals of Operations Research, 63:513623, 1996. [12] J. Pearl. Heuristics: intelligent search strategies for computer problem solving. 1984. 23

[13] H. Topcuoglu, S. Hariri, and M. Wu. Performance-eective and low-complexity task scheduling for heterogeneous computing. IEEE transactions on parallel and distributed systems, pages 260274, 2002. [14] M. Wieczorek, R. Prodan, and T. Fahringer. Scheduling of scientic workows in the askalon grid environment. ACM SIGMOD Record, 34(3):5662, 2005. [15] J. Yu. Qos-based scheduling of workows on global grids. 2007. [16] J. Yu, R. Buyya, and K. Ramamohanarao. Workow scheduling algorithms for grid computing. Metaheuristics for Scheduling in Distributed Computing Environments, pages 173214, 2008.