1 / 23

Multiprocessor Scheduling

Multiprocessor Scheduling. Integrating List Heuristics into genetic Algorithms for Multiprocessor Scheduling [1]. May, 22 2006 Stefan Hüttenrauch. Roadmap. Part I – Introduction The problem to be solved Heuristics in general Genetic algorithms List heuristics

elvis-kirby
Download Presentation

Multiprocessor Scheduling

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. Multiprocessor Scheduling Integrating List Heuristics into genetic Algorithms for Multiprocessor Scheduling [1] May, 22 2006 Stefan Hüttenrauch

  2. Roadmap • Part I – Introduction • The problem to be solved • Heuristics in general • Genetic algorithms • List heuristics • Part II – Integrating list heuristics into genetic algorithms • One genetic algorithm in detail • Integrating a list heuristic • Results and comparisons Multiprocessor Scheduling Prof. Dr. Lars Lundberg

  3. Part I – Introduction The problem to be solved Heuristics in general Genetic algorithms (GA) List heuristics (LH)

  4. Introduction – The Problem to be solved • Computer with a set P of m processors • Set T of n tasks with precedence order • Schedule S assigns tasks to processors in a specific order • Goal: find schedule with smallest makespan feasible schedule for m=2 acyclic digraph Refs: [1][3] Multiprocessor Scheduling Prof. Dr. Lars Lundberg

  5. Heuristics in general • Consistent algorithms for optimization problems • Has strategy of searching in set of all feasible solutions • No guarantee for optimal solution • Examples: • Generic algorithms (meta heuristics) • List heuristics Refs: [4] Multiprocessor Scheduling Prof. Dr. Lars Lundberg

  6. Heuristics in general – Genetic Algorithms • History • Developed by John H. Holland in mid-1960’s • Imitate nature’s evolution processes • Comparison to trad. optimization methods • Explore greater range of possible solutions • Use probabilistic transition rules • Disadvantages • Finding the best solution is not necessarily given Refs: [1][2][3] Multiprocessor Scheduling Prof. Dr. Lars Lundberg

  7. Heuristics in general – Genetic Algorithms cond. • Genetic Algorithms consists of: • String representation (genes) • Initial population • Fitness function • Genetic operators and a stochastic assignment Refs: [1][3] Multiprocessor Scheduling Prof. Dr. Lars Lundberg

  8. Heuristics in general – List Heuristics • In contrast to GA: • Schedule is build step by step • Use knowledge about the problem and about what happened in the steps before to find better solution • One example is the “critical path/most immediate successors first” (CP/MISF) list heuristic Refs: [1][5] Multiprocessor Scheduling Prof. Dr. Lars Lundberg

  9. Part II – Integrating list heuristics into genetic algorithms One genetic algorithm in detail Integrating a list heuristic Results and comparisons

  10. One GA Details – String Representation • Individual: set s of m strings for m processors • String: ordered set of tasks scheduled to Pj • Precedence relations among tasks satisfied • Every task is present && appears only ones one individual s1 s2 Refs: [1][3] Multiprocessor Scheduling Prof. Dr. Lars Lundberg

  11. One GA Details – initial Population • How to define feasible individuals • Define height-ordering on task set T  in each string sj:height(th) ≤ height(ti) with th and ti in sj && h < i • Only a necessary condition  may not find optimal schedule • How to define that ordering  height(ti) random with plp(ti) < height(ti) < pls(ti) plp(ti)… max path length between t1 and immediate predecessor of ti pls(ti)… max path length between t1 and immediate successor of ti Refs: [1][3] Multiprocessor Scheduling Prof. Dr. Lars Lundberg

  12. One GA Details – initial Population cond. • Algorithm to create initial population • Compute height for every task in task graph TG • Separate tasks according to their height (set G(h)) • For all m-1 processors do 4. • Form schedule for a processor • For every G(hi) in G(h) create random number r with 0 ≤ r ≤ |G(hi)| • Pick r tasks of G(hi) assigning them to current processor • Delete assigned tasks from G(hi) • Assign remaining tasks to the last processor Refs: [1][3] Multiprocessor Scheduling Prof. Dr. Lars Lundberg

  13. One GA Details – Fitness Function • For evaluation of search nodes (individuals) • Controls genetic operators • Here: finishing time FT of a schedule S  FT(S) = max ftp(Pj) for all j in {0, 1,…, m} ftp(Pj)… finishing time of last task in Pj m… number of processors Refs: [1][3] Multiprocessor Scheduling Prof. Dr. Lars Lundberg

  14. Genetic Algorithms – genetic Operators • Reproduction • Clone individuals and assign them to new population • Do it (number of individuals in population) times • Clone individual with highest fitness value • Crossover • Partition of strings • Pair-wise exchange of parts of the strings • Do it (number of individuals in population) / 2 times • Mutation • Random alternation of a string with small probability • Exchange two tasks with same height within one string • Do it (number of individuals in population) times Refs: [1][3] Multiprocessor Scheduling Prof. Dr. Lars Lundberg

  15. One GA Details – genetic Operators – Animation Population 1 Population 1 Population 1 Population 2 • Population size = 10, max. number of iterations = 1500 • Reproduction • One crossover (5 times, with probability propCros = 1) • One mutation (10 times, with probability propMut = 0.05) • Replace individual with smallest fitness value Multiprocessor Scheduling Prof. Dr. Lars Lundberg

  16. One GA Details – Problems • Initial population • In average pi has more tasks than pi+1 • No uniform distribution due to initial population generation scheme. • Crossover • Some feasible solution cannot be generated • Derives from height-ordering Refs: [1] Multiprocessor Scheduling Prof. Dr. Lars Lundberg

  17. Integrating a List Heuristic – initial Population • Basis also a task digraph • Iterative method • Determine free tasks • Randomly choose one and assign it to a free processor • Tasks not necessarily in height-order Refs: [1] Multiprocessor Scheduling Prof. Dr. Lars Lundberg

  18. Integrating a List Heuristic – Crossover • Determine partitions V1 and V2 • Remember the genetic algorithm  decision based on heights of tasks • Now take a digraph with dependencies from original tasks digraph and the two schedules and a nice algorithm • Perform the crossover • V1 remains the same in s1 and s1’ as in GA • For V2 use CP/MISF list heuristic • Choose task with smallest introduction date first (CP) • If several possibilities choose task with more successors (MISF) Refs: [1][5] Multiprocessor Scheduling Prof. Dr. Lars Lundberg

  19. Integrating a List Heuristic – Mutation • Also choose one individual (as in GA) • Sort the tasks according to their precedence constraints • Take task with smallest introduction date • Also use CP/MISF • assign it to a randomly chosen processor Refs: [1] Multiprocessor Scheduling Prof. Dr. Lars Lundberg

  20. Results and Comparisons • Better initial population • Shorter makespan  better quality of solutions • But: longer execution time Refs: [1] Multiprocessor Scheduling Prof. Dr. Lars Lundberg

  21. Results and Comparisons cond. 16 processors Refs: [1] Multiprocessor Scheduling Prof. Dr. Lars Lundberg

  22. Integrating List Heuristics intogenetic Algorithms forMultiprocessor Scheduling [1] I thank you for your attention ¿ Questions ? stefan.huettenrauch@hpi.uni-potsdam.de

  23. References [1] R.C. Corrêa, A. Ferreira, and P. Rebreyend. Integration list heuristics into genetic algorithms for multiprocessor scheduling. 8th IEEE Symposium on Parallel and Distributed Processing , 1996. [2] John H. Holland. Genetic Algorithms. http://www.econ.iastate.edu/tesfatsi/holland.GAIntro.htm, April 2006. [3] E. Hou, N. Ansari, and H. Ren. A genetic algorithm for multiprocessor Scheduling. IEEE Transactions on Parallel and Distributed Systems, 5(2):113-120, Feb. 1994. [4] J. Hromkomvič. Algorithmics for Hard Problems. Springer Verlag, 2001. [5] A. Doboli, P. Eles. Scheduling under Data and Control Dependencies for Heterogeneous Architectures. ICCD '98: Proceedings of the International Conference on Computer Design, 1998. Multiprocessor Scheduling Prof. Dr. Lars Lundberg

More Related