multiprocessor scheduling n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Multiprocessor Scheduling PowerPoint Presentation
Download Presentation
Multiprocessor Scheduling

Loading in 2 Seconds...

play fullscreen
1 / 23

Multiprocessor Scheduling - PowerPoint PPT Presentation


  • 82 Views
  • Uploaded on

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

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

PowerPoint Slideshow about 'Multiprocessor Scheduling' - elvis-kirby


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.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

Multiprocessor Scheduling

Integrating List Heuristics into

genetic Algorithms for

Multiprocessor Scheduling [1]

May, 22 2006

Stefan Hüttenrauch

roadmap
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

part i introduction

Part I – Introduction

The problem to be solved

Heuristics in general

Genetic algorithms (GA)

List heuristics (LH)

introduction the problem to be solved
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
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
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

heuristics in general genetic algorithms cond
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
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

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
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
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
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

one ga details fitness function
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
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
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
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
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

integrating a list heuristic crossover
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
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
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
Results and Comparisons cond.

16 processors

Refs: [1]

Multiprocessor Scheduling

Prof. Dr. Lars Lundberg

integrating list heuristics into genetic algorithms for multiprocessor scheduling 1

Integrating List Heuristics intogenetic Algorithms forMultiprocessor Scheduling [1]

I thank you for your attention

¿ Questions ?

stefan.huettenrauch@hpi.uni-potsdam.de

references
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