380 likes | 710 Views
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.
E N D
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 • 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 • 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 which indicate the favorableness of assign instruction i to position j 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 • 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 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 setmin 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?