3. 3
Outline
Objective and Previous Works
What are Genetic Algorithms?
Genetic Algorithms for Task Allocation
Implementation
Examples and Comparisons
Conclusion
4. 4
Outline
Objective and Previous Works
What are Genetic Algorithms?
Genetic Algorithms for Task Allocation
Implementation
Examples and Comparisons
Conclusion
5. 5
Objective and Previous Works
Earlier, they have proposed a task allocation
model to maximize the reliability of
Distributed Computing System (DCS) using
Genetic Algorithm.
In this paper, they propose a task allocation
model to minimize the Turnaround Time of
the task submitted to Distributed Computing
System for execution.
Also, they use Simple Genetic Algorithms in
this new task allocation model.
6. 6
Outline
Objective and Previous Works
What are Genetic Algorithms?
Genetic Algorithms for Task Allocation
Implementation
Examples and Comparisons
Conclusion
7. 7
What are Genetic Algorithms?
Genetic algorithms (GAs) provide a learning method
motivated by an analogy to biological evolution.
In the other words, a way to employ evolution in the
computer
Search and optimization technique based on variation
and selection
Genetic algorithms are a part of evolutionary
computing, which is a rapidly growing area of
artificial intelligence.
9. 9
GA Vocabulary
Gene – An single encoding of part of the solution
space.
A collection of genes is sometimes called a genotype
A collection of aspects (like eye colour) is sometimes
called a phenotype
Chromosome – A string of “Genes” that represents a
solution.
Population - The number of “Chromosomes”
available to test.
GA Operations
Reproduction
Crossover
Mutation
10. 10
Genetic Algorithms (GA)
The chromosomes in GA population generally
take the form of bit strings.
Bit strings (0101 ... 1100)
Real numbers (43.2 -33.1 ... 0.0 89.2)
Permutations of element (E11 E3 E7 ... E1 E15)
Lists of rules (R1 R2 R3 ... R22 R23)
Program elements (genetic programming)
... any data structure ...
11. 11
GA Operations - Crossover
choose randomly some crossover point
copy everything before this point from the
first parent
then copy everything after the crossover
point from the other parent.
Crossover probability is fixed.
11001011 + 11011101 = 11011111
12. 12
GA Operations - Mutation
Mutation means that the elements of DNA
are a bit changed.
Mutation probability is fixed.
Bit inversion - selected bits are inverted
11001001 => 10001001
13. 13
Fitness Function
The GA requires a fitness function that
assigns a score to each chromosome in
the population.
The fitness function in a GA is the
objective function that is to be
optimized.
It is used to evaluate search nodes,
thus it controls the GA.
15. 15
Selection-Roulette Wheel
Want to maintain an element of randomness
but ‘fix’ the selection so that fitter individuals
have better odds of being chosen
Assign areas on a number line relative to
each individuals fitness
Generate a random number within the range
of the number line
Determine which individual occupies that area
of the number line
Choose that individual
16. 16
Selection-Roulette Wheel
This process can be described by the following algorithm.
[Sum] Calculate the sum of all chromosome fitnesses in population -
sum S.
[Select] Generate random number from the interval (0,S) - r.
[Loop] Go through the population and sum the fitnesses from 0 - sum
s. When the sum s is greater then r, stop and return the
chromosome where you are.
Of course, the step 1 is performed only once for each population.
18. 18
Outline
Objective and Previous Works
What are Genetic Algorithms?
Genetic Algorithms for Task Allocation
Implementation
Examples and Comparisons
Conclusion
19. 19
Basic Genetic Algorithm
1. [Start] Generate random population
2. [Fitness] Evaluate the fitness f(x) of each chromosome
3. [New population] Create a new population by repeating following
steps until the new population is complete
1. [Selection] Select two parent chromosomes from a population
according to their fitness (the better fitness, the bigger chance to
be selected)
2. [Crossover] With a crossover probability cross over the parents
to form new offspring (children). If no crossover was performed,
offspring is the exact copy of parents.
3. [Mutation] With a mutation probability mutate new offspring at
each locus (position in chromosome).
4. [Accepting] Place new offspring in the new population
4. [Replace] Use new generated population for a further run of the
algorithm
5. [Test] If the end condition is satisfied, stop, and return the best
solution in current population
6. [Loop] Go to step 2
20. 20
Outline
Objective and Previous Works
What are Genetic Algorithms?
Genetic Algorithms for Task Allocation
Implementation
Examples and Comparisons
Conclusion
21. 21
Genetic Algorithms for Task Allocation
*Calculation of Turnaround Time*
The fitness function = turnaround time of the task
submitted to the DCS for execution.
The modules of the task allocated on the different
nodes will be executed in parallel.
Thus the node taking maximum time will furnish the
turnaround time as all other nodes, taking less time,
will complete the execution within the execution time
of the task that takes maximum time.
This time include the actual execution+communicate
with other modules allocated on other computing
nodes.
The modules allocated on the same node will incur
zero communication.
22. 22
Genetic Algorithms for Task Allocation
Different module of the task may take
varying on the different computing
nodes of DCS.
The objective of this model will be to
minimize this time computed by the
abovesaid method.
23. 23
Turnaround Time=Fitness Function
n = number of processor in the distributed system.
m=number of modules in the distributed system.
X=an m x n matrix corresponding to a module assignment
eij = execution time of module mi on node Pk
Cij = communication between mi and mj
xik= an element of X;
xik=1 if module mi is assigned to Pk, otherwise xik=0.
24. 24
Reliability Expression
lpq = a link node Pp and Pq - Rk(T,X)= Reliability of the processing node
Pk
Wpq = transmission rate of link lpq -Rpq(T,X) = Reliability of the link lpq= failure rate of link lpq
= failure rate of processing node
P
25. 25
Algorithm
Initial Schedule{
- Compute height for each module in the task graph
- Keep modules of the same height (h) in the same group G(h)
- Assign the modules of the same height from the same group G(h)
onto different processors. If some modules are unassigned
again assign it from the first processors in the same order. The
assignment is to satisfy the system constraints.
- Assign the modules of the G(h+1) in the same order of the
processor as in 3.
}
many populations are generated by applying the
Initial_Schedule and changing the order of the processors.
26. 26
Algorithm
Crossover {
Two modules of different height are chosen for crossover site in
a
generated population and the portion of the string is swapped.
}
Mutation {
Randomly alter 0 to 1 and 1 to 0 by keeping
number of 0 and 1 same
}
Reproduction{
Use the fitness function. Choose few best strings which
has good fitness value.
}
27. 27
Outline
Objective and Previous Works
What are Genetic Algorithms?
Genetic Algorithms for Task Allocation
Implementation
Examples and Comparisons
Conclusion
28. 28
Implementation - Case 1
Task Graph (TG) consists of 4 modules m1,m2,m3 and
m4. also processor Graph (PG) consists of four modules p1,
p2, p3 and p4.
29. 29
Implementation - Case 1
p1–m2 , p2–nil, p3–m4, p4–m1,m3
Turnaround time=14 unit
Number of iterations=2
Reliability of allocation =0.99627
Allocation with load balancing of
maximum modules 2: same as above.
30. 30
Implementation - Case 1
Allocation to Maximize Reliability:
p1-nil, p2-m1,m2,m4 , p3-m3, p4-nil
Reliability for allocation=0.997503
Number of iterations=2
Turnaround time=20 unit.
34. 34
Implementation - Case 2
p1-m1, m3, p2-m2, m4, p3-nil, p4-nil
Turnaraound time= 13 unit
Number of iterations=2
Reliability of allocation=0.987124
Allocation with load balancing of maximum modules 2:
same as above.
35. 35
Implementation - Case 2
Allocation to Maximize Reliability
p1-nil, p2-m1,m2,m3,m4, p3-nil, p4-nil
Reliability of the allocation= 0.997953
Number of iterations=3
Turnaround time=18 unit
38. 38
Outline
Objective and Previous Works
What are Genetic Algorithms?
Genetic Algorithms for Task Allocation
Implementation
Examples and Comparisons
Conclusion
39. 39
Comparisons
In this case, the minimum turnaround is
found to be 14 unit and the reliability
corresponding to this allocation slightly
less than maximum possible reliability
obtained their previous work for this
example. The turnaround
corresponding to max reliability 20 units
which is more than minimum turnaround
i.e. 14 unit
40. 40
Outline
Objective and Previous Works
What are Genetic Algorithms?
Genetic Algorithms for Task Allocation
Implementation
Examples and Comparisons
Conclusion
41. 41
Conclusion
In conclusion, when we consider all the
cases they found that when turnaround
time is to be minimized the reliability of
the DCS will sufer little.
Load balancing factor produces better
turnaround time of the task but further
result in reliability reduction.