Presentation is loading. Please wait.

Presentation is loading. Please wait.

HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Integrating List Heuristics into genetic Algorithms.

Similar presentations


Presentation on theme: "HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Integrating List Heuristics into genetic Algorithms."— Presentation transcript:

1 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Integrating List Heuristics into genetic Algorithms for Multiprocessor Scheduling [1] May, 22 2006 Stefan Hüttenrauch

2 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 2 May, 22 nd 2006 Stefan Hüttenrauch 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

3 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Part I – Introduction The problem to be solved Heuristics in general Genetic algorithms (GA) List heuristics (LH)

4 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 4 May, 22 nd 2006 Stefan Hüttenrauch 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 acyclic digraph feasible schedule for m=2 Refs: [1][3]

5 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 5 May, 22 nd 2006 Stefan Hüttenrauch 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]

6 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 6 May, 22 nd 2006 Stefan Hüttenrauch Heuristics in general – Genetic Algorithms History Developed by John H. Holland in mid-1960s Imitate natures 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]

7 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 7 May, 22 nd 2006 Stefan Hüttenrauch 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]

8 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 8 May, 22 nd 2006 Stefan Hüttenrauch 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]

9 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Part II – Integrating list heuristics into genetic algorithms One genetic algorithm in detail Integrating a list heuristic Results and comparisons

10 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 10 May, 22 nd 2006 Stefan Hüttenrauch Individual: set s of m strings for m processors String: ordered set of tasks scheduled to P j Precedence relations among tasks satisfied Every task is present && appears only ones One GA Details – String Representation s1s1 s2s2 one individual Refs: [1][3]

11 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 11 May, 22 nd 2006 Stefan Hüttenrauch One GA Details – initial Population How to define feasible individuals Define height-ordering on task set T in each string s j : height(t h ) height(t i ) with t h and t i in s j && h < i Only a necessary condition may not find optimal schedule How to define that ordering height(t i ) random with plp(t i ) < height(t i ) < pls(t i ) plp(t i )…max path length between t 1 and immediate predecessor of t i pls(t i )…max path length between t 1 and immediate successor of t i Refs: [1][3]

12 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 12 May, 22 nd 2006 Stefan Hüttenrauch One GA Details – initial Population cond. Algorithm to create initial population 1. Compute height for every task in task graph TG 2. Separate tasks according to their height (set G(h)) 3. For all m-1 processors do 4. 4. Form schedule for a processor a. For every G(h i ) in G(h) create random number r with 0 r |G(h i )| b. Pick r tasks of G(h i ) assigning them to current processor c. Delete assigned tasks from G(h i ) 5. Assign remaining tasks to the last processor Refs: [1][3]

13 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 13 May, 22 nd 2006 Stefan Hüttenrauch 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(P j ) for all j in {0, 1,…, m} ftp(P j )…finishing time of last task in P j m…number of processors Refs: [1][3]

14 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 14 May, 22 nd 2006 Stefan Hüttenrauch 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]

15 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 15 May, 22 nd 2006 Stefan Hüttenrauch Refs: [1][3] Conditions: Height of tasks next to crossover sites are different Height of tasks immediately in front of crossover sites are the same height One GA Details – genetic Operators – Crossover crossover site

16 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 16 May, 22 nd 2006 Stefan Hüttenrauch 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 One GA Details – genetic Operators – Animation Population 1Population 2Population 1

17 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 17 May, 22 nd 2006 Stefan Hüttenrauch One GA Details – Problems Initial population In average p i has more tasks than p i+1 No uniform distribution due to initial population generation scheme. Crossover Some feasible solution cannot be generated Derives from height-ordering Refs: [1]

18 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 18 May, 22 nd 2006 Stefan Hüttenrauch 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]

19 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 19 May, 22 nd 2006 Stefan Hüttenrauch Integrating a List Heuristic – Crossover Determine partitions V 1 and V 2 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 V 1 remains the same in s 1 and s 1 as in GA For V 2 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]

20 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 20 May, 22 nd 2006 Stefan Hüttenrauch Integrating a List Heuristic – Crossover cond. Digraph while T != empty do randomly choose a task t i randomly choose V 1 or V 2 if V 1 assign all tasks to V 1 from that you can go to t i in if V 2 assign all tasks to V 2 to that you can go from t i in delete assigned tasks from T A + (s) is the transitive closure of A(s) Refs: [1]

21 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 21 May, 22 nd 2006 Stefan Hüttenrauch 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]

22 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 22 May, 22 nd 2006 Stefan Hüttenrauch Results and Comparisons Better initial population Shorter makespan better quality of solutions But: longer execution time Refs: [1]

23 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 23 May, 22 nd 2006 Stefan Hüttenrauch Results and Comparisons cond. Digraph CP/MISF parallel solution Genetic AlgorithmIntegrated solution parallel solution execution time parallel solution execution time 1 medium98833224693766 1 large2810116811118121935 2 medium36032611116849 2 large168115117327418505 3 medium1452933311669230 3 large203812516422315068 4 medium8715484111013338 4 large11587228511033191 Synthetic diagraphs generated with ANDES-Synth1. Bellford2. Diamond13. Diamond34 Diamond4 Refs: [1] 16 processors

24 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Integrating List Heuristics into genetic Algorithms for Multiprocessor Scheduling [1] I thank you for your attention ¿ Questions ? stefan.huettenrauch@hpi.uni-potsdam.de

25 HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Prof. Dr. Lars Lundberg 25 May, 22 nd 2006 Stefan Hüttenrauch 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.


Download ppt "HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling Integrating List Heuristics into genetic Algorithms."

Similar presentations


Ads by Google