- 118 Views
- Uploaded on

Download Presentation
## 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### Path-Based Scheduling

Informatics and Mathematical Modelling

Technical University of Denmark

Richard Petersens Plads, Building 322

DK2800 Lyngby, Denmark

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

Bad things:

No support for secondary hardware constraints

- like busses, registers, ports etc.

No smart loop unfolding capabilities

No pipeline scheduling capabilities

No instruction execution reordering supported

[M-1] High Level Synthesis

Download Presentation

Connecting to Server..