# Courseware Integer Linear Programming approach to Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark.

## Presentation on theme: "Courseware Integer Linear Programming approach to Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark."— Presentation transcript:

courseware 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

SoC-MOBINET courseware[M-1] High-Level Synthesis2 Outline  Introduction - The new approach & objective - Automated data path synthesis  ILP Formulation  Example  Generalizations  Experimental Results  Conclusion

SoC-MOBINET courseware[M-1] High-Level Synthesis3 The New Approach  Solve scheduling problem 1) ASAP -> start time 2) ALAP -> require time 3) ILP (Integer Linear Programming)

SoC-MOBINET courseware[M-1] High-Level Synthesis4 Objective  Fully utilize the hardware resources i.e. minimize the requirement of function units under a given timing constraint

SoC-MOBINET courseware[M-1] High-Level Synthesis5 Support different kinds of data path  Multicycle operations  Multiple operations per cycle  Pipelined data paths  Mutually exclusive operations  Variables’ lifetime consideration

SoC-MOBINET courseware[M-1] High-Level Synthesis6 Automated Data Path Synthesis  Scheduling  Allocation  Tightly interdependent

SoC-MOBINET courseware[M-1] High-Level Synthesis7 Scheduling  ** very important  FIX 1) number & types of function units 2) lifetime of variables 3) timing constraints

SoC-MOBINET courseware[M-1] High-Level Synthesis8 The New Approach 1) ASAP 2) ALAP 3) ILP (Integer Linear Programming) Function Units:  Fully utilized  minimize maximal no.

SoC-MOBINET courseware[M-1] High-Level Synthesis9 The ILP Formulation 2 Assumptions:  Each operation – 1 cycle propagation delay  Consider non-pipelined data path

SoC-MOBINET courseware[M-1] High-Level Synthesis10 Data Flow Graph  n operations  s steps  o i – each operation 1 ≤ i ≤ n  o i  o j – precedence relation o i immediate predecessor of o j  m types of function units

SoC-MOBINET courseware[M-1] High-Level Synthesis11  S i – start time (ASAP)  L i – require time (ALAP)  C t i – cost of function unit of type t i (FU t i )  M t i – number of function unit of type t i  x i,j – 1: if o i is scheduled into step j 0: otherwise

SoC-MOBINET courseware[M-1] High-Level Synthesis12 Formulas (1,2)  Minimize total function unit cost O i Є FU t k for 1 ≤ j ≤ s, 1 ≤ k ≤ m  No control step should contain more than M t k function unit of type t k

SoC-MOBINET courseware[M-1] High-Level Synthesis13 Formulas (3,4)  o i can only be scheduled into a step between S i & L i for all o i  o k for 1 ≤ i ≤ n  Ensure the precedence relations of DFG will be preserved

SoC-MOBINET courseware[M-1] High-Level Synthesis14 Example  Available function units: ~ multipliers (FU t 1 ) ~ ALUs (FU t 2 )  Cost: ~ C t 1 = 5 ~ C t 2 = 1

SoC-MOBINET courseware[M-1] High-Level Synthesis15 Example  Integer programming formulation (formulas 1,2) minimize 5Mt 1 + Mt 2 O i Є FU t k

SoC-MOBINET courseware[M-1] High-Level Synthesis16 Example  Integer programming formulation (formulas 3,4) O 6  O 7 O 8  O 9 O 10  O 11

SoC-MOBINET courseware[M-1] High-Level Synthesis17 Example  Scheduling result -- optimal this formulation  variables x 1,1, x 2,1, x 3,2, x 4,3, x 5,4, x 7,3, x 8,3, x 9,4, x 10,1 & x 11,2 => 1  2 multipliers & 2 ALUs

SoC-MOBINET courseware[M-1] High-Level Synthesis18 Generalizations  Multicycle operations  Multiple operations per cycle  Pipelined data paths  Mutually exclusive operations  Variables’ lifetime consideration

SoC-MOBINET courseware[M-1] High-Level Synthesis19 Multicycle Operations  o i – operation  d i – delay for 1 ≤ j ≤ s, 1 ≤ k ≤ m for all o i  o k - d i

SoC-MOBINET courseware[M-1] High-Level Synthesis20 Multiple Operations per Cycle  New precedence relation  oi => oj -- oj is the nearest successor of oi for all o i => o k for all o i  o k 0

SoC-MOBINET courseware[M-1] High-Level Synthesis21 Pipelined Data Paths  l: fixed latency (integer multiple of a clock cycle)  | s i – s j |: integer multiple of l

SoC-MOBINET courseware[M-1] High-Level Synthesis22 Mutually Exclusive Operations  If o i, o j – two mutually exclusive operations,X(o i, o j ) = 1 otherwise X(o i, o j ) = 0  Both scheduled in control step k  Count function unit cost as 1, not 2  New 0/1 integer variable y k -- 0 if x i,k = x j,k = 0 -- 1 if otherwise  x i,k + x j,k = y k in constraint (2)

SoC-MOBINET courseware[M-1] High-Level Synthesis23 Variables’ Lifetime Consideration  Function unit cost for both schedules are the same, but fewer number of registers needed in Fig(a)

SoC-MOBINET courseware[M-1] High-Level Synthesis24 Variables’ Lifetime Consideration  SLK i,j – difference between the assigned control steps of o i, o j (o i  o j )  Minimize total step differences minimize

SoC-MOBINET courseware[M-1] High-Level Synthesis25 Experimental Results

SoC-MOBINET courseware[M-1] High-Level Synthesis26 Experimental Results  Fifth order wave filter  Containing 26 addition (1 cycle) & 8 multiplication (2 cycles) operations

SoC-MOBINET courseware[M-1] High-Level Synthesis27 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

courseware THE END Thanks

Download ppt "Courseware Integer Linear Programming approach to Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark."

Similar presentations