Multiprocessor Scheduling

1 / 23

# Multiprocessor Scheduling - PowerPoint PPT Presentation

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Multiprocessor Scheduling' - elvis-kirby

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Multiprocessor Scheduling

Integrating List Heuristics into

genetic Algorithms for

Multiprocessor Scheduling [1]

May, 22 2006

Stefan Hüttenrauch

• 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

### Part I – Introduction

The problem to be solved

Heuristics in general

Genetic algorithms (GA)

List heuristics (LH)

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

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

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
• Finding the best solution is not necessarily given

Refs: [1][2][3]

Multiprocessor Scheduling

Prof. Dr. Lars Lundberg

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

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

### Part II – Integrating list heuristics into genetic algorithms

One genetic algorithm in detail

Integrating a list heuristic

Results and comparisons

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

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

One GA Details – initial Population cond.
• Algorithm to create initial population
• 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

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

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

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

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

Integrating a List Heuristic – initial Population
• Basis also a task digraph
• Iterative method
• Randomly choose one and assign it to a free processor
• Tasks not necessarily in height-order

Refs: [1]

Multiprocessor Scheduling

Prof. Dr. Lars Lundberg

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

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

Results and Comparisons
• Better initial population
• Shorter makespan  better quality of solutions
• But: longer execution time

Refs: [1]

Multiprocessor Scheduling

Prof. Dr. Lars Lundberg

Results and Comparisons cond.

16 processors

Refs: [1]

Multiprocessor Scheduling

Prof. Dr. Lars Lundberg

### Integrating List Heuristics intogenetic Algorithms forMultiprocessor Scheduling [1]

I thank you for your attention

¿ Questions ?

stefan.huettenrauch@hpi.uni-potsdam.de

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