Integer Linear Programming approach to Scheduling - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Integer Linear Programming approach to Scheduling

Description:

Multicycle operations. Multiple operations per cycle. Pipelined data paths ... Multicycle Operations. oi. operation. di. delay. for 1 j s, 1 k m. for all oi ... – PowerPoint PPT presentation

Number of Views:139
Avg rating:3.0/5.0
Slides: 29
Provided by: win9177
Category:

less

Transcript and Presenter's Notes

Title: Integer Linear Programming approach to Scheduling


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

3
The New Approach
  • Solve scheduling problem
  • 1) ASAP -gt start time
  • 2) ALAP -gt require time
  • 3) ILP (Integer Linear Programming)

4
Objective
  • Fully utilize the hardware resources
  • i.e. minimize the requirement of function units
    under a given timing constraint

5
Support different kinds of data path
  • Multicycle operations
  • Multiple operations per cycle
  • Pipelined data paths
  • Mutually exclusive operations
  • Variables lifetime consideration

6
Automated Data Path Synthesis
  • Scheduling
  • Allocation
  • ? Tightly interdependent

7
Scheduling
  • very important
  • FIX
  • 1) number types of function units
  • 2) lifetime of variables
  • 3) timing constraints

8
The New Approach
  • 1) ASAP
  • 2) ALAP
  • 3) ILP (Integer Linear Programming)
  • Function Units
  • Fully utilized
  • minimize maximal no.

9
The ILP Formulation
  • 2 Assumptions
  • Each operation
  • 1 cycle propagation delay
  • Consider non-pipelined data path

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

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

12
Formulas (1,2)
  • Minimize total function unit cost
  • No control step should contain more than Mtk
    function unit of type tk

for 1 j s, 1 k m
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
14
Example
  • Available function units
  • multipliers (FUt1)
  • ALUs (FUt2)
  • Cost
  • Ct1 5
  • Ct2 1

15
Example
  • Integer programming formulation (formulas 1,2)

minimize 5Mt1 Mt2
16
Example
  • Integer programming formulation (formulas 3,4)

O6 ? O7
O8 ? O9
O10 ? O11
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 gt 1
  • ? 2 multipliers
  • 2 ALUs

18
Generalizations
  • Multicycle operations
  • Multiple operations per cycle
  • Pipelined data paths
  • Mutually exclusive operations
  • Variables lifetime consideration

19
Multicycle Operations
  • oi operation
  • di delay

for 1 j s, 1 k m
for all oi ? ok
20
Multiple Operations per Cycle
  • New precedence relation
  • oi gt oj
  • -- oj is the nearest successor of oi

for all oi ? ok
for all oi gt ok
21
Pipelined Data Paths
  • l fixed latency (integer multiple of a clock
    cycle)
  • si sj integer multiple of l

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)

23
Variables Lifetime Consideration
  • Function unit cost for both schedules are the
    same, but fewer number of registers needed in
    Fig(a)

24
Variables Lifetime Consideration
  • SLKi,j difference between the assigned control
    steps of oi, oj(oi ? oj)
  • Minimize total step differences

minimize
25
Experimental Results
26
Experimental Results
  • Fifth order wave filter
  • Containing 26 addition (1 cycle) 8
    multiplication (2 cycles) operations

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

28
THE END
  • Thanks ?
Write a Comment
User Comments (0)
About PowerShow.com