Instruction Scheduling Using Max-Min Ant System Optimization

1 / 35

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

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.

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

## PowerPoint Slideshow about 'Instruction Scheduling Using Max-Min Ant System Optimization' - Patman

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

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

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.

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

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
• 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
• 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
• 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
• Combine Ant System Optimization and List Scheduling
• Ants determine priority list
• List scheduling framework evaluates the “goodness” of the list
• Iterative approach

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

Each instruction also has a dynamic local heuristic

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

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)
• 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 (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
• 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
• 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
• 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?