instruction scheduling using max min ant system optimization n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Instruction Scheduling Using Max-Min Ant System Optimization PowerPoint Presentation
Download Presentation
Instruction Scheduling Using Max-Min Ant System Optimization

Loading in 2 Seconds...

play fullscreen
1 / 35

Instruction Scheduling Using Max-Min Ant System Optimization - PowerPoint PPT Presentation


  • 141 Views
  • Uploaded on

Instruction Scheduling Using Max-Min Ant System Optimization. Gang Wang, Wenrui Gong, and Ryan Kastner Dept. of Electrical and Computer Engineering University of California, Santa Barbara GLSVLSI’2005, Chicago, April 18, 2005. Instruction Scheduling.

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 'Instruction Scheduling Using Max-Min Ant System Optimization' - Patman


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
instruction scheduling using max min ant system optimization

Instruction Scheduling Using Max-Min Ant System Optimization

Gang Wang, Wenrui Gong, and Ryan Kastner

Dept. of Electrical and Computer Engineering

University of California, Santa Barbara

GLSVLSI’2005, Chicago, April 18, 2005

instruction scheduling
Instruction Scheduling
  • Instruction Scheduling is a fundamental synthesis problem
    • Software - compilers for microprocessors
    • Hardware - behavioral synthesis for ASIC, FPGA
  • Requisite Moore’s Law reference
    • Moore transistors = moore computational resources
    • Larger applications = moore operations
  • How to best utilize the resources?
instruction scheduling definition
Instruction Scheduling Definition

Auto Regressive Filter

  • Given a set of instructions and collection of computational units
  • Instruction modeled using data flow graph (DFG)
    • Directed acyclic graph
    • Each node is instruction
    • Each edge is a data dependence
  • Find schedule for instructions to minimize some function (latency, area, power, …)
  • We focus on resource constrained problem, i.e. minimize latency given a set of resources.
instruction scheduling1

start

1

+

+

<

2

-

3

-

4

end

Instruction Scheduling
  • NP-hard
  • Fundamental problem - many different heuristic methods have been developed
    • ILP
    • Force directed
    • Genetic algorithm
    • Path based
    • Graph theoretic
    • Computational geometry
    • List scheduling

v1

v2

v6

v8

v10

v3

v7

v9

v11

v4

v5

vn

list scheduling
List Scheduling
  • Simple and effective
    • Greedy strategy
    • Operation selection decided by criticality
    • O(n) time complexity
  • Make a priority list of the instructions based on some measure (mobility, instruction depth, number of successors, etc.)
  • No single priority function works well over all applications
    • Highly dependent on problem instance
    • Solution quality varies greatly across different functions
list scheduling1

start

1

+

+

<

2

-

3

-

4

end

List Scheduling
  • Procedure ListScheduling(G, R, L)
  • Input: DFG(V,E), resource set R, priority list L
  • Output: instruction schedule
  • cycle 0
  • ReadyList  successors of start
  • While node end is not scheduled do
  • for op in ReadyList in decending priority do
  • if resource exists for op to start then
  • schedule op at time cycle
  • end if
  • Update ReadyList
  • end for
  • cycle  cycle + 1
  • end while
  • return schedule

v1

v2

v6

v8

v10

v3

v7

v9

v11

v4

v5

vn

our approach ant system heuristic
Our approach – Ant System Heuristic
  • Inspired by ethological study on the behavior of ants [Goss et al. 1989]
  • A meta heuristic
  • A multi-agent cooperative searching method
  • A new way for combining global/local heuristics
  • Extensible and flexible
formulating problems using ant search
Formulating Problems Using Ant Search
  • Problem model – define search space, create decision variables
  • Pheromone model – used as a global heuristic, distribution of pheromones, evaporation and strengthening strategies
  • Ant search strategy – local heuristics and solution space traversal
  • Solution construction – method of creating an answer from decision variables
  • Feedback – provide assessment of solution quality and adjust pheromones accordingly
hybrid ants with lists
Hybrid Ants with Lists
  • Combine Ant System Optimization and List Scheduling
    • Ants determine priority list
    • List scheduling framework evaluates the “goodness” of the list
    • Iterative approach
