21.01.2014 Views

Xiao Liu PhD Thesis.pdf - Faculty of Information and Communication ...

Xiao Liu PhD Thesis.pdf - Faculty of Information and Communication ...

Xiao Liu PhD Thesis.pdf - Faculty of Information and Communication ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Ant Colony Optimisation<br />

Input: Integrated Task-to-VM list L{ ( Ti , VM j ) | i = 1,2,.., n;<br />

j = 1,2,.., m};<br />

Tasks { T i , Cost i , Time i , DAG{<br />

T i > T i+ 1}};<br />

Virtual Machines { VM j,<br />

Price j , Speed j}.<br />

Output: Optimised Scheduling Plan<br />

//Optimising the overall makespan <strong>and</strong> cost<br />

//Initialisation <strong>of</strong> pheromone <strong>and</strong> other parameters for ACO algorithm<br />

// Package based r<strong>and</strong>om generation<br />

1) INITIALISATION(ACO);<br />

2) While (stopping condition is not met)<br />

{<br />

// initialise each ant<br />

for each ant<br />

{<br />

// select heuristics from duration-greedy, cost-greedy <strong>and</strong> overall-greedy<br />

3) SELECTION (Heuristics);<br />

// build tackling sequence TS based on the input DAG task graphs<br />

4) BUILDING( TS,<br />

DAGs);<br />

}<br />

// construct solutions<br />

5) While (not end <strong>of</strong> TS)<br />

{<br />

// choose the resource for the next activity based on its earliest start time ,<br />

earliest end time, <strong>and</strong> the bias <strong>of</strong> B ij (mapping resource R j to activity a i )<br />

6) CHOOSE ( ai,<br />

ai.<br />

est,<br />

ai.<br />

eet , R{<br />

R<br />

j},<br />

Bij<br />

);<br />

// update the est <strong>and</strong> eet for all the subsequent activities;<br />

7) UPDATE( est,<br />

eet);<br />

// update local pheromone for both duration <strong>and</strong> cost<br />

8) LOCALUPDATE( dτ<br />

ij<br />

, dτ<br />

ij<br />

);<br />

}<br />

// update the global pheromone based on the makespan <strong>and</strong> cost <strong>of</strong> the best-s<strong>of</strong>ar<br />

solution<br />

bs bs<br />

9) GLOBALUPDATE<br />

( dτ<br />

ij<br />

, dτ<br />

ij<br />

, makespan , cos t );<br />

// return the best-so-far solution <strong>and</strong> record into the SolutionSet<br />

10) RETURN( Solution,<br />

SolutionSet);<br />

}<br />

// Selecting the BestSolution according to user preferences<br />

11) BestSoluti on = COMPARE( SolutionSet , UserPref );<br />

// deploy the scheduling plan<br />

12) Deploy(L).<br />

Figure 8.4 ACO based Rescheduling Algorithm<br />

8.3.4 Other Representative Metaheuristic Algorithms<br />

Besides GA <strong>and</strong> ACO introduced above, other representative metaheuristic<br />

algorithms <strong>of</strong>ten used in workflow scheduling/rescheduling include PSO (Particle<br />

Swarm Optimisation) [102], GRASP (Greedy R<strong>and</strong>omised Adaptive Search<br />

Procedure) [100] <strong>and</strong> SA (Simulated Annealing) [5]. In this thesis, we do not intend<br />

to investigate all <strong>of</strong> the metaheuristics algorithms. Readers interested in an overview<br />

<strong>of</strong> representative metaheuristics based algorithms may refer to [6]. Meanwhile, we<br />

136

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!