420 likes | 537 Views
Comparative Study of two Genetic Algorithms Based Task Allocation Models in Distributed Computing System. Oğuzhan TAŞ 2005. Authors. Deo Prakash Vidyarthi (India) Anil Kumar Tripathi (India) Biplab Kumer Sarker (Japan) Kirtil Rani (India) IEEE 2003. Outline. Objective and Previous Works
E N D
Comparative Study of two Genetic Algorithms Based Task Allocation Models in Distributed Computing System Oğuzhan TAŞ 2005
Authors • Deo Prakash Vidyarthi (India) • Anil Kumar Tripathi (India) • Biplab Kumer Sarker (Japan) • Kirtil Rani (India) • IEEE 2003
Outline • Objective and Previous Works • What are Genetic Algorithms? • Genetic Algorithms for Task Allocation • Implementation • Examples and Comparisons • Conclusion
Outline • Objective and Previous Works • What are Genetic Algorithms? • Genetic Algorithms for Task Allocation • Implementation • Examples and Comparisons • Conclusion
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.
Outline • Objective and Previous Works • What are Genetic Algorithms? • Genetic Algorithms for Task Allocation • Implementation • Examples and Comparisons • Conclusion
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.
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
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 ...
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
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
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.
Chromosome Selection • Roulette Wheel Selection • Boltzman Selection • Tournament Selection • Rank Selection • Steady State Selection • …..
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
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.
Outline • Objective and Previous Works • What are Genetic Algorithms? • Genetic Algorithms for Task Allocation • Implementation • Examples and Comparisons • Conclusion
Basic Genetic Algorithm • [Start] Generate random population • [Fitness]Evaluate the fitness f(x) of each chromosome • [New population]Create a new population by repeating following steps until the new population is complete • [Selection]Select two parent chromosomes from a population according to their fitness (the better fitness, the bigger chance to be selected) • [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. • [Mutation]With a mutation probability mutate new offspring at each locus (position in chromosome). • [Accepting]Place new offspring in the new population • [Replace]Use new generated population for a further run of the algorithm • [Test]If the end condition is satisfied, stop, and return the best solution in current population • [Loop]Go to step 2
Outline • Objective and Previous Works • What are Genetic Algorithms? • Genetic Algorithms for Task Allocation • Implementation • Examples and Comparisons • Conclusion
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.
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.
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.
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 Pk
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.
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. }
Outline • Objective and Previous Works • What are Genetic Algorithms? • Genetic Algorithms for Task Allocation • Implementation • Examples and Comparisons • Conclusion
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.
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.
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.
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.
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
Outline • Objective and Previous Works • What are Genetic Algorithms? • Genetic Algorithms for Task Allocation • Implementation • Examples and Comparisons • Conclusion
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
Outline • Objective and Previous Works • What are Genetic Algorithms? • Genetic Algorithms for Task Allocation • Implementation • Examples and Comparisons • Conclusion
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.
Questions • Thank you. • Questions?