SlideServe
Menu
Préférences
© SlideServe · v2026

Path-Based Scheduling

yul avatar
14 diapositives · 296 Views · Oct 11, 2014

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

Path-Based Scheduling - slide 1
01 / 14Path-Based Scheduling
1 / 17

Télécharger la présentation

Path-Based Scheduling
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building 322 DK2800 Lyngby, Denmark Path-Based Scheduling

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. AFAP Scheduling for a single path [M-1] High Level Synthesis

  10. 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

  11. AFAP – Example [M-1] High Level Synthesis

  12. 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

  13. Results • Comparison is difficult since goals are different. • Different compiler machines used [M-1] High Level Synthesis

  14. 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