Job Scheduling on Computational Grids Using Fuzzy Particle Swarm Algorithm

Similar documents
A Particle Swarm Approach to Quadratic Assignment Problems

Variable Neighborhood Particle Swarm Optimization for Multi-objective Flexible Job-Shop Scheduling Problems

Extracting Multi-Knowledge from fmri Data through Swarm-based Rough Set Reduction

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM

Grid Scheduling using PSO with Naive Crossover

CHAPTER 6 ORTHOGONAL PARTICLE SWARM OPTIMIZATION

Particle Swarm Optimization Approach for Scheduling of Flexible Job Shops

Argha Roy* Dept. of CSE Netaji Subhash Engg. College West Bengal, India.

Research Article Path Planning Using a Hybrid Evolutionary Algorithm Based on Tree Structure Encoding

Meta- Heuristic based Optimization Algorithms: A Comparative Study of Genetic Algorithm and Particle Swarm Optimization

Traffic Signal Control Based On Fuzzy Artificial Neural Networks With Particle Swarm Optimization

Chapter 14 Global Search Algorithms

A NEW APPROACH TO SOLVE ECONOMIC LOAD DISPATCH USING PARTICLE SWARM OPTIMIZATION

International Journal of Digital Application & Contemporary research Website: (Volume 1, Issue 7, February 2013)

Non Dominated Particle Swarm Optimization For Scheduling Independent Tasks On Heterogeneous Distributed Environments

Scheduling Meta-tasks in Distributed Heterogeneous Computing Systems: A Meta-Heuristic Particle Swarm Optimization Approach

Algorithm Design (4) Metaheuristics

APPLICATION OF BPSO IN FLEXIBLE MANUFACTURING SYSTEM SCHEDULING

CHAPTER 6 HYBRID AI BASED IMAGE CLASSIFICATION TECHNIQUES

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation

International Conference on Modeling and SimulationCoimbatore, August 2007

SWITCHES ALLOCATION IN DISTRIBUTION NETWORK USING PARTICLE SWARM OPTIMIZATION BASED ON FUZZY EXPERT SYSTEM

An improved PID neural network controller for long time delay systems using particle swarm optimization algorithm

Improving Tree-Based Classification Rules Using a Particle Swarm Optimization

ARMA MODEL SELECTION USING PARTICLE SWARM OPTIMIZATION AND AIC CRITERIA. Mark S. Voss a b. and Xin Feng.

Hybrid Particle Swarm-Based-Simulated Annealing Optimization Techniques

Handling Multi Objectives of with Multi Objective Dynamic Particle Swarm Optimization

PARTICLE Swarm Optimization (PSO), an algorithm by

Feeder Reconfiguration Using Binary Coding Particle Swarm Optimization

Discrete Particle Swarm Optimization for TSP based on Neighborhood

Modified Particle Swarm Optimization

Mobile Robot Path Planning in Static Environments using Particle Swarm Optimization

Binary Differential Evolution Strategies

An Approach to Polygonal Approximation of Digital CurvesBasedonDiscreteParticleSwarmAlgorithm

Particle Swarm Optimization Based Approach for Location Area Planning in Cellular Networks

A *69>H>N6 #DJGC6A DG C<>C::G>C<,8>:C8:H /DA 'D 2:6G, ()-"&"3 -"(' ( +-" " " % '.+ % ' -0(+$,

Application of Improved Discrete Particle Swarm Optimization in Logistics Distribution Routing Problem

PARTICLE SWARM OPTIMIZATION (PSO)

Particle Swarm Optimization

Constraints in Particle Swarm Optimization of Hidden Markov Models

CHAPTER 2 CONVENTIONAL AND NON-CONVENTIONAL TECHNIQUES TO SOLVE ORPD PROBLEM

QUANTUM BASED PSO TECHNIQUE FOR IMAGE SEGMENTATION

A Combinatorial Algorithm for The Cardinality Constrained Portfolio Optimization Problem

1 Lab 5: Particle Swarm Optimization

Combinatorial Double Auction Winner Determination in Cloud Computing using Hybrid Genetic and Simulated Annealing Algorithm

CHAPTER 1 INTRODUCTION

Particle Swarm Optimization

Multi-objective Peer-to-Peer Neighbor-Selection Strategy Using Genetic Algorithm

LECTURE 16: SWARM INTELLIGENCE 2 / PARTICLE SWARM OPTIMIZATION 2

