1 / 51

J. Parallel Distrib. Comput. (2010) Fatma A. Omara, Mona M. Arafa

Genetic algorithms for task scheduling problem. J. Parallel Distrib. Comput. (2010) Fatma A. Omara, Mona M. Arafa. Shang-Chi Wu. Outline. Introduction The Standard Genetic Algorithm (SGA) The Critical Path Genetic Algorithm (CPGA) The Task Duplication Genetic Algorithm (TDGA)

carys
Download Presentation

J. Parallel Distrib. Comput. (2010) Fatma A. Omara, Mona M. Arafa

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Genetic algorithms for task scheduling problem J. Parallel Distrib. Comput. (2010) Fatma A. Omara, Mona M. Arafa Shang-Chi Wu

  2. Outline • Introduction • The Standard Genetic Algorithm (SGA) • The Critical Path Genetic Algorithm (CPGA) • The Task Duplication Genetic Algorithm (TDGA) • Performance evaluation • Conclusions

  3. Introduction • The goal of a task scheduler • Assign tasks to available processors • The overall execution length is minimized • Algorithms with duplication • Duplication Scheduling Heuristic (DSH) algorithm • Algorithms without duplication • Modified Critical Path (MCP) algorithm

  4. Introduction • Recently, several GAs have been developed for solving the task scheduling problem • Two genetic algorithms • Critical Path Genetic Algorithm (CPGA) • Task Duplication Genetic Algorithm (TDGA)

  5. Introduction • Critical Path Genetic Algorithm(CPGA) • use the idle time of the processors efficiently • reschedule the critical path nodes to reduce their start time • concerned with satisfying the load balance • Task Duplication Genetic Algorithm (TDGA) • Minimize the communication overheads

  6. The model for task scheduling problem • Directed Acyclic Graph (DAG) Entry node Critical Path(CP) Communication cost Computation cost Exit node

  7. The model for task scheduling problem • Communication cost • Ex : c ( t1, t5 ) = 1 • Ex : c ( t1, t5 ) = 0 if t1 and t5 are scheduled on the same processor • A node ti is scheduled to processor P • start time : ST(ti , P) • finish time : FT(ti , P) • Schedule length • max{FT(ti , P)} across all processors Communication cost

  8. The Standard Genetic Algorithm (SGA) • The parent task that maximizes the above expression is called the favorite predecessors of ti • favpred(ti, Pj) • The Data Arrival Time (DAT) of ti at processor Px is defined as : • DAT = max { FT(tk, Pj) + c(tk, ti) } , • k=1…No_parent

  9. The Standard Genetic Algorithm (SGA) DAT = max { FT(tk, Pj) + c(ti, tk) } ,k=1…No_parent • Example

  10. The SGA implementation • The chromosome is divided into two sections • mapping sections • scheduling sections

  11. Genetic formulation of SGA • The initial population is constructed randomly. • The first part of the chromosome (i.e. mapping) is chosen randomly from 1 to No_Processor • The second part (i.e. the schedule) is generated randomly

  12. Genetic formulation of SGA • Fitness function • The main objective of the scheduling problem is to minimize the schedule length of a schedule Fitness function = ( a / S_Length )

  13. The pseudo code of The Task Schedule using SGA

  14. The pseudo code of The Task Schedule using SGA 3 processors DAG chromosome

  15. Genetic formulation of SGA LT={t1, t2, t3, t4, t6, t5, t7, t8, t9 } RT[P1] =0 RT[P2] =0 RT[P3] =0

  16. Genetic formulation of SGA LT={t1, t2, t3, t4, t6, t5, t7, t8, t9 } ST[t1] = 0 FT[t1] = 0+2 =2 RT[P3] = 2 16

  17. Genetic formulation of SGA LT={t2, t3, t4, t6, t5, t7, t8, t9 } ST[t2] = 2 FT[t2] = 2+3 =5 RT[P3] = 5

  18. Genetic formulation of SGA S_Length = 26

  19. Crossover operator

  20. Crossover operator

  21. Crossover map • It is applied to the first part of the chromosome mapping sections • A random integer number called the crossover point is generated from 1 to No_Tasks

  22. Crossover map • The chromosome is divided into two sections • mapping sections • scheduling sections

  23. Order crossover • It is applied to the second part of the chromosome • a random point is chosen • Pass the left segment from the chrom1 to the offspring • Construct the right fragment of the offspring according to the order of the right segment of chrom2

  24. Order crossover Pass the left segment

  25. Mutation operator

  26. The Critical Path Genetic Algorithm (CPGA) • The same principles and operators which are used in the SGA algorithm have been used in the CPGA algorithm • In the initial population the second part(schedule) of the chromosome can be constructed • The schedule part is constructed randomly as in SGA • The schedule part is constructed using ALAP

  27. ALAP(As Late as Possible)

  28. Reuse idle time modification • Example

  29. Priority of CPNs modification

  30. Load balance modification • Obtain the minimum schedule length and, in the same time, the load balance is satisfied • The execution time of processor Pj is denoted by E_time[Pj]

  31. Load balance modification • Example

  32. the fitness value of the best chromosome for the crossover maximum fitness value positive real constants less than 1 the average fitness value the fitness value of the chromosome to be mutated

  33. The Task Duplication Genetic Algorithm (TDGA) • If the idle time slots of a waiting processor could be effectively used by identifying some tasks and redundantly allocating them in these slots, the execution time of the parallel program could be further reduced

  34. Genetic formulation of the TDGA • A vector of order pairs (t, p) which indicates that task t is assigned to processor p

  35. Initial population • Heuristic Duplication • the initial population is initialized with randomly generated chromosomes, while each chromosome consists of exactly one copy of each task • After that, a duplication technique is applied by a function

  36. Computing a b-level

  37. The pseudo code of the Duplication_Process function

  38. Crossover operator • Two point crossover operator is used • Two points are randomly chosen and the partitions between the points are exchanged between two chromosomes to form two offspring

  39. Mutation operator

  40. Performance evaluation • Considered the task graphs with random communication costs between 1 and a specified maximum communication delay (MCD) • The population size is considered to be 200, and the number of generations is considered to be 500 generations

  41. The developed CPGA evaluation • Normalized Schedule Length (NSL) • Speedup • T(1) : the time required for executing a program on a uniprocessor computer • T(P) : the time required for executing the same program on a parallel computer with P processors

  42. The MCP algorithm • The MCP algorithm computes at first the ALAPs of all the nodes, then creates a ready list containing ALAP times of the nodes in an ascending • highest priority node in the list is picked up and assigned to a processor

  43. The developed CPGA evaluation

  44. The developed CPGA evaluation

  45. The DSH Algorithm

  46. The DSH Algorithm

  47. The developed TDGA evaluation

  48. The developed TDGA evaluation

  49. Conclusions • The Critical Path Genetic algorithm(CPGA) • Based on rescheduling the critical path nodes (CPNs) in the chromosome through different generations • two modifications have been added • use the idle time of the processors efficiently • concerned with satisfying the load balance • The experimental studies show that the CPGA always outperforms the MCP algorithm in most cases

  50. Conclusions • The Task Duplication Genetic Algorithm (TDGA) • Based on task duplication techniques to overcome the communication overhead • The experimental studies show that the TDGA algorithm outperforms the DSH algorithm in most cases

More Related