Path-Based Scheduling

1 / 14

# Path-Based Scheduling - PowerPoint PPT Presentation

Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building 322 DK2800 Lyngby, Denmark. Path-Based Scheduling. Overview. Motivation Introduction – Prior work / new paradigm Defining problem and model constraints

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Path-Based Scheduling' - joyceta

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Sune Fallgaard Nielsen

Informatics and Mathematical Modelling

Technical University of Denmark

Richard Petersens Plads, Building 322

DK2800 Lyngby, Denmark

### Path-Based Scheduling

Overview
• Motivation
• Introduction – Prior work / new paradigm
• Defining problem and model constraints
• Solution:
• AFAP Scheduling
• Algorithm
• The scheduling steps using AFAP
• Results
• Conclussion

[M-1] High Level Synthesis

Motivation

Derive a synthesis tool which:

• Minimizes the number of control steps
• Takes constraints into account
• Considers loops and conditional branches

( which no prior work has done )

[M-1] High Level Synthesis

Introduction
• Prior work: scheduling <- minimize cost function
• Cost function:

- Fixed hardware (uP): Number of states

- Hardware syntheses: Number of states + hardware

• Scheduling:

Minimizing the cost function by moving operations around

• Optimal solution:

- Optimal schedule emphasizing concurrency

- Force directed serialization + moving mobile operations

[M-1] High Level Synthesis

Introduction / Problem
• Path-Based Scheduling for Synthesis:
• Forget cost functions!
• Instead: Emphasize on conditional branches, loops
• Minimize number of control steps

- taking constraints into account ( main problem )

• Main problem: Gain advantages from looking at branches

[M-1] High Level Synthesis

Constraints
• Internal constraints:
• Units can only receive and output values once per cycle
• With single phase clock this implies single use per cycle
• External constraints:
• Amount of hardware available:
• Area, units etc.
• Timing constraints

[M-1] High Level Synthesis

AFAP scheduling

AFAP ( As Fast As Possible )

Basic idea:

• Control-flow directed graph- Nodes (ops.). Edges (precedence relations).
• Longest path: Max number of operations. Cycles only traversed once (%loop unfolding)
• Scheduling: Put as many operations into one control step as possible in all possible paths.

Goal: Finite State Machine to implement control

[M-1] High Level Synthesis

AFAP Scheduling for a single path

AFAP Sch. for a single path ( no loops/branches )

• Longest path is computed
• For every path constraints are computed (variables, IOs, func. Units, max delay) and “Cut”s are lain in according to constraints
• Interval graph is formed with cliques (complete subgraph of all poss. edges)
• Cuts an cliques are stored for later processing

[M-1] High Level Synthesis

AFAP Scheduling for a single path

[M-1] High Level Synthesis

AFAP – The algorithm

The four steps to Nirvana ( or something ):

• Transform the control flow graph into a directed acyclic graph (DAG)
• All paths in the DAG are scheduled AFAP
• Schedules are overlapped in a way to minimize the number of control steps
• The finite state machine is built.

[M-1] High Level Synthesis

AFAP – Example

[M-1] High Level Synthesis

Building finite state machine

Trivial finite state machine design:

• Overlapping of intervals to form states (same cut -> same state)
• Construct state transitions (figure out control signals for each state)
• Construct state transition conditions (rules for looping, waiting etc)

[M-1] High Level Synthesis

Results
• Comparison is difficult since goals are different.
• Different compiler machines used

[M-1] High Level Synthesis

Conclusion: Good things / bad things

Good things:

Real life examples

Good results