BI-OBJECTIVE EVOLUTIONARY ALGORITHM FOR FLEXIBLE JOB-SHOP SCHEDULING PROBLEM. Minimizing Make Span and the Total Workload of Machines

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search

Reconfiguration Optimization for Loss Reduction in Distribution Networks using Hybrid PSO algorithm and Fuzzy logic

Evolutionary Computation Algorithms for Cryptanalysis: A Study

A SIMULATED ANNEALING ALGORITHM FOR SOME CLASS OF DISCRETE-CONTINUOUS SCHEDULING PROBLEMS. Joanna Józefowska, Marek Mika and Jan Węglarz

Index Terms PSO, parallel computing, clustering, multiprocessor.

A HYBRID ALGORITHM BASED ON PARTICLE SWARM OPTIMIZATION

A MULTI-SWARM PARTICLE SWARM OPTIMIZATION WITH LOCAL SEARCH ON MULTI-ROBOT SEARCH SYSTEM

A Modified PSO Technique for the Coordination Problem in Presence of DG

Extending MATLAB and GA to Solve Job Shop Manufacturing Scheduling Problems

A Survey of Evolutionary Heuristic Algorithm for Job Scheduling in Grid Computing

Non-deterministic Search techniques. Emma Hart

Particle Swarm Optimization applied to Pattern Recognition

Particle Swarm Optimization Applied to Job Shop Scheduling

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

Comparison of Some Evolutionary Algorithms for Approximate Solutions of Optimal Control Problems

GT HEURISTIC FOR SOLVING MULTI OBJECTIVE JOB SHOP SCHEDULING PROBLEMS

1 Lab + Hwk 5: Particle Swarm Optimization

TASK SCHEDULING USING HAMMING PARTICLE SWARM OPTIMIZATION IN DISTRIBUTED SYSTEMS

International Journal of Current Research and Modern Education (IJCRME) ISSN (Online): & Impact Factor: Special Issue, NCFTCCPS -

Bi-Objective Optimization for Scheduling in Heterogeneous Computing Systems

Artificial Bee Colony (ABC) Optimization Algorithm for Solving Constrained Optimization Problems

ATI Material Do Not Duplicate ATI Material. www. ATIcourses.com. www. ATIcourses.com

Discrete Multi-Valued Particle Swarm Optimization


Particle Swarm Optimization Approach with Parameter-wise Hill-climbing Heuristic for Task Allocation of Workflow Applications on the Cloud

Optimization of Makespan and Mean Flow Time for Job Shop Scheduling Problem FT06 Using ACO

PARALLEL PARTICLE SWARM OPTIMIZATION IN DATA CLUSTERING

GA is the most popular population based heuristic algorithm since it was developed by Holland in 1975 [1]. This algorithm runs faster and requires les

An Overview of Particle Swarm Optimization Variants

A Native Approach to Cell to Switch Assignment Using Firefly Algorithm

INTEGRATION OF INVENTORY CONTROL AND SCHEDULING USING BINARY PARTICLE SWARM OPTIMIZATION ALGORITHM

FOREST PLANNING USING PSO WITH A PRIORITY REPRESENTATION

PSO and ACO based approach for solving combinatorial Fuzzy Job Shop Scheduling Problem

Cell-to-switch assignment in. cellular networks. barebones particle swarm optimization

A Modified Genetic Algorithm for Process Scheduling in Distributed System

GENETIC ALGORITHM with Hands-On exercise

Optimization Techniques for Design Space Exploration

Comparative Analysis of Swarm Intelligence Optimization Techniques for Cloud Scheduling

1 Lab + Hwk 5: Particle Swarm Optimization

QoS Guided Min-Mean Task Scheduling Algorithm for Scheduling Dr.G.K.Kamalam

Three-Dimensional Off-Line Path Planning for Unmanned Aerial Vehicle Using Modified Particle Swarm Optimization

A Hybrid Genetic Algorithm for the Distributed Permutation Flowshop Scheduling Problem Yan Li 1, a*, Zhigang Chen 2, b

Available online at ScienceDirect. Procedia Computer Science 65 (2015 )

Sparse Matrices Reordering using Evolutionary Algorithms: A Seeded Approach

Discrete Particle Swarm Optimization for Solving a Single to Multiple Destinations in Evacuation Planning

An Improved Blind Watermarking Scheme in Wavelet Domain

