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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

value to sample all <strong>of</strong> the solutions by choosing them at evenly spaced intervals. The<br />

solution c<strong>and</strong>idates generated during initialisation phase are all legal (i.e. they all<br />

satisfy the precedence relationship as defined in DAGs); however, conventional<br />

crossover will probably make some individuals illegal. To keep the diversity <strong>of</strong> the<br />

population, single point crossover strategy is employed (Line 5). When two parents<br />

are both legal, single point crossover ensures their children are legal. So before the<br />

mutation, the whole population is valid [70]. The third genetic operation is mutation<br />

(Line 6) where the allocated resource is mutated, i.e. substituted for another resource,<br />

at a r<strong>and</strong>omly selected cell <strong>of</strong> a chromosome. The mutation rate is normally set to a<br />

small probability value such as 10% since mutation can easily destroy the correct<br />

precedence relationship <strong>and</strong> result in invalid solutions. The major effect <strong>of</strong> mutation<br />

is that it can introduce diversity into the population to help it jump out <strong>of</strong> local<br />

optimal traps. However, it can make some individuals invalid. These invalid<br />

individuals should be eliminated through validation <strong>and</strong> replacement (Line 7, Line<br />

8). Since cloud workflow system is a market-oriented system, the c<strong>and</strong>idate<br />

scheduling solution is expected to satisfy the QoS constraints according to the<br />

service contract. The last operation <strong>of</strong> the first phase is check which verifies whether<br />

the c<strong>and</strong>idate individual should be retained or discarded.<br />

During the second searching phase, the SolutionSet is compared with the user<br />

preference, i.e. UserPref, <strong>and</strong> the best scheduling plan L is deployed (Line 10 to<br />

Line 12). Both makespan <strong>and</strong> costs are taken into account in UserPref which defines<br />

the specific preference <strong>of</strong> users towards the two factors. For example, the UserPref<br />

can be the minimum makespan, the minimum cost or a balance ratio between<br />

makespan <strong>and</strong> cost. The best scheduling plan (BestSolution) is selected from the<br />

satisfied population (Line 10). BestSolution is defined as the best solution according<br />

to UserPref among all the valid solutions. Since BestSolution is represented in the<br />

two dimensional vector, it should be decoded back to L as an integrated Task-to-VM<br />

list (Line 11). The last step <strong>of</strong> the whole algorithm is to deploy the L (Line12).<br />

133

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

Saved successfully!

Ooh no, something went wrong!