1 / 28

Integer Linear Programming approach to Scheduling

Integer Linear Programming approach to Scheduling. Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building 322 DK2800 Lyngby, Denmark. Outline. Introduction - The new approach & objective

zeki
Télécharger la présentation

Integer Linear Programming approach to 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. Integer Linear Programmingapproach to Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building 322 DK2800 Lyngby, Denmark

  2. Outline • Introduction - The new approach & objective - Automated data path synthesis • ILP Formulation • Example • Generalizations • Experimental Results • Conclusion [M-1] High-Level Synthesis

  3. The New Approach • Solve scheduling problem 1) ASAP -> start time 2) ALAP -> require time 3) ILP (Integer Linear Programming) [M-1] High-Level Synthesis

  4. Objective • Fully utilize the hardware resources i.e. minimize the requirement of function units under a given timing constraint [M-1] High-Level Synthesis

  5. Support different kinds of data path • Multicycle operations • Multiple operations per cycle • Pipelined data paths • Mutually exclusive operations • Variables’ lifetime consideration [M-1] High-Level Synthesis

  6. Automated Data Path Synthesis • Scheduling • Allocation  Tightly interdependent [M-1] High-Level Synthesis

  7. Scheduling • ** very important • FIX 1) number & types of function units 2) lifetime of variables 3) timing constraints [M-1] High-Level Synthesis

  8. The New Approach 1) ASAP 2) ALAP 3) ILP (Integer Linear Programming) Function Units: • Fully utilized • minimize maximal no. [M-1] High-Level Synthesis

  9. The ILP Formulation 2 Assumptions: • Each operation – 1 cycle propagation delay • Consider non-pipelined data path [M-1] High-Level Synthesis

  10. Data Flow Graph • n operations • s steps • oi– each operation 1 ≤ i ≤ n • oi  oj– precedence relation oi immediate predecessor of oj • m types of function units [M-1] High-Level Synthesis

  11. Si – start time (ASAP) • Li – require time (ALAP) • Cti– cost of function unit of type ti (FUti) • Mti – number of function unit of type ti • xi,j – 1: if oi is scheduled into step j 0: otherwise [M-1] High-Level Synthesis

  12. OiЄ FUtk Formulas (1,2) • Minimize total function unit cost • No control step should contain more than Mtkfunction unit of type tk for 1 ≤ j ≤ s, 1 ≤ k ≤ m [M-1] High-Level Synthesis

  13. Formulas (3,4) • oi can only be scheduled into a step between Si & Li for 1 ≤ i ≤ n • Ensure the precedence relations of DFG will be preserved for all oi ok [M-1] High-Level Synthesis

  14. Example • Available function units: ~ multipliers (FUt1) ~ ALUs (FUt2) • Cost: ~ Ct1 = 5 ~ Ct2 = 1 [M-1] High-Level Synthesis

  15. OiЄ FUtk Example • Integer programming formulation (formulas 1,2) minimize 5Mt1 + Mt2 [M-1] High-Level Synthesis

  16. Example • Integer programming formulation (formulas 3,4) O6 O7 O8 O9 O10 O11 [M-1] High-Level Synthesis

  17. Example • Scheduling result -- optimal this formulation  variables x1,1, x2,1, x3,2, x4,3, x5,4, x7,3, x8,3, x9,4, x10,1 & x11,2 => 1  2 multipliers & 2 ALUs [M-1] High-Level Synthesis

  18. Generalizations • Multicycle operations • Multiple operations per cycle • Pipelined data paths • Mutually exclusive operations • Variables’ lifetime consideration [M-1] High-Level Synthesis

  19. - di Multicycle Operations • oi– operation • di– delay for 1 ≤ j ≤ s, 1 ≤ k ≤ m for all oi ok [M-1] High-Level Synthesis

  20. 0 Multiple Operations per Cycle • New precedence relation • oi => oj -- oj is the nearest successor of oi for all oi ok for all oi=> ok [M-1] High-Level Synthesis

  21. Pipelined Data Paths • l:fixed latency (integer multiple of a clock cycle) • | si – sj |: integer multiple of l [M-1] High-Level Synthesis

  22. Mutually Exclusive Operations • If oi, oj – two mutually exclusive operations, X(oi, oj) = 1 otherwise X(oi, oj) = 0 • Both scheduled in control step k • Count function unit cost as 1, not 2 • New 0/1 integer variable yk -- 0 if xi,k = xj,k = 0 -- 1 if otherwise • xi,k + xj,k = yk in constraint (2) [M-1] High-Level Synthesis

  23. Variables’ Lifetime Consideration • Function unit cost for both schedules are the same, but fewer number of registers needed in Fig(a) [M-1] High-Level Synthesis

  24. Variables’ Lifetime Consideration • SLKi,j – difference between the assigned control steps of oi, oj(oi oj) • Minimize total step differences minimize [M-1] High-Level Synthesis

  25. Experimental Results [M-1] High-Level Synthesis

  26. Experimental Results • Fifth order wave filter • Containing 26 addition (1 cycle) &8 multiplication (2 cycles) operations [M-1] High-Level Synthesis

  27. Conclusion • Integer Linear Programming formulation (ILP)  minimize the function unit cost • Quite acceptable for practical synthesis • Always find the optimal solution • Different kinds of data path are taken into account [M-1] High-Level Synthesis

  28. THE END Thanks 

More Related