Dr. Ramesh Kumar, Nayan Kumar (Department of Electrical Engineering,NIT Patna, India, (Department of Electrical Engineering,NIT Uttarakhand, India,

CHAPTER 5 OPTIMAL CLUSTER-BASED RETRIEVAL

A Particle Swarm Optimization Algorithm for Solving Flexible Job-Shop Scheduling Problem

Comparison of two variants of particle swarm optimization algorithm for solving flexible job shop scheduling problem

Transcription:

Job Scheduling on Computational Grids Using Fuzzy Particle Swarm Algorithm Ajith Abraham 1,3, Hongbo Liu 2, and Weishi Zhang 3 1 School of Computer Science and Engineering, Chung-Ang University, Seoul, Korea ajithabraham@ieeeorg 2 Department of Computer Science, Dalian University of Technology, Dalian, China lhb@dluteducn 3 School of Computer Science, Dalian Maritime University, Dalian, China teesiv@dlmueducn Abstract Grid computing is a computing framework to meet the growing computational demands Essential grid services contain more intelligent functions for resource management, security, grid service marketing, collaboration and so on The load sharing of computational jobs is the major task of computational grids Grid resource manager provides functional mechanism for discovery, publishing of resources as well as scheduling, submission and monitoring of jobs In this paper, we introduce a novel approach based on Particle Swarm Optimization (PSO) for scheduling jobs on computational grids The representations of the position and velocity of the particles in the conventional PSO is extended from the real vectors to fuzzy matrices Our approach is to dynamically generate an optimal schedule so as to complete the tasks in a minimum period of time as well as utilizing the resources in an efficient way We evaluate the performance of our proposed approach with a direct Genetic Algorithm (GA) and Simulated Annealing (SA) approach 1 Introduction A computational grid is a large scale, heterogeneous collection of autonomous systems, geographically distributed and interconnected by low latency and high bandwidth networks [1] Some intelligent functions in grid services will make the grid environment more efficient, secure, economic in using resources, intelligent and easy to use [2, 3] The sharing of computational jobs is a major application of grids Grid resource management provides functionality for discovery and publishing of resources as well as scheduling, submission and monitoring of jobs However, computing resources are geographically distributed under different ownerships each having their own access policy, cost and various constraints Every resource owners will have a unique way of managing and scheduling resources and the grid schedulers are to ensure that they do not conflict with resource owner s policies In the worst-case situation, the resource owners might charge different prices to different grid users for their resource usage and it

2 Abraham, Liu and Zhang might vary from time to time The job scheduling problem is known to be NPcomplete [4] Recently genetic algorithms were introduced to minimize the average completion time of jobs through optimal job allocation on each grid node in application-level scheduling [5, 6] Because of the intractable nature of the problem and its importance in grid computing, it is desirable to explore other avenues for developing good heuristic algorithms for the problem Particle Swarm Optimization (PSO), has become the new focus of research [7 10] recently In this paper, we introduce an approach based on PSO for scheduling jobs on computational grids Fuzzy matrices are used to represent the position and velocity of the particles in the PSO algorithm for mapping the job schedules and the particle Our approach is to dynamically generate an optimal schedule so as to complete the tasks in a minimum period of time as well as utilizing the resources The paper is organized as follows In Section 2, grid resource management and scheduling issues are discussed A fuzzy scheme based on particle swarm optimization is introduced in Section 3 Experiment settings, results and discussions are given in Section 4 followed by some conclusions in the last Section 2 Grid Resource Management and Scheduling Issues The grid resource broker is responsible for resource discovery, deciding allocation of a job to a particular grid node, binding of user applications (files), hardware resources, initiate computations, adapt to the changes in grid resources and present the grid to the user as a single, unified resource [11] It finally controls the physical allocation of the tasks and manages the available resources constantly while dynamically updating the grid scheduler whenever there is a change in resource availability In a grid environment knowing the processing speeds of the available grid nodes and the job length of user applications is a tedious task Usually it is easy to get information about the speed of the available grid nodes but quite complicated to know the computational processing time requirements from the user When the computing power demand is much greater than the available grid nodes only dynamic scheduling will be useful To conceptualize the problem as an algorithm, we need to dynamically estimate the job lengths from user application specifications or historical data To formulate the problem, we consider J j (j {1, 2,, n}) independent user jobs on G i (i {1, 2,, m}) heterogeneous grid nodes with an objective of minimizing the completion time and utilizing the nodes effectively The speed of each node is expressed in number of cycles per unit time (cput), and the length of each job in number of cycles Each job J j has its processing requirement (cycles) and the node G i has its calculating speed (cycles/second) Any job J j has to be processed in the one of grid nodes G i, until completion Since all nodes at each stage are identical and preemptions are not allowed, to define a schedule it suffices to specify the completion time for all tasks comprising each job To formulate our objective, define C i,j (i {1, 2,, m}, j {1, 2,, n}) as the completion time that the grid node G i finishes the job J j, C i represents

Scheduling Jobs on Computational Grids 3 the time that the grid node G i completes th processing of all the jobs Define C max = max{ C i } as the makespan, and m i=1 ( C i ) as the flowtime An optimal schedule will be the one that optimizes the flowtime and makespan The conceptually obvious rule to minimize m i=1 ( C i ) is to schedule Shortest Job on the Fastest Node (SJFN) The simplest rule to minimize C max is to schedule the Longest Job on the Fastest Node (LJFN) Minimizing m i=1 ( C i ) asks the average job finishes quickly, at the expense of the largest job taking a long time, whereas minimizing C max, asks that no job takes too long, at the expense of most jobs taking a long time Minimization of C max will result in maximization of m i=1 ( C i ) 3 A fuzzy scheme based on particle swarm optimization Particle swarm optimization, as a novel swarm intelligent technique, has succeeded in many continuous problems, but research on discrete problems especially combinatorial optimization problem has been done little [12, 13] In this section, we design a fuzzy scheme based on discrete particle swarm optimization to solve the job scheduling problem We extend the vectors to fuzzy matrices to represent the position and velocity of the particles in PSO and re-define the operators in PSO according to the matrix transformation 31 Fuzzy matrix to represent job scheduling Suppose G = {G 1, G 2,, G m }, J = {J 1, J 2,, J n }, then the fuzzy scheduling relation from G to J can be expressed as follows: s 11 s 12 s 1n s 21 s 22 s 2n S = s m1 s m2 s mn Here s ij represents the degree of membership of the i-th element G i in domain G and the j-th element J j in domain J to relation S The fuzzy relation S between G and J has the following meaning: for each element in the matrix S, the element s ij = µ R (G i, J j ), i {1, 2,, m}, j {1, 2,, n} (1) µ R is the membership function, the value of s ij means the degree of membership that the grid node G j would process the job J i in **the feasible schedule solution** In the grid **job scheduling problem**, the elements of the solution must satisfy the following conditions: s ij [0, 1], i {1, 2,, m}, j {1, 2,, n} (2) m s ij = 1, i {1, 2,, m}, j {1, 2,, n} (3) i=1

4 Abraham, Liu and Zhang 32 Particle swarm optimization The standard PSO model consists of a swarm of particles, which are initialized with a population of random candidate solutions They move iteratively through the d-dimension problem space to search the new solutions, where the fitness, f, can be calculated as the certain qualities measure Each particle has a position represented by a position-vector x i (i is the index of the particle), and a velocity represented by a velocity-vector v i Each particle remembers its own best position so far in a vector x # i, and its j-th dimensional value is x# ij The best position-vector among the swarm so far is then stored in a vector x, and its j-th dimensional value is x j During the iteration time t, the update of the velocity from the previous velocity to the new velocity is determined by equation (4) And then the new position is determined by the sum of the previous position and the new velocity by equation (5) v ij (t + 1) = wv ij (t) + c 1 r 1 (x # ij (t) x ij(t)) + c 2 r 2 (x j (t) x ij (t)) (4) x ij (t + 1) = x ij (t) + v ij (t + 1) (5) where r 1 and r 2 are the random numbers, uniformly distributed with the interval [0,1] for the j-th dimension of i-th particle c 1 is a positive constant, called as coefficient of the self-recognition component, c 2 is a positive constant, called as coefficient of the social component The variable w is called as the inertia factor, which value is typically setup to vary linearly from 1 to near 0 during the iterated processing From equation (4), a particle decides where to move next, considering its own experience, which is the memory of its best past position, and the experience of its most successful particle in the swarm In the particle swarm model, the particle searches the solutions in the problem space with a range [ s, s] (If the range is not symmetrical, it can be translated to the corresponding symmetrical range) In order to guide the particles effectively in the search space, the maximum moving distance during one iteration must be clamped in between the maximum velocity [ v max, v max ] given in (6): v ij = sign(v ij )min( v ij, v max ) (6) The value of v max is p s, with 01 p 10 and is usually chosen to be s, ie p = 1 33 A dynamic job scheduling scheme for computational grid For applying PSO successfully, one of the key issues is how to map the problem solution to the PSO particle space, which directly affects its feasibility and performance We assume that the jobs and grid nodes are arranged in an ascending order according to the job lengths and the node processing speeds The information related job lengths may be derived from historical data, some kind of strategy defined by the user or through load profiling According to fuzzy matrix

Scheduling Jobs on Computational Grids 5 representation of the job scheduling problem, the symbols and operators in (4) and (5) are re-defined x 11 x 12 x 1n x 21 x 22 x 2n X = x m1 x m2 x mn The elements in the matrix X above have the same meaning as (1) Accordingly, the elements of the matrix X must satisfy the following conditions: x ij [0, 1], i {1, 2,, m}, j {1, 2,, n} (7) m x ij = 1, i {1, 2,, m}, j {1, 2,, n} (8) i=1 We define similarly the velocity of the particle as: v 11 v 12 v 1n v 21 v 22 v 2n V = v m1 v m2 v mn The operators of (4) and (5) should be re-defined because the position and velocity have been transformed to the form of matrices, The symbol is used to denote the modified multiplication Let α be a real number, α V or α X means all the elements in the matrix V or X are multiplied by α The symbol and symbol denote the addition and subtraction between matrices respectively Suppose A and B are two matrices which denote position or velocity, then A B and A B are regular addition and subtraction operation between matrices Then we get the(9) and (10) for updating the positions and velocities of the particles in the new PSO algorithm: V (t + 1) = w V (t) (c 1 r 1 ) X # (t) X(t)) (c 2 r 2 ) (X (t) X(t)) (9) X(t + 1) = X(t) V (t + 1)) (10) The position matrix may violate the constraints (7)and (8) after some iterations, so it is necessary to normalize the position matrix First we make all the negative elements in the matrix to become zero If all elements in a column of the matrix are zero, they need be re-evaluated using a series of random numbers within the interval [0,1] And then the matrix undergoes the following transformation without violating the constraints: x 11 / m i=1 x i1 x 12 / m i=1 x i2 x 1n / m i=1 x in x 21 / m i=1 x i1 x 22 / m i=1 x i2 x 2n / m i=1 x in Xnormal = x m1 / m i=1 x i1 x m2 / m i=1 x i2 x mn / m i=1 x in

6 Abraham, Liu and Zhang Since the position matrix indicates the potential scheduling solution, we should decode the fuzzy matrix and get the feasible solution Max number method is used to defuzzify from the position matrix In this method, we have a flag array to record whether we have selected the columns of the matrix and a scheduling array to record the scheduling solution First all the columns are not selected, then for each columns of the matrix, we choose the element which has the max value, then mark the column of the max element selected, and the column number are recorded in the scheduling array After all the columns have been processed, we get the scheduling solution from the scheduling array and the makespan (solution) To optimize the makespan and flowtime, we propose to swap the usage of LJFN and SJFN heuristic alternatively every time the new jobs are allocated to the grid nodes If the number of jobs is less than the number of grid nodes, we propose to allocate the jobs based on a First-Come-First-Serve basis and LJFN heuristic (if possible) In a grid environment, a scheduler might have to make a multi-criteria decision analysis (access policy, access cost, resource requirements, processing speed, etc) for selecting an optimal solution To formulate the algorithm, we propose the following job lists and grid node lists JList 1 and GList 1 are to be dynamically updated through load profiling, grid node health status, and forecasted load status, etc along with grid information services The entire job and the grid node lists are to be arranged in the ascending order of the job lengths and processing speeds/access-cost (based on multi-criteria decision analysis) Frequency of updating the lists will very much depend on the grid condition, availability of grid nodes and jobs The scheme based on fuzzy discrete PSO for the job scheduling problem is summarized as Algorithm 1 JList 1 = Job list maintaining the list of all the jobs to be processed JList 2 = Job list maintaining only the list of jobs being scheduled JList 3 = Job list maintaining only the list of jobs already allocated (JList 3 = JList 1 JList 2 ) GList 1 = List of available grid nodes (including time frame) GList 2 = List of grid nodes already allocated to jobs GList 3 = List of free grid nodes (GList 3 = GList 1 GList 2 ) 4 Experiment Settings, Results and Discussions In our experiments, Genetic Algorithm (GA) [14] and Simulated Annealing (SA) [15, 16] was used to compare the performance with PSO The three algorithms share many similarities PSO is a stochastic search technique inspired by social behavior of bird flocking or fish schooling GA and SA are powerful stochastic search and optimization methods, which are also inspired from the nature Genetic algorithms mimic an evolutionary natural selection process Generations of solutions are evaluated according to a fitness value and only those candidates with high fitness values are used to create further solutions via crossover and

Scheduling Jobs on Computational Grids 7 Algorithm 1 A scheduling scheme based on fuzzy discrete PSO 0 If the grid is active and (JList 1 = 0) and no new jobs have been submitted, wait for new jobs to be submitted Otherwise, update GList 1 and JList 1 1 If (GList 1 = 0), wait until grid nodes are available If JList 1 > 0, update JList 2 If JList 2 < GList 1 (available gird nodes) allocate the jobs on a first-come-first-serve basis and if possible allocate the longest job on the fastest grid node according to the LJFN heuristic If JList 1 > GList 1, job allocation is to be made by following the fuzzy discrete PSO algorithm detailed below Take jobs and available grid nodes from JList 2 and GList 3 If m n (m is the number of the grid nodes, n is the number of the jobs) is larger than the dimension threshold D T, the jobs and the grid nodes are grouped into the fuzzy discrete PSO algorithm loop, and the single node flowtime is accumulated The LJFN-SJFN heuristic is applied alternatively after a batch of jobs and nodes are allocated 2 At t = 0, represent the jobs and the nodes using fuzzy matrix 3 Begin fuzzy discrete PSO Loop 30 Initialize the size of the particle swarm n and other parameters 31 Initialize a random position matrix and a random velocity matrix for each particle, and then normalize the matrices 32 While (the end criterion is not met) do 320 t = t + 1; 321 Defuzzy the position, and calculate the makespan and total flowtime for each particle (the feasible solution); 322 X = argmin n i=1(f(x (t 1)), f(x 1 (t)), f(x 2 (t)),, f(x i (t)),, f(x n (t))); 323 For each particle, X # i (t) = argminn i=1(f(x # i (t 1)), f(xi(t)) 324 For each particle, update each element in its position matrix and its velocity matrix according to equations (9, 10 and 6); 325 Normalize the position matrix for each particle; 33 End while 4 End of the fuzzy discrete PSO Loop 5 Check the feasibility of the generated schedule with respect to grid node availability and user specified requirements Then allocate the jobs to the grid nodes and update JList 2, JList 3, GList 2 and GList 3 Un-allocated jobs (infeasible schedules or grid node non-availability) shall be transferred to JList 1 for re-scheduling or dealt with separately 6 Repeat steps 0-5 as long as the grid is active

8 Abraham, Liu and Zhang Table 1 Parameter settings for the algorithms Algorithm Parameter name Parameter value Size of the population 20 Probability of crossover 08 GA Probability of mutation 002 Scale for mutations 01 Tournament probability 07 Number operations before temperature adjustment 20 Number of cycles 10 SA Temperature reduction factor 085 Vector for control step of length adjustment 2 Initial temperature 50 Swarm size 20 PSO Self-recognition coefficient c 1 149 Social coefficient c 2 149 Inertia weight w 09 01 mutation procedures Simulated annealing is based on the manner in which liquids freeze or metals re-crystalize in the process of annealing In an annealing process, a melt, initially at high temperature and disordered, is slowly cooled so that the system at any time is approximately in thermodynamic equilibrium In terms of computational simulation, a global minimum would correspond to such a frozen (steady) ground state at the temperature T=0 Both methods are valid and efficient methods in numeric programming and have been employed in various fields due to their strong convergence properties Specific parameter settings all the considered algorithms are described in Table 1 To illustrate the algorithm, we considered a finite number of grid nodes and assumed that the processing speeds of the grid nodes (cput) and the job lengths (processing requirements in cycles) are known Each experiment (for each algorithm) was repeated 10 times with different random seeds Each trial had a fixed number of 50 m n iterations (m is the number of the grid nodes, n is the number of the jobs) The makespan values of the best solutions throughout the optimization run were recorded And the averages and the standard deviations were calculated from the 10 different trials The standard deviation indicates the differences in the results during the 10 different trials In a grid environment, the main emphasis will be to generate the schedules at a minimal amount of time So the completion time for 10 trials were used as one of the criteria to improve their performance In order to closely track the performance of our algorithms, first we tested a small scale job scheduling problem, (3,13), in which the node speeds of the 3 nodes and the job length of 13 jobs are listed in Table 2 Figure 1(a) shows the performance of the three algorithms The results for 10 GA runs were {47, 46, 47, 473333, 46, 47, 47, 47, 473333, 49}, with an average value of 471167 The results of 10 SA runs were {465, 465, 46, 46,46, 466667, 47, 473333, 47,

Scheduling Jobs on Computational Grids 9 47}with an average value of 466 The results of 10 PSO runs were {46, 46, 46, 46, 465, 465, 465, 46, 465, 466667}, with an average value of 462667 The optimal result is supposed to be 46 While GA provided the best results twice, SA and PSO provided the best result three and five times respectively Table 3 shows one of the best job scheduling results, in which 1 means the job is scheduled to the respective grid node 55 54 53 GA SA PSO 125 120 115 GA SA PSO 52 110 Makespan 51 50 Makespan 105 100 49 95 48 90 47 85 46 0 500 1000 1500 2000 Iteration 80 0 05 1 15 2 25 Iteration x 10 4 Fig 1 Performance for Job Scheduling [a] (3,13) and [b] (5,100) 100 90 GA SA PSO 65 60 GA SA PSO 80 55 Makespan 70 Makespan 50 60 45 50 40 40 0 05 1 15 2 25 Iteration x 10 4 35 0 05 1 15 2 25 Iteration x 10 4 Fig 2 Performance for Job Scheduling [a] (8,60) and [b] (10,50) Further, we tested the three algorithms for other three (G, J) pairs, ie (5, 100), (8, 60) and (10, 50) All the jobs and the nodes were submitted at one time Figures 1(b) and 2 illustrate the performance curves for the three algorithms during the search processes for the three (G, J) pairs The average makespan values, the standard deviations and the time for 10 trials are showed in Table 4 Although the average makespan value of SA was better than that of GA for (3,13), the case was reversed for bigger problem sizes PSO usually had better average makespan values than the other two algorithms The makespan results

10 Abraham, Liu and Zhang 350 300 GA PSO 600 500 GA PSO 250 400 Makespan 200 150 Makespan 300 100 200 50 100 0 0 2 4 6 Iteration 8 10 12 x 10 4 0 0 05 1 15 2 25 Iteration x 10 5 Fig 3 Performance for Job Scheduling [a] (60,500) and [b] (100,1000) for GA and PSO Table 2 Node speeds and job length for (3,13) Node Speed (cput) Job length (cycles) G 1 = 4 J 1 =6 J 8 =36 G 2 = 3 J 2 =12 J 9 =40 G 3= 2 J 3=16 J 10=42 J 4 =20 J 11 =48 J 5=24 J 12=52 J 6 =28 J 13 =60 J 7 =30 of SA seemed to depend on the initial solutions extremely Although the best values in the ten trials for SA were not worse than other algorithms, it had larger standard deviations For SA, there were some bad results in the ten trials, so the averages were the largest In general, for larger (G, J) pairs, the time was much longer PSO usually spent the least time to allocate all the jobs on the grid node, GA was the second, and SA had to spent more time to complete the scheduling It is to be noted that PSO usually spent the shortest time to accomplish all the job scheduling and had the best results among all the considered three aglorithms When (G, J) is larger than the dimension threshold D T, for example, 500, the completion time of the job scheduling would overrun the endurable time limit, if all jobs and nodes are scheduled at one time We considered two largedimensions of (G, J) (60,500) and (100,1000) by submitting the jobs and the nodes in multi-stages consecutively In each stage, 10 jobs would be allocated to 5 nodes, and the single node flowtime was accumulated The LJFN-SJFN heuristic was applied alternatively after a batch of jobs and nodes were allocated Figure 3 illustrates the performance curves of GA and PSO during the search processes for the considered (G, J) pairs The computational complexity of the job scheduling focused on the submitting process of the jobs and the nodes, and in each stage the system only scheduled 10 jobs to 5 nodes Although the varying

Scheduling Jobs on Computational Grids 11 Table 3 An optimal schedule for (3,13) Grid Node Job J 1 J 2 J 3 J 4 J 5 J 6 J 7 J 8 J 9 J 10 J 11 J 12 J 13 G 1 0 0 1 0 0 0 1 1 0 1 0 0 1 G 2 1 0 0 1 1 0 0 0 1 0 1 0 0 G 3 0 1 0 0 0 1 0 0 0 0 0 1 0 Table 4 Performance comparison of the three algorithms Algorithm Item Instance (3,13) (5,100) (8,60) (10,50) Average makespan 471167 857431 429270 380428 GA Standard Deviation ±07700 ±06217 ±04150 ±06613 Time 3029210 24159 22630 26281 Average makespan 466000 907338 554594 417889 SA Standard Deviation ±04856 ±63833 ±20605 ±80773 Time 3325000 65678 60949 69264 Average makespan 462667 840544 419489 376668 PSO Standard Deviation ±02854 ±05030 ±06944 ±06068 Time 1062030 14856 15210 15857 tendency of the search process of GA and PSO is quite similar, the results of PSO were slightly better than GA 5 Conclusions In this paper, we introduced a scheme based on fuzzy discrete particle swarm optimization for scheduling jobs on computational grids The representations of the position and velocity of the particles in PSO is extended from the real vectors to fuzzy matrices, through which we accomplished the mapping between the job scheduling problem and the particle Our approach is to dynamically generate an optimal schedule so as to complete the tasks in a minimum period of time as well as utilizing the resources in an efficient way We evaluated the performance of our proposed approach and compared it with genetic algorithms and simulated annealing, which demonstrated our algorithm scheme can be applied in a computational grid environment for job scheduling Acknowledgments The work is supported by NSFC (60373095), MOE (KP0302) and MOST (2001CCA00700)

12 Abraham, Liu and Zhang References 1 Foster I and Kesselman C, The Grid: Blueprint for a New Computing Infrastructure, Morgan Kaufmann, 2004 2 D Laforenza, Grid programming: some indications where we are headed Author, Parallel Computing, Elsevier, 28(12) (2002) 1733-1752 3 Joseph J and Fellenstein C, Grid Computing, IBM Press, 2004 4 Garey M R and Johnson D S, Computers and Intractability: a Guide to the Theory of NP-Completeness, Freeman, 1979 5 V D Martino and M Mililotti, Sub optimal scheduling in a grid using genetic algorithms, Parallel Computing, Elsevier, 30 (2004) 553-565 6 Y Gao, H Q Rong and J Z Huang, Adaptive grid job scheduling with genetic algorithms, Future Generation Computer Systems, Elsevier, 21 (2005) 151-161 7 Kennedy J and Eberhart R Swarm Intelligence, Morgan Kaufmann, 2001 8 A Salman, I Ahmad and S Al-Madani, Particle swarm optimization for task assignment problem, Microprocessors and Microsystems, Elsevier, 26 (2002) 363-371 9 C W Jiang and B Etorre, A hybrid method of chaotic particle swarm optimization and linear Interior for reactive power optimisation, Mathematics and Computers in Simulation, Elsevier, 68 (2005) 57-65 10 J F Schute and A A Groenwold, A study of global optimization using particle swarms, Journal of Global Optimization, Kluwer Academic Publishers, 31 (2005) 93-108 11 A Abraham, R Buyya and B Nath, Nature s heuristics for scheduling jobs on computational grids, The 8th IEEE International Conference on Advanced Computing and Communications (ADCOM 2000), IEEE Computer Society Press, December 14-16, 2000, Cochin, India 12 J Kennedy and R C Eberhart, A discrete binary version of the particle swarm algorithm, In: Proceedings of International Conference on Systems, Man, and Cybernetics, IEEE Computer Society Press, (1997) 4104-4108 13 X H Shi, X L Xing, Q X Wang, at el, A discrete PSO method for generalized TSP problem, In: Proceedings of International Conference on Machine Learning and Cybernetics, IEEE Computer Society Press, (2004) 2378-2383 14 Cantu-Paz E, Efficient and Accurate Parallel Genetic Algorithms, Kluwer Academic Publishers, 2000 15 J E Orosz and S H Jacobson, Analysis of static simulated annealing algorithms, Journal of Optimzation theory and Applications, Springer, 115(1) (2002) 165-182 16 E Triki, Y Collette and P Siarry, A theoretical study on the behavior of simulated annealing leading to a new cooling schedule, European Journal of Operational Research, Elsevier, 166 (2005) 77-92