pheromone model for instruction scheduling

op1

1

op2

2

op3

3

op4

4

op5

5

op6

6

Instructions

Priority List

Pheromone Model For Instruction Scheduling

Each instruction opi  Iassociated with n pheromone trails

where j = 1, …, n

which indicate the favorableness of assign instruction i to position j

Each instruction also has a dynamic local heuristic

ant search strategy

1

2

3

4

5

6

Priority List

Ant Search Strategy
  • Multiple ants independently create their own priority list
  • Fill one instruction at a time
  • Iterative process

op1

op1

op4

op2

op2

op1

op3

op3

op5

op4

op4

op6

op5

op5

op2

op6

op6

op3

Instructions

ant search strategy1
Ant Search Strategy
  • Each ant has memory about instructions already selected
  • At step j ant has already selected j-1 instructions
  • jth instruction selected probabilistically

op1

op1

op4

1

op2

op2

2

op1

op3

op3

op5

3

op4

op4

4

op5

op5

5

op6

op6

6

Instructions

Priority List

ant search strategy2
Ant Search Strategy
  • ij(k) : global heuristic (pheromone) for selecting instruction i at j position
  • j(k) : local heuristic – can use different properties
    • Instruction mobility (IM)
    • Instruction depth (ID)
    • Latency weighted instruction depth (LWID)
    • Successor number (SN)
  • ,  control influence of global and local heuristics
pheromone update
Pheromone Update
  • Priority lists evaluated using list scheduling
  • Latency Lh for the result from ant h
  • Evaporation – prevent stigmergy and punish “useless” trails
  • Reinforcement – award trails with better quality
pheromone update1

1

2

3

4

5

6

Priority List

Pheromone Update
  • Evaporation happens on all trails
  • Reward the used trails based on the solution’s quality

op1

op1

op4

op2

op2

op1

op3

op3

op5

op4

op4

op6

op5

op5

op2

op6

op6

op3

Instructions

max min ant system mmas
Max-Min Ant System (MMAS)
  • Risks of Ant System optimization
    • Too much feedback
    • Dynamic range of pheromone trails can increase rapidly
    • Limited search of solution space
      • Unused trails can be repetitively punished, therefore certain schedules may never be selected
      • Premature convergence
  • MMAS is designed to address this problem
    • Built upon original AS
    • Idea is to limit the pheromone trails within an evolving bound so that more broader exploration is possible
    • Better balance the exploration and exploitation
    • Prevent premature convergence
max min ant system mmas1
Max-Min Ant System (MMAS)
  • Limit (t) within min(t) and max(t)
    • Sgbis the best global solution found so far at t-1
    • f(.) is the quality evaluation function, e.g. latency in our case
    • avg is the average size of decision choices
  • Pbest  (0,1]is the controlling parameter
    • Smaller Pbest  tighter range for  more emphasis on exploration
    • When Pbest  0, we setmin  max
other algorithmic refinements
Other Algorithmic Refinements
  • Dynamically evolving local heuristics
    • Example: dynamically adjust instruction mobility
    • Benefit: dynamic search space reduction
  • Taking advantage of topological sorting of DFG when constructing priority list
    • Each step ants select from the ready instructions instead from all unscheduled instructions
    • Benefit: greatly reduce the search space
experimental results
Experimental Results
  • ILP (optimal) using CPLEX
  • List scheduling
    • Instruction mobility (IM), instruction depth (ID), latency weighted instruction depth (LWID), successor number (SN)
  • Ant scheduling results using different local heuristics (Averaged over 5 runs, each run 100 iteration with 5 ants)
conclusion
Conclusion
  • Proposed a novel heuristic method for resource-constrained instruction scheduling problem
    • Hybrid MMAS and List Scheduling
    • Create a mathematic model for combining global and local heuristics
  • Experiment results are promising
    • Near optimal results
    • Outperforms widely used force-directed approach
    • More stable and insensitive to choice of application/local heuristics
  • Thanks! Questions?