Fast and Near Optimal Scheduling In Automatic Data Path

Download Report

Transcript Fast and Near Optimal Scheduling In Automatic Data Path

courseware
List-Based Scheduling
Sune Fallgaard Nielsen
Informatics and Mathematical Modelling
Technical University of Denmark
Richard Petersens Plads, Building 322
DK2800 Lyngby, Denmark
Overview





Introduction
Related work
DFG and WPG
ASAP, ALAP and Mobility
Solution:




Algorithm
Selection function
Extenstions
Time complexity
 Results
 Conclussion
SoC-MOBINET courseware
[M-1] High-Level Synthesis
2
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
SoC-MOBINET courseware
[M-1] High-Level Synthesis
+
*
*
3
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)
SoC-MOBINET courseware
[M-1] High-Level Synthesis
4
DFG and WPG
 From “Data Flow Graph” to “Weighted Precedence Graph”
SoC-MOBINET courseware
[M-1] High-Level Synthesis
5
ASAP Scheduling
 Minimum number of cycles with no resource limitation
SoC-MOBINET courseware
[M-1] High-Level Synthesis
6
ALAP Scheduling
 Minimum number of cycles with no resource limitation
SoC-MOBINET courseware
[M-1] High-Level Synthesis
7
Mobility
 Mobility tells which steps each operation can be
placed
SoC-MOBINET courseware
[M-1] High-Level Synthesis
8
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
SoC-MOBINET courseware
[M-1] High-Level Synthesis
9
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
k
gain max
gain i
if(gainmax>0)
i 1
Move operations 1 to k
}until(gainmax<=0)
SoC-MOBINET courseware
[M-1] High-Level Synthesis
10
Algorithm - example
SoC-MOBINET courseware
[M-1] High-Level Synthesis
11
Algorithm - solution
 Solution to running example
SoC-MOBINET courseware
[M-1] High-Level Synthesis
12
Selection Function
 In each step the selection function
 Causes most balanced distribution of operations
 Reduces number of required functional units.
Si j , k
max Density j , Density k CDG
 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)
SoC-MOBINET courseware
[M-1] High-Level Synthesis
13
Selection function
 “Change in Density Gradient” (CDG)
CDG DG before DG after
CDG Density j Density k
Density j 1
Density k 1
 CDG equals (Only concerns the 2 affected steps)
 2
 0
 -2
Number of functional units decreases by 1
No change in number of functional units needed
Number of functional units increases by 1
SoC-MOBINET courseware
[M-1] High-Level Synthesis
14
Selection function
 Examples of Selection function calculations
SoC-MOBINET courseware
[M-1] High-Level Synthesis
15
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.
SoC-MOBINET courseware
[M-1] High-Level Synthesis
16
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
SoC-MOBINET courseware
[M-1] High-Level Synthesis
17
Results – Example 1
 Chained operations with the number of cycles less
than 8
SoC-MOBINET courseware
[M-1] High-Level Synthesis
18
Results – Example 2
 Pipelined 16-point FIR filter. 2 types of functions
units (Multiplier and adder)
SoC-MOBINET courseware
[M-1] High-Level Synthesis
19
Results – Example 3
 5th order elliptic filter with25 additions and 8
multiplications. Multiply is a multicycle operation
SoC-MOBINET courseware
[M-1] High-Level Synthesis
20
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.
SoC-MOBINET courseware
[M-1] High-Level Synthesis
21