List-Based Scheduling - PowerPoint PPT Presentation

About This Presentation
Title:

List-Based Scheduling

Description:

Technical University of Denmark. Richard Petersens Plads, Building ... Multiply is a multicycle operation [M-1] High-Level Synthesis. 21. SoC-MOBINET courseware ... – PowerPoint PPT presentation

Number of Views:30
Avg rating:3.0/5.0
Slides: 22
Provided by: sunefalleg
Category:

less

Transcript and Presenter's Notes

Title: List-Based Scheduling


1
List-Based Scheduling
2
Overview
  • Introduction
  • Related work
  • DFG and WPG
  • ASAP, ALAP and Mobility
  • Solution
  • Algorithm
  • Selection function
  • Extenstions
  • Time complexity
  • Results
  • Conclussion

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

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)

5
DFG and WPG
  • From Data Flow Graph to Weighted Precedence
    Graph

6
ASAP Scheduling
  • Minimum number of cycles with no resource
    limitation

7
ALAP Scheduling
  • Minimum number of cycles with no resource
    limitation

8
Mobility
  • Mobility tells which steps each operation can be
    placed

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

10
Algorithm - pseudu
  • repeat
  • Count1
  • While movable operations
  • select tuple(i, k) with maximum Si(j,k)
  • move Oi to step k
  • lock tuple(i, k)
  • gaincountchange in cost when moving Oi to step k
  • find k that maximizes
  • if(gainmaxgt0)
  • Move operations 1 to k
  • until(gainmaxlt0)

11
Algorithm - example
12
Algorithm - solution
  • Solution to running example

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)
  • (Densityi is the number of functional units at
    step i)

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

15
Selection function
  • Examples of Selection function calculations

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.

17
Time complexity
  • m Number of operations in DFG
  • S Number of control steps
  • n Total number of tuples( maxSm)
  • After each move update cost
  • O(mlog(m))
  • This must be done for all tuples
  • O(nmlog(m))) (Sm2log(m))
  • Practial time complexity (stated by authors)
  • O(nlog(m)) (since n i independant of m)
  • Number of iterations is assumed independent of
    problem

18
Results Example 1
  • Chained operations with the number of cycles less
    than 8

19
Results Example 2
  • Pipelined 16-point FIR filter. 2 types of
    functions units (Multiplier and adder)

20
Results Example 3
  • 5th order elliptic filter with25 additions and 8
    multiplications. Multiply is a multicycle
    operation

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.
Write a Comment
User Comments (0)
About PowerShow.com