1 / 21

List-Based Scheduling

Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building 322 DK2800 Lyngby, Denmark. List-Based Scheduling. Overview. Introduction Related work DFG and WPG ASAP, ALAP and Mobility Solution: Algorithm

rachel
Download Presentation

List-Based Scheduling

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building 322 DK2800 Lyngby, Denmark List-Based Scheduling

  2. Overview • Introduction • Related work • DFG and WPG • ASAP, ALAP and Mobility • Solution: • Algorithm • Selection function • Extenstions • Time complexity • Results • Conclussion [M-1] High-Level Synthesis

  3. * + * * Introduction • Given a DFG we want to schedule operations to minimize the number of functional units needed (adders, multiplier, ALUs, etc.) • Input to algorithm • DFG • Number of cycles.(Not less than shortest path in DFG) • Model must include • Pipelined operations • Chained operations • Multicycle operations [M-1] High-Level Synthesis

  4. Related Work • Other algorithms fix operations one by one • Tend to find local minima instead of global minima • ILP(Integer Linear programming) • Finds global minima • Is an exponential time algorithm and are not usable for large data-sets • This algorithm can escape local minimals by making several iterations. • Tend to find global minimaes (But, no guarantee) [M-1] High-Level Synthesis

  5. DFG and WPG • From “Data Flow Graph” to “Weighted Precedence Graph” [M-1] High-Level Synthesis

  6. ASAP Scheduling • Minimum number of cycles with no resource limitation [M-1] High-Level Synthesis

  7. ALAP Scheduling • Minimum number of cycles with no resource limitation [M-1] High-Level Synthesis

  8. Mobility • Mobility tells which steps each operation can be placed [M-1] High-Level Synthesis

  9. Algorithm - overview • Starts from ASAP/ALAP • Iteratively moves operations based on selection function Si(j,k). (Must not violate WPG) • If no ”good” moves are possible, ”bad” ones are taken. • Stops when there are no movable operations • Select best solution based on cost function from all solutions explored. (Fx. number of functional units) • Repeat the above iteration while the solution improves [M-1] High-Level Synthesis

  10. Algorithm - pseudu repeat{ Count=1 While movable operations{ select tuple(i, k) with maximum Si(j,k) move Oi to step k lock tuple(i, k) gaincount=change in cost when moving Oi to step k } find k that maximizes if(gainmax>0) Move operations 1 to k }until(gainmax<=0) [M-1] High-Level Synthesis

  11. Algorithm - example [M-1] High-Level Synthesis

  12. Algorithm - solution • Solution to running example [M-1] High-Level Synthesis

  13. Selection Function • In each step the selection function • Causes most balanced distribution of operations • Reduces number of required functional units. • Expresses the gain by moving Oi from step j to k • Proportional with • Maximal density at step j and k • Change in Density Gradient(DG) (Density[i] is the number of functional units at step i) [M-1] High-Level Synthesis

  14. Selection function • “Change in Density Gradient” (CDG) • CDG equals (Only concerns the 2 affected steps) • 2 Number of functional units decreases by 1 • 0 No change in number of functional units needed • -2 Number of functional units increases by 1 [M-1] High-Level Synthesis

  15. Selection function • Examples of Selection function calculations [M-1] High-Level Synthesis

  16. Extensions • Mutually Exclusive(ME) operations • Fx. an if-else statement. Operations that are ME can be placed in the same step on the same functional unit • Chained operations • Are already incoporated into the WPG • Multi-cycle operations • Are included in the WPG, but selection function must be expanded. • Pipelined operations • I do not understand the articles interpretation of a pipeline. Shall be treated as a multi-cycle operation. [M-1] High-Level Synthesis

  17. Time complexity m Number of operations in DFG S Number of control steps n Total number of tuples( max=Sm) • After each move update cost O(m*log(m)) • This must be done for all tuples O(nm*log(m))) = (Sm2*log(m)) • Practial time complexity (stated by authors) O(n*log(m)) (since n i independant of m) • Number of iterations is assumed independent of problem [M-1] High-Level Synthesis

  18. Results – Example 1 • Chained operations with the number of cycles less than 8 [M-1] High-Level Synthesis

  19. Results – Example 2 • Pipelined 16-point FIR filter. 2 types of functions units (Multiplier and adder) [M-1] High-Level Synthesis

  20. Results – Example 3 • 5th order elliptic filter with25 additions and 8 multiplications. Multiply is a multicycle operation [M-1] High-Level Synthesis

  21. Conclusion • Very fast an effective • Can escape local minima • Tend to reach optimal solution. (At least for all experimental results so far) • Must faster than than previous approaches. • Handles multicycled, chained and pipelined operations. • Possible to use more sophisticated selection functions. [M-1] High-Level Synthesis

More Related