Courseware List-Based Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads,

Slides:



Advertisements
Similar presentations
Primal-dual Algorithm for Convex Markov Random Fields Vladimir Kolmogorov University College London GDR (Optimisation Discrète, Graph Cuts et Analyse d'Images)
Advertisements

Mani Srivastava UCLA - EE Department Room: 6731-H Boelter Hall Tel: WWW: Copyright 2003.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 19: November 21, 2005 Scheduling Introduction.
ECE 667 Synthesis and Verification of Digital Circuits
Linear Programming (LP) (Chap.29)
Courseware Integer Linear Programming approach to Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sequential Synthesis.
Introduction to Algorithms Rabie A. Ramadan rabieramadan.org 2 Some of the sides are exported from different sources.
Chapter 4 Retiming.
Courseware Scheduling of Distributed Real-Time Systems Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens.
1.1 Data Structure and Algorithm Lecture 6 Greedy Algorithm Topics Reference: Introduction to Algorithm by Cormen Chapter 17: Greedy Algorithm.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 14: March 3, 2004 Scheduling Heuristics and Approximation.
Optimization : The min and max of a function
ICS-171:Notes 4: 1 Notes 4: Optimal Search ICS 171 Summer 1999.
Introduction to Data Flow Graphs and their Scheduling Sources: Gang Quan.
Winter 2005ICS 252-Intro to Computer Design ICS 252 Introduction to Computer Design Lecture 5-Scheudling Algorithms Winter 2005 Eli Bozorgzadeh Computer.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 10: RC Principles: Software (3/4) Prof. Sherief Reda.
Modern VLSI Design 3e: Chapter 10 Copyright  2002 Prentice Hall Adapted by Yunsi Fei ECE 300 Advanced VLSI Design Fall 2006 Lecture 24: CAD Systems &
FPGA Latency Optimization Using System-level Transformations and DFG Restructuring Daniel Gomez-Prado, Maciej Ciesielski, and Russell Tessier Department.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Hardware/Software Codesign.
Lectures on Network Flows
1 Minimum Ratio Contours For Meshes Andrew Clements Hao Zhang gruvi graphics + usability + visualization.
Planning under Uncertainty
Jonathan Richard Shewchuk Reading Group Presention By David Cline
Carnegie Mellon 1 Maximum Likelihood Estimation for Information Thresholding Yi Zhang & Jamie Callan Carnegie Mellon University
Totally Unimodular Matrices Lecture 11: Feb 23 Simplex Algorithm Elliposid Algorithm.
ECE Synthesis & Verification - Lecture 2 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Scheduling.
1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.
Courseware Path-Based Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads,
Motion Analysis (contd.) Slides are from RPI Registration Class.
ECE Synthesis & Verification - Lecture 3 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Scheduling.
Courseware High-Level Synthesis an introduction Prof. Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens.
Pipelining and Retiming 1 Pipelining  Adding registers along a path  split combinational logic into multiple cycles  increase clock rate  increase.
Simulated-Annealing-Based Solution By Gonzalo Zea s Shih-Fu Liu s
Courseware Force-Directed Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads,
Tracking Moving Objects in Anonymized Trajectories Nikolay Vyahhi 1, Spiridon Bakiras 2, Panos Kalnis 3, and Gabriel Ghinita 3 1 St. Petersburg State University.
Hidden Markov Model: Extension of Markov Chains
EDA (CS286.5b) Day 11 Scheduling (List, Force, Approximation) N.B. no class Thursday (FPGA) …
Courseware Basics of Real-Time Scheduling Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building.
An Adaptive Multi-Objective Scheduling Selection Framework For Continuous Query Processing Timothy M. Sutherland Bradford Pielech Yali Zhu Luping Ding.
ICS 252 Introduction to Computer Design
ECE Synthesis & Verification - LP Scheduling 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Scheduling Algorithms Analytical approach.
VLSI DSP 2008Y.T. Hwang3-1 Chapter 3 Algorithm Representation & Iteration Bound.
ECE Synthesis & Verification 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Retiming.
Optimization Methods One-Dimensional Unconstrained Optimization
Introduction to Data Flow Graphs and their Scheduling Sources: Gang Quan.
Universität Dortmund  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Hardware/software partitioning  Functionality to be implemented in software.
Normalised Least Mean-Square Adaptive Filtering
Authors: Bhavana Bharat Dalvi, Meghana Kshirsagar, S. Sudarshan Presented By: Aruna Keyword Search on External Memory Data Graphs.
Vilalta&Eick: Informed Search Informed Search and Exploration Search Strategies Heuristic Functions Local Search Algorithms Vilalta&Eick: Informed Search.
Internet Traffic Engineering by Optimizing OSPF Weights Bernard Fortz (Universit é Libre de Bruxelles) Mikkel Thorup (AT&T Labs-Research) Presented by.
Minimum Cost Flows. 2 The Minimum Cost Flow Problem u ij = capacity of arc (i,j). c ij = unit cost of shipping flow from node i to node j on (i,j). x.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 12: February 13, 2002 Scheduling Heuristics and Approximation.
Exact methods for ALB ALB problem can be considered as a shortest path problem The complete graph need not be developed since one can stop as soon as in.
A Graph Based Algorithm for Data Path Optimization in Custom Processors J. Trajkovic, M. Reshadi, B. Gorjiara, D. Gajski Center for Embedded Computer Systems.
1 Iterative Integer Programming Formulation for Robust Resource Allocation in Dynamic Real-Time Systems Sethavidh Gertphol and Viktor K. Prasanna University.
Operational Research & ManagementOperations Scheduling Economic Lot Scheduling 1.Summary Machine Scheduling 2.ELSP (one item, multiple items) 3.Arbitrary.
L12 : Lower Power High Level Synthesis(3) 성균관대학교 조 준 동 교수
A Hardware Accelerator for the Fast Retrieval of DIALIGN Biological Sequence Alignments in Linear Space Author: Azzedine Boukerche, Jan M. Correa, Alba.
Pipelined and Parallel Computing Partition for 1 Hongtao Du AICIP Research Nov 3, 2005.
15.082J & 6.855J & ESD.78J September 30, 2010 The Label Correcting Algorithm.
Example Apply hierarchical clustering with d min to below data where c=3. Nearest neighbor clustering d min d max will form elongated clusters!
Artificial Intelligence in Game Design Lecture 20: Hill Climbing and N-Grams.
Scheduling Determines the precise start time of each task.
Finding a Path With Largest Smallest Edge
The minimum cost flow problem
Lectures on Network Flows
ICS 252 Introduction to Computer Design
Fast Min-Register Retiming Through Binary Max-Flow
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

courseware List-Based Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building 322 DK2800 Lyngby, Denmark

SoC-MOBINET courseware[M-1] High-Level Synthesis2 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 Synthesis3 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 Synthesis4 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 Synthesis5 DFG and WPG  From “Data Flow Graph” to “Weighted Precedence Graph”

SoC-MOBINET courseware[M-1] High-Level Synthesis6 ASAP Scheduling  Minimum number of cycles with no resource limitation

SoC-MOBINET courseware[M-1] High-Level Synthesis7 ALAP Scheduling  Minimum number of cycles with no resource limitation

SoC-MOBINET courseware[M-1] High-Level Synthesis8 Mobility  Mobility tells which steps each operation can be placed

SoC-MOBINET courseware[M-1] High-Level Synthesis9 Algorithm - overview  Starts from ASAP/ALAP  Iteratively moves operations based on selection function S i (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 Synthesis10 Algorithm - pseudu repeat{ Count=1 While movable operations{ select tuple(i, k) with maximum S i (j,k) move O i to step k lock tuple(i, k) gain count =change in cost when moving O i to step k } find k that maximizes if(gain max >0) Move operations 1 to k }until(gain max <=0)

SoC-MOBINET courseware[M-1] High-Level Synthesis11 Algorithm - example

SoC-MOBINET courseware[M-1] High-Level Synthesis12 Algorithm - solution  Solution to running example

SoC-MOBINET courseware[M-1] High-Level Synthesis13 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 O i 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 Synthesis14 Selection function  “Change in Density Gradient” (CDG)  CDG equals (Only concerns the 2 affected steps)  2Number of functional units decreases by 1  0No change in number of functional units needed  -2Number of functional units increases by 1

SoC-MOBINET courseware[M-1] High-Level Synthesis15 Selection function  Examples of Selection function calculations

SoC-MOBINET courseware[M-1] High-Level Synthesis16 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 Synthesis17 Time complexity mNumber of operations in DFG SNumber of control steps nTotal 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))) = (Sm 2 *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 Synthesis18 Results – Example 1  Chained operations with the number of cycles less than 8

SoC-MOBINET courseware[M-1] High-Level Synthesis19 Results – Example 2  Pipelined 16-point FIR filter. 2 types of functions units (Multiplier and adder)

SoC-MOBINET courseware[M-1] High-Level Synthesis20 Results – Example 3  5 th order elliptic filter with25 additions and 8 multiplications. Multiply is a multicycle operation

SoC-MOBINET courseware[M-1] High-Level Synthesis21 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.